1. Trang chủ
  2. » Công Nghệ Thông Tin

CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 7 ppsx

23 390 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 614,13 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một số yêu cầu về tính tiện dụng cơ bản của một giải pháp công nghệ thông tin bao gồm : ¾ Tính tuỳ biến : Cho phép người dùng khả năng tuỳ biến giao diện và các thành phần của nó để tối

Trang 1

các yêu cầu cần thiết về môi trường thực thi của ứng dụng để tìm các host thích hợp Các nhà phát triển cũng nên quan tâm đến các yếu tố như về môi trường thực thi, tính khả chuyển của ngôn ngữ lập trình, hệ điều hành, … để tăng số lượng các host mà ứng dụng có thể thực thi

4.2.10 Định dạng fi e

Các thông tin về định dạng file rất hữu ích khi kết quả của ứng dụng chạy trên một host được truy xuất bởi ứng dụng chạy trên một host khác Các host có thể chạy các nền tảng phần mềm khác nhau, do đó nên sử dụng định dạng XML để trao đổi

dữ liệu

4.2.11 Việc cài đặt hệ thống

Một giải pháp Grid cần đưa ra một cách thức cài đặt dễ dàng, tự động cho những người không chuyên về kỹ thuật với các khả năng chỉnh sửa các kịch bản (script), biên dịch lại phần mềm, … Quá trình cài đặt nên được thiết kế giống nhau bất chấp khả năng phải cài đặt trên các tài nguyên đa dạng hỗn tạp về hệ điều hành hoặc cấu hình

4.2.12 Vấn đề thông tin Grid

Trạng thái của Grid phải luôn được cung cấp để theo dõi, kiểm soát các hoạt động của Grid Việc này có thể bao gồm các chỉ số cho biết tải hiện hành, mức độ

sử dụng tài nguyên, số lượng công việc đang chạy, số lượng công việc trong hàng đợi, trạng thái các host, số tài nguyên hiện còn, các tài nguyên đã được giữ chỗ, có thể thông báo các nút cổ chai, các điểm xảy ra vấn đề, …

4.2.13 Tính tiện dụng

Mặc dù phần lớn các giải pháp Grid đều tập trung vào cơ sở hạ tầng và các middleware, nhưng cũng rất hữu ích khi quan tâm đến khía cạnh sử dụng của giải pháp trong khi thiết kế

+ Các yêu cầu truyền thống về tính tiện lợi

Trang 2

Các yêu cầu này tập trung vào các tiêu chí giúp người dùng sử dụng hệ thống

dễ dàng, thuận tiện hơn Các tiêu chí này bao gồm các hoạt động giao tiếp người dùng, hiển thị, các hoạt động khác cho phép người dùng làm việc hiệu quả, thoả mãn với hệ thống

Một số yêu cầu về tính tiện dụng cơ bản của một giải pháp công nghệ thông tin bao gồm :

¾ Tính tuỳ biến : Cho phép người dùng khả năng tuỳ biến giao diện và

các thành phần của nó để tối ưu việc sử dụng dựa theo dạng công việc, sở thích cá nhân, kinh nghiệm sử dụng, ngôn ngữ,…

¾ Tính hiệu quả : Đơn giản hóa các thao tác của từng tác vụ, tạo điều

kiện cho người dùng hoàn thành tác vụ càng nhanh càng tốt

+ Các yêu cầu về tính tiện dụng của một giải pháp Grid

Một giải pháp Grid phải đạt được các yêu cầu về tính tiện dụng cho nhiều loại người dùng khác nhau như :

¾ Người dùng cuối : Đăng nhập vào Grid, gọi thực thi ứng dụng, truy

vấn các trạng thái, và xem kết quả trả về

¾ Chủ/người dùng của các máy tính tham gia Grid

¾ Các nhà quản trị hệ thống

4.3 Thiết kế tổng quan

Sau khi xem xét, đặc tả các yêu cầu cần thiết của một ứng dụng Grid, cần thiết phải phân tích, xây dựng một mô hình tổng quan hệ thống nhằm xác định các thành phần cơ bản của hệ thống Khi đã chọn việc xây dựng hệ thống với Globus Toolkit, thiết kế nên tận dụng triệt để các chức năng đã được cung cấp sẵn của bộ toolkit Nhà phát triển chỉ cần xây dựng các chức năng của ứng dụng trên các chức năng có sẵn của Globus

Phần này trình bày các vấn đề cơ bản trong thiết kế ứng dụng với GT3 theo mô hình OGSA Như đã biết, GT3 cũng cung cấp các chức năng để xây dựng ứng dụng không theo chuẩn OGSA, việc xây dựng ứng dụng với các chức năng này cũng có thể tham khảo các thông tin trình bày trong phần này và các phần sau đó

