Lưới tiện ích (Utility Grids)

Một phần của tài liệu Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị (Trang 30 - 86)

Utility grids là mạng lưới bao gồm các tài nguyên tính tốn thương mại mà được duy trì, quản lý bởi các nhà cung cấp dịch vụ.

Service Grids: cung cấp truy xuất tới các tài nguyên mà cĩ thể được mua bởi

một tổ chức.

1.3 Vấn đề an tồn thơng tin và những thách thức đối với tính tốn lƣới

1.3.1 An tồn thơng tin trong tính tốn lưới

Do đặc điểm hỗn tạp và khơng đồng nhất của các tổ chức và tài nguyên trong lưới, vấn đề an tồn thơng tin trong lưới là một trong những vấn đề được quan tâm hàng đầu. Cĩ những vấn đề an tồn thơng tin mới chưa từng gặp trong các cơng nghệ an tồn thơng tin hiện tại cho hệ thống tính tốn phân tán truyền thống. Ví dụ, các tính tốn song song địi hỏi nhiều tài nguyên tính tốn, dẫn tới nhu cầu phải thiết lập các mối quan hệ an tồn thơng tin, khơng đơn giản chỉ là với client và server, mà giữa hàng trăm tiến trình thực hiện trong khơng gian tập hợp nhiều miền quản trị. Ngồi ra, cần phải cĩ các chính sách an tồn thơng tin liên miền cho lưới, các cơng nghệ điều khiển truy nhập giữa các miền khác nhau cũng phải được hỗ trợ.

Các ứng dụng và hệ thống lưới cĩ thể địi hỏi bất cứ chức năng nào trong các chức năng cơ bản của an tồn thơng tin như là: chứng thực, điều khiển truy nhập, và

19

tồn vẹn. Khi phát triển kiến trúc lưới, cũng cần phải lựa chọn giải pháp để đáp ứng được địi hỏi của các đặc tính rất riêng của lưới:

Đăng nhập một lần: Khi bắt đầu một tính tốn địi hỏi sử dụng tài nguyên, cho thuê tài nguyên hay truyền thơng nội bộ, người dùng cĩ thể được chứng thực, và sẽ khơng phải chứng thực trong các tính tốn tiếp theo.

Giấy ủy nhiệm người dùng: Các mật khẩu, khĩa bí mật phải được bảo vệ bằng các chính sách như mã hĩa, hệ thống file bảo mật, phân quyền.

Tích hợp các giải pháp an tồn thơng tin địa phương: Các giải pháp liên miền phải tích hợp với các giải pháp an tồn thơng tin địa phương để đảm bảo độc lập của các thành viên lưới.

Hạ tầng giấy ủy nhiệm, chứng chỉ số thống nhất: Truy nhập liên miền địi hỏi phải cĩ một quy ước thống nhất để biểu diễn định danh của các thực thể lưới như là người dùng, tài nguyên,... Vì thế, cần cĩ một chuẩn để mã hĩa các chứng chỉ số cho mục đích an tồn thơng tin. Hiện tại, X509 là chuẩn cho các chứng chỉ số phổ biến trong mơi trường lưới.

Hỗ trợ an tồn nhĩm truyền thơng: Một tính tốn cĩ thể địi hỏi một số các tiến trình, cùng cộng tác các hoạt động của chúng với nhau như là một nhĩm. Tổ hợp các nhĩm tiến trình sẽ thay đổi trong vịng đời của một tính tốn. Vì thế, cần cung cấp an tồn truyền thơng nhĩm động. Khơng cĩ giải pháp nào hiện tại hỗ trợ tính năng này, thậm chí là thư viện lập trình GSS-API cịn khơng cung cấp an tồn truyền thơng nhĩm.

Độc lập cơng nghệ: Các chính sách khơng phục vụ cho một cơng nghệ phát triển ứng dụng cụ thể nào. Hơn nữa, cĩ thể cài đặt các chính sách trong một phạm vi các cơng nghệ an tồn thơng tin, dựa trên cả kĩ thuật mã hĩa cơng khai và phân phối khĩa cơng khai.

20

1.3.2 Những thách thức với một lưới

Những thách thức mà cơng nghệ tính tốn lưới đang phải giải quyết bao gồm [1]:

Các tài nguyên hết sức đa dạng, khơng đồng nhất. Tài nguyên ở đây được hiểu theo nghĩa hết sức tổng quát. Đĩ cĩ thể là các tài nguyên phần cứng: tài nguyên tính tốn, tài nguyên lưu trữ, các thiết bị đặc biệt khác, ...; các tài nguyên phần mềm: các cơ sở dữ liệu, các phần mềm đặc biệt và đắt giá...; các đường truyền mạng, .... Các tài nguyên này cĩ thể rất khác nhau về mặt kiến trúc, giao diện, khả năng xử lý, .... Việc tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồn tài nguyên này hồn tồn khơng dễ dàng. Ban đầu tính tốn lưới được đặt ra chủ yếu là để tận dụng các nguồn tài nguyên tính tốn nhưng hiện nay mục tiêu của nĩ đã được mở rộng sang rất nhiều nguồn tài nguyên khác như đã kể trên.