Trang 3

Để xây dựng ứng dụng, trước hết cần xác định hết tất cả các service của hệ thống, bao gồm các service cần cung cấp ra bên ngoài, các service hỗ trợ hoạt động của hệ thống Cần xác định hết các phương thức (tham số và kiểu trả về), dữ liệu của service (SDE), các cơ chế thông báo, chu kỳ sống của service cũng như các kịch bản trao đổi, sử dụng giữa các service Khi đã có mô hình các service và cách thức liên lạc giữa chúng, cần kiểm tra, chỉnh sửa để mô hình đáp ứng được các yêu cầu chức năng, phi chức năng của ứng dụng

Sau khi hoàn thành mô hình tổng quan, việc tiếp theo là thiết kế chi tiết hoạt động của các service

4.4 Một số vấn đề cần quan tâm trong thiết kế chi tiết và viết mã

Việc thiết kế, viết mã cho ứng dụng Grid cũng tương tự như cho các ứng dụng truyền thống Phần này trình bày một số vấn đề cần quan tâm khi thiết kế chi tiết hoạt động, viết mã của một ứng dụng Grid Dưới đây là một số khái niệm được dùng trong phần này:

¾ Ứng dụng Grid (Grid Application) : Là một tập các công việc để giải quyết

các vấn đề cụ thể hoặc để đạt đến một kết quả mong đợi bằng các sử dụng hạ tầng Grid

¾ Công việc (Job): Là một đơn vị cơ sở trong ứng dụng Grid, thường được

yêu cầu thực thi trên một node của Grid, có các tập dữ liệu đầu vào và đầu ra cùng với các yêu cầu về môi trường thực thi để hoàn thành nhiệm vụ của nó Một công việc có thể chạy một hay nhiều tiến trình trên một host

¾ Trình sản xuất/tiêu thụ dữ liệu (Data Producer/Consumer) : Các công

việc tạo ra dữ liệu kết quả được gọi là trình sản xuất dữ liệu, và các công việc nhận vào dữ liệu được gọi là trình tiêu thụ dữ liệu

Trang 4

4.4.1 Kiến trúc ứng dụng

Phần này sẽ xem xét các luồng công việc trong một ứng dụng Grid Một ứng dụng Grid có thể có rất nhiều công việc Các ứng dụng truyền thống được thực thi trong một môi trường với các tài nguyên đã biết trước, ở đây chúng ta sẽ xem xét việc một ứng dụng chạy trong một môi trường nơi mà các tài nguyên được cấp phát động theo nhu cầu Nếu muốn sử dụng đồng loạt các tài nguyên Grid, chúng ta cần xem xét việc xử lý dữ liệu có thể được thực hiện song song hay không, hay phải thực hiện tuần tự và một công việc có cần phải chờ lấy dữ liệu từ một công việc khác hay không Kết quả là chúng ta sẽ có một mạng các tiến trình trong ứng dụng Khi thiết kế cần xem xét các luồng công việc mà chọn giải pháp thiết kế tối ưu

Ở đây chúng ta cần phân biệt hai khái niệm : luồng ứng dụng (application flow)

và luồng công việc (job flow) Luồng ứng dụng là trình tự thực thi các công việc tạo nên ứng dụng, trình tự thực thi các xử lý trong nội bộ công việc được gọi là luồng công việc Có 3 kiểu luồng ứng dụng cơ bản : Song song, tuần tự và mạng

+ Luồng song song (parallel flow)

Nếu một ứng dụng có nhiều công việc có thể được thực thi song song, một Grid rất thích hợp để thực thi ứng dụng hiệu quả trên các node dành riêng, đặc biệt trong trường hợp không có (hoặc có rất ít) việc trao đổi dữ liệu của các công việc

Từ một công việc khởi đầu, các công việc sẽ đồng loạt được gửi đi và yêu cầu thực thi trên các node được chọn trước hoặc được cấp phát động trong Grid Mỗi công việc có thể nhận các dữ liệu dành riêng cho mình, thực hiện tính toán một cách độc lập rồi gửi kết quả về Các kết quả được tập hợp bởi một công việc khác hay lưu trữ vào cơ sở dữ liệu Các dịch vụ của Grid như broker hay trình lập lịch, có thể được

sử dụng để gửi thực thi mỗi công việc vào thời điểm và địa điểm tốt nhất trong Grid Hình 4-1 mô tả luồng ứng dụng song song :

Trang 5

Hình 4-1 Luồng ứng dụng song song.

Với một vấn đề hay một ứng dụng, rất hữu ích khi tách nó ra thành các đơn

vị độc lập nhỏ hơn Để tận dụng được ích lợi của việc thực thi song song, khi thiết

kế, nên phân tích các nhiệm vụ trong ứng dụng xem chúng có thể tách thành các đơn vị cơ sở có thể chạy như các công việc được không Các trường hợp như có thể tách nhỏ tập dữ liệu của một công việc và việc xử lý tập con này không phụ thuộc

và tập con khác hoặc khi có một công việc không cần kết quả từ công việc khác cũng thuộc dạng luồng song song

+ Luồng tuần tự (Serial flow)

Trái ngược với luồng ứng dụng song song Trong trường hợp này, như trên hình 4-2, chỉ có một dãy các công việc, mỗi công việc phải chờ công việc trước đó kết thúc và sử dụng kết quả từ công việc trước

Trang 6

dụng một tài nguyên đặc biệt nào đó, nó có thể được cung cấp tài nguyên đặc biệt

đó trong khi các công việc khác có thể được thực thi trên các tài nguyên bình thường có chi phí thấp

Khả năng thực thi các công việc trên nhiều tài nguyên khác nhau cũng làm tăng tính sẵn sàng và độ tin cậy của ứng dụng Bên cạnh đó, cũng làm tăng khả năng chịu đựng của ứng dụng thông qua việc có thể sử dụng các tài nguyên cần thiết theo nhu cầu

+ Luồng mạng (Networked Flow)

Trong nhiều trường hợp, mọi thứ phức tạp hơn rất nhiều Các công việc cụ thể có thể thực thi song song nhưng cũng vẫn có sự phụ thuộc giữa chúng, như thấy trên hình 4-3 Các kỹ thuật sau có thể áp dụng để giải quyết vấn đề

Hình 4-3 Luồng ứng dụng mạng.

1 Loose coupling (Giảm bớt sự phụ thuộc)

Kỹ thuật này cần có thêm một dịch vụ quản lý luồng ứng dụng để đồng

bộ các công việc, sẽ làm giảm việc trao đổi liên tiến trình và làm giảm quá tải trên Grid

Với những ứng dụng dạng này, cần phân tích kỹ để xác định cách tốt nhất

để tách ứng dụng thành các công việc nhỏ hơn nhằm tăng tính song song Ở đây cũng cần phải đưa vào Grid các dịch vụ mới như broker hay trình lập lịch Có thể phải tốn thêm chi phí bước đầu, nhưng khi mọi thứ đã ổn định, ứng dụng có thể được hưởng lợi lớn từ một môi trường tính toán ảo mềm dẻo và tối ưu

2 Jobs and sub-jobs (Công việc và các công việc con)

Trang 7

Một hướng tiếp cận khác để làm đơn giản việc quản lý các công việc trong một ứng dụng là sử dụng mô hình phân cấp các công việc Một công việc

có thể sử dụng các dịch vụ của Grid để thực thi các công việc con của mình Với dạng này, ứng dụng nên được phân hoạch và thiết kế sao cho các công việc cấp cao có các khả năng tìm kiếm tài nguyên và thực thi các công việc con của mình một cách tối ưu nhất Sẽ có rất nhiều lợi ích đối với các ứng dụng lớn, phức tạp khi phân lập và chuyển quyền điều khiển, quản trị các nhiệm vụ cụ thể cho các thành phần độc lập

4.4.2 Xem xét sử dụng ngôn ngữ lập trình

Khi một ứng dụng được phát triển, câu hỏi nên sử dụng ngôn ngữ lập trình nào được đặt ra Trong môi trường Grid, cần thực hiện thêm một số cân nhắc Các công việc dành cho tính toán toán hiệu năng cao (high-performance computing) thường được viết bằng ngôn ngữ C hoặc Fortran Thời gian thực thi của các công việc này không đóng vai trò quan trọng trong ứng dụng, nhưng toàn bộ nội dung và các nhiệm vụ quan trọng thường được viết bằng các ngôn ngữ khác như Java hay các ngôn ngữ kịch bản như Perl

Trong Grid, có thể lựa chọn các ngôn ngữ khác nhau để xây dựng các phần của ứng dụng, dựa trên các yêu cầu của từng công việc và tính sẵn sàng của tài nguyên Một số tiêu chí chủ yếu cần quan tâm :

+ Các thư viện/module thực thi

Trang 8