Các tài nguyên khơng chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức tham gia lưới. Các tổ chức phải tuân thủ một số quy định chung khi tham gia vào lưới cịn nhìn chung là hoạt động độc lập tức là các tài nguyên này đều cĩ quyền tự trị. Các tổ chức khác nhau thường cĩ chính sách sử dụng hay cho thuê tài nguyên của họ khác nhau và do vậy cũng gây khĩ khăn cho việc quản lý.

Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy phải cĩ các cơ chế quản lý phân tán.

Đảm bảo an tồn thơng tin cho một mơi trường phức tạp như mơi trường lưới là rất khĩ khăn trong khi đây là một trong những điểm ưu tiên hàng đầu.

1.4 Kết luận

Chương này đã giới thiệu các khái niệm, các dạng tài nguyên, các lợi ích của một lưới tính tốn. Đồng thời cũng nêu các vấn đề về an tồn thơng tin và thách thức trên lưới. Qua đĩ thấy rằng, để xây dựng và phát triển được các ứng dụng trên một lưới

21

tính tốn cần phải cĩ cơ sở hạ tầng về phần cứng và phần mềm, trong đĩ quan trọng là cơ sở hạ tầng về phần mềm. Hiện tại, đã cĩ rất nhiều bộ cơng cụ phần mềm là mơi trường hỗ trợ cho việc triển khai một lưới, các vấn đề này sẽ được trình bày chi tiết trong chương 2 của luận văn.

22

CHƢƠNG 2. PHÁT TRIỂN ỨNG DỤNG TRÊN MƠI TRƢỜNG TÍNH TỐN LƢỚI

2.1 Cơ sở hạ tầng lƣới

Một cơ sở hạ tầng (infrastructure) là một tập hợp các phương tiện, trang thiết bị, cơng nghệ cho phép chúng ta thực hiện các hoạt động của mình, chẳng hạn hệ thống đường giao thơng cho phép đi lại bằng xe, hệ thống ngân hàng cho phép chuyển tiền một các nhanh chĩng. Để cĩ thể hữu dụng, cơ sở hạ tầng cần phải được triển khai rộng rãi, điều đĩ cũng cĩ nghĩa là nĩ phải đơn giản hoặc cĩ giá trị to lớn hoặc cả hai. Do đĩ, cơ sở hạ tầng lưới cũng phải vừa đơn giản, vừa hỗ trợ được nhiều dạng tài nguyên khác nhau.

Phần này sẽ giới thiệu tổng quan về các thành phần chính yếu của một mơi trường lưới. Tuỳ theo thiết kế và cách sử dụng lưới, một số thành phần cĩ thể khơng cần thiết và đơi khi trong một số trường hợp, cĩ thể kết hợp nhiều thành phần lại thành một thành phần phức hợp.

2.1.1 Portal/Giao diện người dùng

Truy cập thơng tin trên lưới là việc rất quan trọng, thành phần giao diện người dùng đảm nhiệm chức năng này. Giao diện người dùng thuộc một trong 2 dạng:

Giao diện cung cấp bởi ứng dụng đang chạy của người dùng.

Giao diện cung cấp bởi các nhà quản trị lưới giống như portal cho phép khả năng truy xuất đến các ứng dụng và tài trong lưới như trong một khơng gian ảo duy nhất. Một lưới portal đưa ra một giao diện cho người dùng để chạy các ứng dụng sử dụng các tài nguyên và dịch vụ của lưới. Giao diện kiểu portal cũng cĩ thể giúp người dùng học cách sử dụng lưới.

23

2.1.2 An tồn và bảo mật (Security)

Các máy tính trong lưới đều được nối mạng và chạy các ứng dụng; chúng cĩ thể phải xử lý các dữ liệu nhạy cảm hoặc cĩ giá trị lớn, do đĩ thành phần bảo mật của lưới là hết sức quan trọng. Ở mức cơ sở, bất kỳ mơi trường lưới nào cũng phải cĩ các cơ chế bảo mật.

Một nền tảng an tồn và bảo mật vững chắc sẽ quyết định sự phát triển của mơi trường tính tốn lưới [11]. Với tính chất quy mơ lớn, quan hệ chia sẻ tài nguyên giữa nhiều tổ chức, an tồn và bảo mật luơn phải được coi là một trong những yếu tố hàng đầu trong lưới. Hai vấn đề quan trọng trong an tồn bảo mật phải xem xét trong tính tốn lưới là:

Chứng thực người dùng (Authentication) Xác thực thẩm quyền (Authorization).

2.1.3 Bộ mơi giới tài nguyên (Broker)

Bộ mơi giới tài nguyên sử dụng dịch vụ thơng tin để lấy thơng tin tài nguyên và sau đĩ chọn ra các tài nguyên phù hợp với cơng việc mà người sử dụng yêu cầu.

Khi mà một số tài nguyên được chọn, danh sách và thơng tin về các tài nguyên đĩ được chuyển đến bộ lập lịch để thực hiện quá trình lập lịch. Nếu trong hệ thống khơng sử dụng bộ lập lịch thì thơng tin sẽ được chuyển trực tiếp tới bộ phận quản lý tài nguyên.

2.1.4 Bộ lập lịch (scheduler)

Khi các tài nguyên đã được xác định và cấp phát, bước tiếp theo là lập lịch điều phối các cơng việc chạy trên đĩ. Cần cĩ các bộ lập lịch để xác định các nút thực thi ứng dụng và gửi các cơng việc được yêu cầu đến các nút [11]. Việc này cĩ thể đơn giản là lấy tài nguyên sẵn sàng tiếp theo trong hệ thống, nhưng thường thì nĩ liên quan đến các hàng đợi cơng việc ưu tiên, quản lý tải, tìm kiếm các tài nguyên đã đăng ký sử

24

dụng, theo dõi tiến trình. Nếu cĩ một tập các cơng việc riêng lẻ, khơng phụ thuộc vào nhau thì khơng cần các bộ lập lịch phức tạp. Tuy nhiên, nếu muốn giữ chỗ các tài nguyên đặc biệt hay chắc chắn rằng các cơng việc chạy song song thì nên sử dụng các bộ lập lịch để phối hợp hoạt động của các cơng việc. Lưu ý, các cluster cĩ thể được xem là một tài nguyên đơn lẻ, chúng cĩ bộ lập lịch riêng để quản lý các nút của nĩ. Một bộ lập lịch cấp cao hơn dùng để quản lý các cơng việc cần thực hiện trên cluster trong khi bộ lập lịch cục bộ của cluster sẽ điều phối các cơng việc cụ thể trên từng máy tính con.

2.1.5 Thành phần quản lý dữ liệu (Data management)

Nếu bất cứ dữ liệu nào, bao gồm cả các module thực thi của ứng dụng, cần phải di chuyển thì cần phải cĩ các phương pháp an tồn, tin cậy để di chuyển các file và dữ liệu qua lại giữa các nút trong lưới [11]. Do đĩ, cần phải cĩ thành phần này.

2.1.6 Thành phần quản lý cơng việc và tài nguyên (Job and resource management)

Sau khi đã cĩ các tiện nghi như trên, việc tiếp theo là xây dựng các dịch vụ hỗ trợ việc thực hiện các cơng việc thật sự trong mơi trường lưới. Để giải quyết các tác vụ nịng cốt như khởi chạy ứng dụng với các tài nguyên cụ thể, theo dõi trạng thái các cơng việc, nhận kết quả, hệ thống lưới cần cĩ thành phần quản lý cơng việc và tài nguyên.

2.1.7 Các thành phần khác

Cịn cĩ nhiều thành phần khác để đưa vào mơi trường lưới và cần được xem xét khi thiết kế và cài đặt ứng dụng. Ví dụ: Các tiện ích như liên lạc giữa các tiến trình (Inter Process Communication) và các dịch vụ hỗ trợ tính tốn chi phí và chi trả là những tiện ích được yêu cầu nhiều nhất.

Trên đây là giới thiệu vắn tắt và tổng quan về các thành phần chính của mơi trường lưới. Tuỳ thuộc vào việc triển khai lưới và các yêu cầu của ứng dụng, cĩ nhiều

25

cách khác nhau để kết hợp các thành phần này lại với nhau để tạo nên một giải pháp lưới.

2.2 Kiến trúc của một lƣới

2.2.1 Bản chất kiến trúc

“Tổ chức ảo” (VO) là đơn vị cơ bản quan trọng trong hệ thống lưới. Việc thiết lập, quản lý, khai thác các quan hệ chia sẻ tài nguyên giữa các tổ chức ảo địi hỏi phải cĩ kiến trúc hệ thống mới, kiến trúc lưới. Kiến trúc lưới dưới đây được xây dựng dựa trên quan niệm “để các VO hoạt động hiệu quả địi hỏi phải thiết lập được các quan hệ chia sẻ với bất kỳ đơn vị tham gia tiềm năng nào”. Để làm được điều này, vấn đề “liên kết hoạt động” (interoperability) cần phải được tập trung giải quyết. Trong mơi trường mạng, “liên kết hoạt động” đồng nghĩa với việc sử dụng các giao thức chung. Do đĩ, kiến trúc lưới sẽ là kiến trúc giao thức, với các giao thức xác định các cơ chế nền tảng để người dùng và nhà cung cấp tài nguyên thương lượng, thiết lập, quản lý và khai thác các mối quan hệ chia sẻ tài nguyên.