Dựa theo ngôn ngữ và cách liên kết chương trình, có thể có các yêu cầu về sự tồn tại các thư viện liên kết động hay các module khác trong thời gian thực thi công việc Do đó cần đảm bảo các thư viện, module cần thiết phải nằm trên tài nguyên đích

+ Giao diện giao tiếp với hạ tầng Grid

Nếu công việc cần giao tiếp với hạ tầng Grid, như Globus Toolkit, việc lựa chọn ngôn ngữ phụ thuộc vào ngôn ngữ được hạ tầng Grid hỗ trợ Lúc đầu GT chỉ

hỗ trợ ngôn ngữ C, nhưng hiện nay thông qua dự án CoG Kit, đã có các hàm API hỗ trợ các ngôn ngữ khác như Java, Perl, …

4.4.3 Vấn đề phụ thuộc của công việc vào môi trường hệ thống

Một ứng dụng Grid có thể không cần môi trường thực thi đa dạng hỗn tạp, tuy nhiên cần xem xét một số vấn đề để có thể triển khai tốt nhất hệ thống Với mỗi công việc, các yếu tố môi trường sau đây có thể ảnh hưởng đến hoạt động Khi phát triển một ứng dụng, cần xem xét các yếu tố này để thiết kế càng độc lập càng tốt với các yếu tố này

¾ Yếu tố quan trọng nhất là phiên bản hệ điều hành, các thiết lập tham số cần thiết để thực thi công việc, việc phụ thuộc vào các dịch vụ hệ thống hay các chương trình phụ trợ khác như registry Cần xem xét liệu ứng dụng Grid có khả năng chạy các công việc của nó trên bất kỳ node nào với các hệ điều hành khác nhau hay bị giới hạn trên một hệ điều hành nhất định

¾ Kích thước bộ nhớ chính cần thiết cho công việc có thể giới hạn số lượng các node có khả năng thi nó Kích thước bộ nhớ có sẵn không những phụ thuộc vào kích thước vật lý của nó trên node, mà còn phụ thuộc vào kích thước mà hệ điều hành cho phép trong thời gian thực thi

¾ Các thư viện liên kết động (DLL) được liên kết với công việc cần phải có sẵn trên node hoặc có thể được di chuyển đến và cài đặt trên node trước khi công việc được thực thi

Trang 9

¾ Các cấu hình trình biên dịch trên các node có thể rất khác nhau ví

dụ các hệ thống khác nhau có thể sử dụng định dạng số khác nhau như thứ tự các bit, số byte dùng để biểu diễn số nguyên và số thực khác nhau trên các hệ thống có thể khiến công việc không thể thực thi được

¾ Cần phải có môi trường thực thi sẵn sàng để thực thi công việc Ví

dụ, việc triển khai phiên bản JDK cần thiết cần phải được lên kế hoạch và thực hiện

¾ Các công việc có thể cần các thiết bị phần cứng để thực thi nhiệm

vụ của mình Ví dụ, các yêu cầu về thiết bị lưu trữ, đo đạc và các thiết bị đầu cuối khác cần phải được xem xét khi xây dựng ứng dụng và lên kế hoạch cho hạ tầng Grid

¾ … Khi phát triển ứng dụng, các yếu tố trên cần phải được xem xét để tránh quá nhiều các giới hạn khi thực thi công việc Có một lượng lớn các giới hạn cũng có nghĩa là số lượng các node mà công việc có thể thực thi trên đó ít đi Do đó cần phải loại bỏ các giới hạn trên càng nhiều càng tốt để công việc có thể chạy trên môi trường càng tổng quát càng tốt

4.4.4 Đồ hình công việc

Cần phải có các thiết kế về kiến trúc để giải quyết vấn đề về đồ hình công việc

và dữ liệu Khi xem xét, một số yếu tố chính sau đây cần phải được chú ý:

¾ Các công việc có thể hoặc phải chạy ở đâu ?

¾ Làm sao để có thể phân tán và triển khai chúng thông qua hệ thống mạng ?

¾ Làm sao đóng gói chúng với các dữ liệu cần thiết ?

¾ Nơi nào trong mạng lưu trữ mã thực thi của công việc ?

¾ Làm sao để xác định được node thích hợp để có thể thực thi các công việc cụ thể?

¾ Vị trí của của dữ liệu và các điều kiện truy xuất cho công việc

¾ Kích thước dữ liệu được công việc xử lý

¾ Các giao diện cần thiết để tương tác với các thiết bị

Trang 10

¾ Các liên lạc liên tiến trình cần thiết để công việc có thể hoàn thành nhiệm vụ của mình

¾ Tính sẵn sàng và các giá trị hiệu năng của mỗi node trong thời gian thực thi

¾ Kích thức mã thực thi của công việc và khả năng di chuyển chúng trong hệ thống

¾ …

Khi phát triển ứng dụng Grid, có thể không cần biết hết tất cả các thông tin về

đồ hình Grid, tuy nhiên, đặc biệt là trong trường hợp một IntraGrid cần phải được xây dựng để hỗ trợ một nhóm các ứng dụng đặc biệt, các thông tin này có thể rất cần thiết Nhờ đó, có thể kiến trúc ứng dụng và hạ tầng Grid để tối ưu hoá môi trường thực thi bằng các xem xét đến vị trí các tài nguyên, dữ liệu, và tập các node

mà ứng dụng có thể thực thi

4.5 Triển khai cài đặt các Grid Service

Sau khi có bản thiết kế chi tiết các hoạt động và liên lạc của các service trong hệ thống, đến bước viết mã thực thi, ở đây trình bày việc viết mã cho các Grid Service Phần này trình bày các bước cần thiết để viết một OGSI-service cùng với các kỹ thuật cài đặt cụ thể với GT3

Việc phát triển, phân phối một Grid service với GT3 tuân theo 5 bước sau (lưu

ý, các bước này cùng với các công cụ liên quan có thể thay đổi trong các phiên bản sau của GT):

1 Định nghĩa service interface (sử dung ngôn ngữ đặc tả GWSDL)

2 Viết mã thực thi cho service (sử dụng ngôn ngữ lập trình Java)

3 Định nghĩa các tham số triển khai service (sử dụng ngôn ngữ đặc tả WSDD)

4 Biên dịch và phát sinh các file GAR (sử dụng công cụ Ant)

5 Triển khai service (sử dụng công cụ Ant)

Các phần dưới đây sẽ trình bày chi tiết các bước và các kỹ thuật cài đặt các cơ chế của Grid service Để cụ thể và dễ hiểu hơn, việc trình bày sử dụng lại ví dụ MathService được nhóm phát triển Globus đưa ra, có thể tìm thấy trong website :

Trang 11

http://www.casa-sotomayor.net Ở đây chúng ta cần xây dựng một Grid service cho phép người thực hiện các chức năng cộng, trừ đơn giản, có tên là MathService

4.5.1 Các bước xây dựng và triển khai Grid Service

Bước 1 : Định nghĩa service interface

Ở đây chúng ta đã xác định các chức năng cần có của MathService (là cung cấp khả năng cộng và trừ 2 số) Chúng ta cần định nghĩa một interface cho MathService, interface này sẽ chứa các phương thức cần thiết cung cấp cho người dùng Lưu ý service interface còn được gọi là portType Việc định nghĩa interface ở đây sử dụng ngôn ngữ đặc tả GWSDL, một phiên bản mở rộng của WSDL cho Grid service Có 2 cách để định nghĩa interface cho MathService :

public void add(int a);

public void subtract(int a);

public int getValue();

}

Tuy nhiên, khi phát sinh bằng cách này sẽ không tận dụng hết tất cả các sức mạnh của GWSDL Do đó nên tự viết các đặc tả interface cho service bằng GWSDL Chi tiết về cách viết một tài liệu GWSDL xin tham khảo thêm trong phụ lục B – Định dạng file GWSDL Lưu ý, ở đây các hàm add() và substract() chỉ có một tham số, chúng ta muốn thực hiện cộng dồn các số và chỉ gửi kết quả đến người dùng khi cần thiết, qua hàm getValue() Ví dụ này muốn cho thấy Grid service là một thực thể có trạng thái (stateful), nó tự lưu trữ các kết quả qua một biến cục bộ

và chỉ xuất ra khi cần thiết, đây là một tính chất mới mà một Web service truyền thống không có được

Ngày đăng: 30/07/2014, 20:20

HÌNH ẢNH LIÊN QUAN

Hình  4-1 Luồng ứng dụng song song. - CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 7 ppsx
nh 4-1 Luồng ứng dụng song song (Trang 5)
Hình  4-3 Luồng ứng dụng mạng. - CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 7 ppsx
nh 4-3 Luồng ứng dụng mạng (Trang 6)
Hình  4-4 Các file cần thiết để triển khai Grid Service với Ant. - CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 7 ppsx
nh 4-4 Các file cần thiết để triển khai Grid Service với Ant (Trang 16)
Hình  5-1 Mô hình hệ thống quản trị mạng - CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 7 ppsx
nh 5-1 Mô hình hệ thống quản trị mạng (Trang 21)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w