Kiến trúc lưới phải là kiến trúc dựa chuẩn, hướng mở, để dễ mở rộng, liên kết hoạt động tốt, cĩ tính khả chuyển (portability) cao. Các giao thức chuẩn sẽ giúp định nghĩa các service chuẩn, nhờ đĩ cĩ thể xây dựng các service cao cấp hơn một cách dễ dàng. Sau khi cĩ được kiến trúc lưới, việc tiếp theo là xây dựng các hàm API và các bộ SDK để cung cấp các cơng cụ cần thiết để phát triển các ứng dụng chạy trên nền lưới.

Sở dĩ vấn đề “liên kết hoạt động” được xem là vấn đề cơ bản vì các mối quan hệ chia sẻ cĩ thể phải được thiết lập giữa các bên tham gia khác nhau về các chính sách, giữa các mơi trường khác nhau về nền tảng, ngơn ngữ, mơi trường lập trình,…Nếu khơng cĩ nĩ, các thành viên trong VO sẽ thực hiện các chính sách chia sẻ song phương và khơng chắc rằng các cơ chế sử dụng cho hai thành viên này sẽ mở rộng được cho các thành viên khác. Điều này khiến cho việc thành lập các VO động là khơng thể thực hiện hoặc cũng chỉ thành lập được VO theo một kiểu nào đĩ mà thơi. Cũng giống như

26

Web đã làm bùng nổ việc chia sẻ thơng tin bằng cách cung cấp các giao thức và cú pháp chuẩn (HTTP và HTML) dùng cho việc trao đổi thơng tin, ở đây cũng cần các giao thức và cú pháp chuẩn để chia sẻ tài nguyên.

Để giải quyết vấn đề “liên kết hoạt động”, việc xây dựng các giao thức là quan trọng. Vì giao thức xác định cách các thành phần phân tán trao đổi với nhau để đạt được một mục đích nào đĩ, xác định các cấu trúc thơng tin cần thiết trong quá trình trao đổi. Các VO thường hay thay đổi, nên các cơ chế xác định, chia sẻ và sử dụng tài nguyên cần phải mềm dẻo, gọn nhẹ, để các thỏa thuận chia sẻ tài nguyên cĩ thể được thiết lập, thay đổi một cách nhanh chĩng. Các cơ chế chia sẻ khơng được ảnh hưởng đến các chính sách cục bộ, và phải cho phép các thành viên quản lý được các tài nguyên của họ. Vì các giao thức quy định việc giao tiếp giữa các thành viên chứ khơng quy định thành viên đĩ phải như thế nào, nên khi dùng các giao thức, các chính sách cục bộ được giữ lại. Do đĩ các giao thức được cần đến.

Khi đã cĩ các giao thức, thì việc xây dựng các service là cần thiết và quan trọng, các service là bản cài đặt cụ thể của các giao thức. Việc xây dựng các service cơ bản phục vụ truy cập đến tài nguyên tính tốn, dữ liệu, tìm kiếm tài nguyên, lập lịch và đồng bộ hố, sao chép dữ liệu,… cho phép xây dựng các service cao cấp hơn cho ứng dụng đồng thời trừu tượng hố các chi tiết về tài nguyên.

Cũng cần phải xây dựng các bộ API và SDK, vì các nhà phát triển ứng dụng cần phải cĩ cơng cụ để hỗ trợ phát triển các ứng dụng phức tạp trong mơi trường lưới, người dùng cũng phải cĩ khả năng thực thi được các ứng dụng này. Sức mạnh, tính đúng đắn của ứng dụng, chi phí phát triển và bảo trì là những mối quan tâm quan trọng. Các API và SDK cĩ thể giúp tăng tốc việc phát triển mã, cho phép chia sẻ mã, tăng tính khả chuyển cho ứng dụng. Tất nhiên, API và SDK chỉ hỗ trợ thêm chứ khơng thể thay thế các giao thức được.

27

2.2.2 Kiến trúc lưới tổng quát

Lưới được xây dựng trên nền tảng kiến trúc mở và phân tầng. Trong mỗi tầng của lưới, các thành phần chia sẻ những thuộc tính chung và được bổ sung những tính năng mới mà khơng làm ảnh hưởng đến các tầng khác [7]. Ta cĩ thể tổng hợp kiến trúc

Một phần của tài liệu Mô hình tính toán lưới và ứng dụng giải một số bài toán trên đồ thị (Trang 30 - 86)