Tải bản đầy đủ (.pdf) (34 trang)

BÁO CÁO SEMINAR MÔN HỌC TÍNH TOÁN LƯỚI TÌM HIỂU VỀ GRID MIDDLEWARE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 34 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ MINH
KHOA KHOA HỌC MÁY TÍNH



BÁO CÁO SEMINAR



Đề tài:
TÌM HIỂU VỀ GRID MIDDLEWARE
Môn học: TÍNH TOÁN LƯỚI

GVGD: TS. Phạm Trần Vũ
Học viên:
Vũ Chí Hiếu - 09070437
Trần Thị Thanh Nga – 10070489




TP. Hồ Chí Minh, tháng 5 năm 2011
Tìm hiểu về Grid Middleware

2

MỤC LỤC
1. Giới thiệu chung 3
1.1. Hệ thống lưới 3
1.2. Các thành phần trong kiến trúc Grid tổng quát 5
1.3. Chuẩn hóa Grid 6


1.4. Grid Middleware 9
1.4.1. Định nghĩa Grid Middleware 10
1.4.2. Nhiệm vụ và lợi ích của Grid Middleware 10
1.4.3. Kiến trúc Grid Middleware 12
2. Một số Grid Middleware 15
2.1. Unicore 15
2.1.1. Kiến trúc của UNICORE 16
2.1.2. Các chức năng và đặc tính chính của UNICORE 17
2.1.3. UNICORE 6 18
2.2. Globus 21
2.2.1. Mô hình kiến trúc GT2 23
2.2.2. Mô hình kiến trúc GT3 24
2.2.3. Mô hình kiến trúc GT4 26
2.3. gLite 30
2.3.1 Kiến trúc của gLite 31
TÀI LIỆU THAM KHẢO 34



Tìm hiểu về Grid Middleware

3

1. Giới thiệu chung
1.1. Hệ thống lưới
Ngày nay với sự phát triển mạnh mẽ trong nền công nghiệp sản xuất phần cứng
máy tính, những thế hệ máy tính đã trở nên mạnh mẽ và rẻ hơn rất nhiều so với thế hệ
trước đó. Với sự hữu ích, máy tính đã được sử dụng trong hầu hết mọi công việc của con
người, từ công việc hàng ngày, công sở, kinh doan đến sản xuất, nghiên cứu khoa học.
Do đó số lượng máy tính hiện nay rất lớn với tổng cộng năng lực xử lý và lưu trữ khổng

lồ.
Tuy nhiên, các ứng dụng ngày nay chỉ mới sử dụng được một phần rất nhỏ năng
lực xử lý và lưu trữ do ứng dụng thường chạy trên máy tính cục bộ, phân tán khắp nơi
trên thế giới dẫn tới vấn đề lãng phí quá lớn. Vậy làm sao để tận dụng tốt hơn năng lực
của máy tính?
Ngoài ra cùng với sự phát triển của nhiều lĩnh vực khác nhau, con người ngày
càng đối mặt với nhiều vấn đề lớn, phức tạp trong khoa học, thương mại đòi hỏi xử lý
tính toán, lưu trữ lớn. Một máy tính đơn hay một nhóm các máy tính (cluster) hay thậm
chí một siêu máy tính chuyên dụng cũng không thể đáp ứng được nhu cầu tính toán, lưu
trữ ngày càng lớn như vậy. Một số bài toán có thể được giải quyết nhưng rất khó khăn,
chi phí cao mà không phải tổ chức nào, quốc gia nào cũng thực hiện được. Trong khi đó
còn nhiều bài toán khác không thể giải quyết được với công nghệ tính toán hiện nay.
Thực tế đó khiến người ta nảy sinh ý tưởng kết hợp nhiều máy tính phân tán khắp
nơi trên thế giới thành một siêu máy tính khổng lồ nhằm tận dụng năng lực tính toán, lưu
trữ hiện đang lãng phí để giải quyết bài toán phức tạp với chi phí thấp hơn.
Cùng với sự phát triển của công nghệ mạng, ý tưởng về “siêu máy tính” toàn cầu
đã có cơ sở để trở thành hiện thực. Đến những năm cuối thế kỷ XX, các dự án nghiên cứu
đầu tiên về lĩnh vực này đã khai sinh ra công nghệ Grid Computing. Công nghệ Grid
Computing ra đời được dự đoán là công nghệ nền tảng của thế kỷ XXI, làm thay đổi cách
Tìm hiểu về Grid Middleware

4

thức tính toán. Công nghệ này đã mở ra cơ hội cho các nước không có nền công nghiệp
thiết kế, chế tạo phần cứng máy tính mạnh tạo ra siêu máy tính để giải quyết các bài toán
của riêng mình với chi phí thấp.
“Grid là một hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài
nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả
năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải
quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại. Từ

đó hình thành nên các tổ chức ảo “Virtual Organization (V))”, các liên minh tạm thời
giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng
nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán
và dữ liệu, toàn bộ việc liên minh này dựa trên mạng máy tính” (Ian Foster).
Một hệ thống Grid có những đặc trưng sau:
- Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung: Grid tích hợp
và phối hợp tài nguyên, người dùng thuộc nhiều vùng quản lý khác nhau, nhiều
đơn vị khác nhau trong một tổ chức hay nhiều tổ chức khác nhau. Công nghệ Grid
tập trung giải quyết các vấn đề bảo mật, chính sách quản trị, chi phí, thành viên,
… nảy sinh trong quá trình chia sẻ và sử dụng tài nguyên.
- Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng: Grid được xây
dựng dựa trên các giao thức và giao diện tổng quát, đa dụng để giải quyết các vấn
đề cơ bản như chứng thực người dùng, phân quyền, tìm kiếm và truy xuất tài
nguyên.
- Đáp ứng yêu cầu cao về chất lượng dịch vụ: Grid cho phép sử dụng phối hợp các
tài nguyên để cung cấp nhiều loại dịch vụ với các mức chất lượng khác nhau, liên
quan đến nhau, ví dụ như thời gian đáp ứng, hiệu suất, tính sẵn sàng, bảo mật, cho
phép kết hợp nhiều kiểu tài nguyên để đáp ứng nhu cầu phức tạp của người dùng.
Mục tiêu là phải phối hợp làm sao để khả năng của hệ thống sau khi kết hợp phải
lớn hơn hẳn tổng khả năng của từng đơn vị cấu thành nên Grid.
Tìm hiểu về Grid Middleware

5

1.2. Các thành phần trong kiến trúc Grid tổng quát
Tổ chức ảo (VO): là đơn vị cơ bản quan trọng trong hệ thống Grid. 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 Grid.
Kiến trúc Grid phải là kiến trúc dựa chuẩn, hướng mở để dễ sử dụng, liên kết hoạt
động tốt, có tính khả chuyển (portability) cao. Những protocol 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.

Hình 1: Kiến trúc Grid tổng quát
Tầng Fabric: là tầng thấp nhất của kiến trúc lưới, đại diện cho các thiết bị vật lý
và toàn bộ tài nguyên của lưới mà các tổ chức, người dùng muốn chia sẻ, sử dụng.
Tầng Connectivity: định nghĩa các giao thức liên lạc và chứng thực cơ bản cần
thiết cho các giao dịch mạng đặc trưng của lưới. Các giao thức liên lạc cho phép trao đổi
Tìm hiểu về Grid Middleware

6

dữ liệu giữa các tài nguyên tầng Fabric. Các giao thức chứng thực xây dựng trên những
dịch vụ liên lạc nhằm cung cấp cơ chế mã hóa, bảo mật, xác minh và nhận dạng người
dùng và tài nguyên.
Tầng Resource: dựa trên các giao thức liên lạc và chứng thực của tầng
Connectivity để xây dựng các giao thức, API, và SDK nhằm hỗ trợ việc thương lượng,
khởi tạo, theo dõi, điều khiển, tính toán chi phí và chi trả cho các hoạt động chia sẻ trên
từng tài nguyên riêng lẻ một cách an toàn. Bản cài đặt các giao thức của tầng Resource sẽ
gọi các chức năng của tầng Fabric để truy cập và điều khiển các tài nguyên cục bộ.
Tầng Collective: Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ,
tầng Collective chứa các giao thức, dịch vụ, API, SDK không liên hệ đến bất kỳ một tài
nguyên cụ thể nào mà thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các tập
tài nguyên.
Tầng Application: tầng trên cùng của kiến trúc lưới bao gồm các ứng dụng của
người dùng chạy trong môi trường VO.
1.3. Chuẩn hóa Grid
Một trong các vấn đề lớn của bất kỳ công nghệ tính toán nào là làm sao để những
thành phần khác nhau có thể “nói chuyện” được với nhau. Đây cũng là một thách thức
của tính toán lưới (Grid Computing), vì tính toán lưới cần phải đáp ứng nhiều nhu cầu
khác nhau, hỗ trợ nhiều loại công nghệ, tài nguyên, trải rộng khắp thế giới, do nhiều tổ

chức tham gia xây dựng, nên để các thành phần lưới, ứng dụng lưới tương thích được với
nhau cần phải có một chuẩn chung thống nhất.
Ngoài lợi ích mang lại khả năng mở rộng các số lượng tài nguyên sẵn sàng cho
lưới. Bên cạnh đó, còn mang lại nhiều lợi ích khác:
 Liên kết hoạt động: cho phép hệ thống lưới có thể được thiết kế và phát triển theo
nhiều ngôn ngữ lập trình, nhiều môi trường, nhiều nền tảng khác nhau một cách dễ
dàng và hiệu quả.
 Tăng tính mềm dẻo: người dùng có thể chuyển đổi qua lại giữa các hệ thống lưới.
Tìm hiểu về Grid Middleware

7

 Tăng năng lực của lưới: khả năng phát hành các dịch vụ sẽ dễ dàng hơn và từ đó
làm tăng năng lực của hệ thống lưới.
 Tăng tốc độ phát triển ứng dụng: sử dụng các bộ toolkit được chuẩn hóa sẽ làm
giảm thời gian xây dựng, phát triển những hệ thống lưới. Thay vì dành nhiều thời
gian xây dựng các chức năng giao tiếp, các hệ thống quản lý, với việc sử dụng các
hệ thống chuẩn hóa có sẵn, các nhà phát triển ứng dụng có nhiều thời gian hơn để
tối ưu các chức năng xử lý dữ liệu.
Để đáp ứng nhu cầu xây dựng các chuẩn, tổ chức Global Grid Forum (GGF) ra đời và
đang phát triển các chuẩn về Grid Computing như: Open Grid Services Architecture
(OGSA), Open Grid Services Infrastructure (OGSI), Web Services Resource Framework
(WSRF).
 Open Grid Services Architecture (OGSA): chuẩn OGSA xác định toàn bộ các
kết cấu, cấu trúc, dịch vụ cơ bản của một ứng dụng và có thể được áp dụng trong
bất kỳ một hệ thống lưới nào. Thực chất OGSA định nghĩa các dịch vụ lưới là gì,
chúng cần có những khả năng gì, được xây dựng trên những công nghệ nào. Nó
cũng xác định mô hình lập trình cho Grid service. Tuy nhiên, OGSA không đi sâu
vào mặt kỹ thuật của vấn đề, nó chỉ giúp phân biệt cái gì là lưới và cái gì không
phải là lưới. OGSA xác định Grid service phải được xây dựng dựa trên các chuẩn

về Web service hiện hành, xem Grid service như là các Web service được chỉnh
sửa để đáp ứng các yêu cầu mới. Ví dụ, bản thân các Grid service được định nghĩa
bằng chuẩn WSDL (Web Services Definition Language) với một số mở rộng.
Điều này rất quan trọng, vì nó cung cấp một loạt các công nghệ dựa trên một
chuẩn chung và mở để truy cập nhiều loại Grid service dựa trên các chuẩn hiện
hành như SOAP, XML và WS-Security. Với điều kiện như vậy, có thể thêm và
tích hợp các Grid service mới một cách đơn giản, dễ dàng. Nó cung cấp một
phương pháp chung nhất để tìm kiếm, xác định, sử dụng các service mới khi
chúng có mặt. Từ đó giải quyết được vấn đề liên kết hoạt động giữa các lưới và tài
nguyên.
Tìm hiểu về Grid Middleware

8

 Open Grid Service Infrastructure (OGSI): OGSI là một bản đặc tả chính thức
các khái niệm được mô tả trong OGSA. OGSI 1.0 xác định một tập các service cơ
bản, xác định cách xây dựng một Grid service, định nghãi các hoạt động chung
nhất của tất cả Grid service, vạch ra các cơ chế để tạo lập; quản lý những Grid
service, cơ chế trao đổi thông tin giữa các Grid service. Chuẩn OGSI dựa trên các
chuẩn khác như XML, Web service, WSDL, … do đó nó cũng là một chuẩn mở.
 Web Services Resource Framework (WSRF): là một bước phát triển của OGSI,
nó kết hợp kiến trúc lưới vào công nghệ Web service hiện hành. Thay vì xây dựng
một kiểu Grid service mới, những đặc tả này cho phép các dịch vụ xác định trong
OGSI được xây dựng hoàn toàn dựa trên Web service.

Hình 2: Mối quan hệ giữa các chuẩn về Grid Service
Giải thích hình vẽ: OGSA định nghĩa và dựa trên Grid service, OGSI đặc tả Grid service
theo OGSA, Grid service là một mở rộng của Web service, một công nghệ cho phép các
thành phần phân tán giao tiếp với nhau, GT3 (Globus Toolkit) là một bản cài đặt hoàn
chỉnh OGSI với ngôn ngữ Java.

Tìm hiểu về Grid Middleware

9

1.4. Grid Middleware
Hệ thống lưới có một số đặc điểm chính sau đây:
 Tính không đồng nhất (heterogeneity): tài nguyên trên hệ thống lưới rất đa dạng,
thuộc nhiều loại khác nhau từ kiến trúc phần cứng (CPU, các loại thiết bị lưu trữ,
thiết bị truyền thông, …) đến phần mềm (hệ điều hành, thư viện, những công
cụ,…), ngôn ngữ.
 Tính quy mô lớn (large-scale): một hệ thống lưới kết hợp nhiều dạng tài nguyên
trên phạm vi cả thế giới cho nên một hệ thống lưới sẽ rất phức tạp và khó mà có
thể biết được một hình thù cụ thể của nó tại một thời điểm.
 Tính thích nghi, đáp ứng cao và khả năng mở rộng: hệ thống lưới phát triển trên
môi trường không đồng nhất đương nhiên phải có khả năng xử lý ngoại lệ, chịu
đựng lỗi tốt, có thể bắt tay với một số hệ thống khác để thực hiện tác vụ nhưng vẫn
đảm bảo vấn đề an toàn thông tin. Bên cạnh đó, hệ thống lưới phải có khả năng
mở rộng, hệ thống phải đảm bảo là khi gia tăng hay giảm đi các phần tử trên lưới
(tăng giảm quy mô) thì hệ thống không cần phải điều chỉnh lớn lao làm ảnh hưởng
đến hoạt động của cả hệ thống, chẳng hạn như cả hệ thống phải dừng lại tạm thời
khi thêm, bớt một đơn vị lưới nào đó sau đó mới hoạt động trở lại.
Do đó hệ thống lưới cần phải có một thành phần đáp ứng được các yêu cầu, một nhóm
chương trình có chức năng, nhiệm vụ làm trung gian để tương tác giữa các ứng dụng từ
phía người dùng và môi trường lưới bên dưới, gọi là middleware.
Tìm hiểu về Grid Middleware

10


Hình 3: Người dùng chỉ cần cắm và sử dụng dịch vụ mà không cần quan tâm phía

sau đó là gì
1.4.1. Định nghĩa Grid Middleware
- Grid middleware là gói phần mềm nằm giữa lớp ứng dụng và hệ điều hành.
- Grid middleware quản lý security, truy cập và trao đổi thông tin:
o Cung cấp khả năng kết nối số lượng người dùng lớn.
o Che giấu tài nguyên chia sẻ như máy tính, trung tâm dữ liệu, những thiết bị
cần thiết khác…
o Cung cấp các công cụ để quản lý, khởi tạo các liên kết trao đổi thông tin.
1.4.2. Nhiệm vụ và lợi ích của Grid Middleware
 Có 3 mục đích:
o Xây dựng các giao tiếp và các giao thức có tính mục đích chung, tính mở
và tính chuẩn. Vì hệ thống lưới được xây dựng trên những giao tiếp và giao
thức với rất nhiều mục đích khác nhau. Những giao tiếp và giao thức này
đều chỉ ra được những kết quả cơ bản mang tính nền tảng như việc xác
thực, khám phá tài nguyên, truy xuất tài nguyên. Do đó, việc xây dựng các
Tìm hiểu về Grid Middleware

11

giao tiếp, giao thức chuẩn và mở là rất quan trọng, nếu không chúng ta chỉ
xây dựng được những ứng dụng mang tính đặc thù mà thôi.
o Định nghĩa những giao thức chuẩn: grid middleware định nghĩa nội dung
và chuỗi các sự kiện trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa.
Điều này rất quan trọng và cấp thiết để thực hiện tính interoperability (khả
năng mà 2 thực thể khác nhau có thể làm việc với nhau và được thực hiện
bởi các giao thức thông thường) mà hệ thống lưới phụ thuộc vào.
o Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn,
định nghĩa những giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành
phần của Grid bằng cách cho phép những thành phần mã nguồn được sử
dụng lại.

 Lợi ích của Grid Middleware:
o Tránh cho các nhà phát triển ứng dụng không phải lập trình ở mức thấp,
tránh được các error-prone flatform như việc lập trình mạng mức socket.
o Giảm chi phí thời gian phát triển phần mềm khi tập trung phát triển chuyên
môn trước rồi mới phát triển ứng dụng bằng cách tái sử dụng framework
chứ không cần xây dựng lại từ đầu.
o Cung cấp các trừu tượng hướng mạng ở mức cao gần với yêu cầu ứng dụng
cho việc phát triển hệ thống rời rạc.
o Cung cấp nhiều dịch vụ phát triển, như đăng nhập và bảo mật giúp cho việc
hoạt động hiệu quả trong môi trường mạng.
Tìm hiểu về Grid Middleware

12

1.4.3. Kiến trúc Grid Middleware

Hình 4: Các thành phần của middleware nằm giữa Application và Fabric
Grid Middleware nằm giữa 2 lớp:
 Lớp ứng dụng (Application): chứa các ứng dụng của người dùng, như việc mô
phỏng hay những vấn đề đòi hỏi sức mạnh tính toán, truy cập dữ liệu từ xa, và kết
nối với các thiết bị khoa học. Lớp ứng dụng cung cấp những dịch vụ ứng dụng
dạng Web cho phép người dùng cung cấp thông số, và thu thập các kết quả cho
những công việc trên những tài nguyên từ xa thông qua Web.
 Lớp kết cấu (fabric): bao gồm những giao thức, giao diện ứng dụng và toolkit cho
phép phát triển các ứng dụng cùng những thành phần cho phép truy cập, điều
khiển các tài nguyên như máy tính, tài nguyên lưu trữ, các thiết bị khoa học…Tài
nguyên tính toán có rất nhiều cấu trúc như clusters, siêu máy tính, server, PC chạy
trên nhiều hệ điều hành khác nhau (UNIX, Windows…) Các thiết bị khoa học như
kính hiển vi, cảm biến cung cấp dữ liệu thời gian thực được truyền trực tiếp qua bộ
phận tính toán hay được lưu trữ trong cơ sở dữ liệu

Tìm hiểu về Grid Middleware

13

Grid middleware gồm 2 lớp chính:
 Lớp các dịch vụ tập hợp (Collective services): Có khả năng quản lý một tập các
tài nguyên trong khi lớp tài nguyên chỉ tập trung vào việc tương tác giữa các
tài nguyên đơn lẻ. Và nó dựa trên lớp kết nối và lớp tài nguyên để hiện thực rất
nhiều hành vi chia sẻ mà không cần phải thay thế những yêu cầu mới ứng với
mỗi tài nguyên được chia sẻ. Chẳng hạn:
o Directory service cho phép các thành viên tham gia vào tổ chức ảo có
thể khám phá ra tài nguyên hay các thuộc tính của tài nguyên. Nó cho
phép người dùng truy vấn về tài nguyên bằng tên hoặc các thuộc tính
như kiểu, sự sẵn sàng, hay tải.
o Coallocation-allocation, scheduling, and brokering services cho phép
các thành viên của tổ chức ảo yêu cầu việc định vị cho 1 hay nhiều tài
nguyên và phân bổ nhiệm vụ cho những tài nguyên thích hợp.
o Monitoring and diagnotics services hỗ trợ việc theo dõi các tài nguyên
của tổ chức ảo về lỗi, việc tấn công hay việc quá tải.
o Data replication services hỗ trợ quản lý việc lưu trữ tài nguyên để tối đa
hiệu quả truy xuất như thời gian đáp ứng, khả năng tin cậy, chi phí,…
o Grid-enabled programming systems cho phép các mô hình lập trình thân
thiện, chẳng hạn như MPI (Message-passing Interfaces),…
o Workload management systems and collaboration frameworks
o Software discovery service
o Community authorization servers
Tìm hiểu về Grid Middleware

14


o Community accounting and payment services
o Collaboratory services
 Lớp các giao thức kết nối tài nguyên – Resource and Connectivity Protocols:
Đây là lớp có chức năng giao tiếp một cách dễ dàng và an toàn. Lớp kết nối
định nghĩa giao thức giao tiếp (communication) và giao thức xác thực
(authentication). Giao thức giao tiếp cho phép các thông điệp có thể được trao
đổi với nhau giữa các tài nguyên của lớp Fabric. Giao thức xác thực xây dựng
trên các dịch vụ giao tiếp bằng cách cung cấp cơ chế bảo mật mã hóa cho việc
xác định người dùng và tài nguyên. Các giải pháp xác thực cho môi trường tổ
chức ảo (VO – Virtual Organization) có thể có 4 đặc tính sau:
o Single sign-on: Người dùng có thể được xác thực chỉ 1 lần bằng cách
đăng nhập vào hệ thống và có thể truy xuất vào nhiều tài nguyên lưới.
o Việc ủy quyền: Người dùng có khả năng ủy quyền cho 1 chương trình
khác để thực thi giống như những hành vi của người dùng khi người
dùng đã được xác thực. Đến lượt chương trình có thể ủy quyền cho
nhưng chương trình khác 1 cách tùy chọn.
o Việc tích hợp với nhiều giải pháp bảo mật cục bộ: Đó là việc mỗi tổ
chức, mỗi tài nguyên đã có nhưng giải pháp bảo mật riêng cho mình. Do
đó, các giải pháp bảo mật của hệ thống lưới sẽ tận dụng các giải pháp
bảo mật cục bộ có sẵn này mà không cần phải thay thế 1 giải pháp bảo
mật mới, và chỉ cần cho phép ánh xạ vào môi trường cục bộ.
o Mối quan hệ đáng tin cậy dựa trên người dùng: Để người dùng có khả
năng truy xuất vào tài nguyên từ nhiều nhà cung cấp khác nhau, thì hệ
thống bảo mật không cần phải yêu cầu các nhà cung cấp tài nguyên phải
liên lạc với nhau để cấu hình cho môi trường mạng. Chẳng hạn, nếu
Tìm hiểu về Grid Middleware

15

người dùng có quyền truy xuất vào tài nguyên của tổ chức A và B, thì

người dùng có thể truy xuất vào cả 2 tài nguyên của tổ chức A và B với
nhau mà không cần sự liên lạc giữa những nhà quản trị bảo mật của tổ
chức A và B .
Cũng trong lớp này, các tài nguyên đơn lẻ có khả năng chia sẻ. Nó định nghĩa các
giao thức về sự thương lượng an toàn, khởi tạo, theo dõi, điều khiển, tài khoản và sự trả
chi phí cho việc chia sẻ các thao tác trên những tài nguyên đơn lẻ. Lớp tài nguyên sẽ
được hiện thực bởi các giao thức để truy xuất và điều khiển các tài nguyên cục bộ, bao
gồm 2 lớp chính:
 Giao thức thông tin (Information protocol) được sử dụng để rút ra thông tin về cấu
trúc và trạng thái của tài nguyên chẳng hạn như cấu hình của tài nguyên, tải hiện
thời, hay chính sách sử dụng,…
 Giao thức quản lý (Management protocol) được sử dụng để thỏa thuận việc truy
xuất vào tài nguyên chia sẻ, chẳng hạn về yêu cầu tài nguyên (bao gồm việc đặt
chỗ và chất lượng dịch vụ) và các thao tác thực hiện như khởi tạo, truy xuất tài
nguyên,…
2. Một số Grid Middleware
2.1. Unicore
UNICORE là một môi trường Grid tích hợp theo chiều thẳng đứng nhằm hỗ trợ:
- Khả năng truy cập tài nguyên một cách đơn giản, an toàn, bảo mật, trực quan trong
môi trường phân tán cho người dùng.
- Tích hợp các cơ chế chứng thực trong các thủ tục quản trị, nhằm giảm chi phí đào
tạo và hỗ trợ cho các Grid site.
- Phân phối dễ dàng các công việc trên nhiều nền tảng khác nhau.
Tìm hiểu về Grid Middleware

16

2.1.1. Kiến trúc của UNICORE
Là kiến trúc 3 tầng (three-tier) bao gồm:
- Một Client chạy trên máy trạm hoặc PC có hỗ trợ Java.

- Các thể hiện của Network Job Supervisors (NJS) chạy trên các server dành riêng.
- Nhiều thể hiện của Target System Interfaces (TSI) chạy trên các node để cung cấp giao
diện sử dụng các hệ quản trị tài nguyên cục bộ như hệ điều hành, hệ xử lý theo lô,…

Hình 5: Mô hình kiến trúc hoạt động của UNICORE
Theo quan điểm của người dùng, UNICORE là một hệ thống dựa trên mô hình client-
server có 3 lớp:
- Lớp người dùng: người dùng chạy UNICORE Client trên máy trạm cục bộ hoặc
PC. Giao diện của UNICORE Client gồm 2 thành phần: JPA (Job Preparation
Tìm hiểu về Grid Middleware

17

Agent) và JMC (Job Monitor Component). Các công việc được xây dựng bằng
JPA, trạng thái và kết quả công việc được lấy từ JMC. Các công việc và truy vấn
về trạng thái và kết quả của chúng được định dạng bằng Abstract Job Object
(AJO).
- Lớp server: ở mức cao nhất, mỗi trung tâm máy tính thành viên phải xác định một
hoặc nhiều UNICORE Grid site (USite) để người dùng kết nối vào.
- Lớp Target System: một USite cho phép truy cập đến các tài nguyên tính toán và
lưu trữ. Chúng được tổ chức thành các site ảo (VSite) đại diện cho các hệ thống
thực thi và/hoặc lưu trữ tron trung tâm máy tính. Một VSite cũng gồm hai thành
phần: NJS (Network Job Supervisor) và TSI (Target System Interface).
o NIS Server quản lý tất cả các công việc của UNICORE và thực hiện phân
quyền bằng cách tìm ánh xạ tương ứng giữa chứng chỉ người dùng và tài
khoản đăng nhập trong UUDB (UNICORE User Data Base). NJS chuyển
đổi các định nghĩa AJO thành các lệnh tương ứng cho hệ thống thực thi
được chọn dựa trên các đặc tả trong Incarnition Data Base (IDB).
o UNICORE TSI chấp nhận các công việc được xây dựng bởi NJS và chuyển
chúng cho hệ thống thực thi cục bộ để xử lý.

Client kết nối đến UNICORE USite gateway, đây là điểm vào duy nhất cho tất cả các kết
nối UNICORE đến USite. Nó cung cấp một địa chỉ IP và số hiệu cổng để người dùng có
thể kết nối vào thông qua giao thức SSL.
2.1.2. Các chức năng và đặc tính chính của UNICORE
- Tạo lập và đệ trình các công việc hướng người dùng: cung cấp giao diện GUI hỗ
trợ người dùng tạo những công việc phức tạp có thể chạy trên bất kỳ UNICORE
Site nào mà không cần thay đổi đặc tả công việc.
- Có hệ thống quản lý công việc: cho phép người dùng toàn quyền điều khiển công
việc và dữ liệu.
- Có hệ thống quản lý dữ liệu: trong quá trình tạo lập các công việc, người dùng có
thể xác định các tập dữ liệu đầu vào và đầu ra từ Uspace (Uspace là tập các file
Tìm hiểu về Grid Middleware

18

sẵn sàng cho một công việc UNICORE) và các tập dữ liệu nào cần phải truyền qua
lại giữa các Uspace. UNICORE sẽ thực hiện việc di chuyển dữ liệu trong thời gian
thi thành mà không cần sự can thiệp của người dùng.
- Hỗ trợ ứng dụng: để hỗ trợ những ứng dụng khoa học đặc biệt của các nhà khoa
học, giao diện của UNICORE được xây dựng dưới dạng mở để có thể thêm các
thành phần mới cho phép nhập liệu hướng ứng dụng.
- Điều khiển luồng: một công việc của người dùng có thể được mô tả dưới dạng một
tập các đồ thị có hướng không vòng.
- Cho phép đăng nhập một lần: UNICORE cho phép đăng nhập một lần thông qua
các chứng chỉ X.509V3.
- Hỗ trợ các công việc kế thừa lại: UNICORE hỗ trợ công nghệ xử lý theo lô truyền
thống bằng cách cho phép người dùng đính kèm các công việc trước đó vào công
việc hiện hành.
- Có hệ thống quản lý tài nguyên: người dùng chọn các hệ thống đích và xác định
các yêu cầu tài nguyên. Hệ thống UNICORE Client sẽ kiểm tra tính đúng đắn của

các công việc, báo lỗi ngay lập tức và thực hiện cấp phát tài nguyên.
2.1.3. UNICORE 6
Kiến trúc của UNICORE 6 là kiến trúc 3 tầng: tầng client, tầng server và tầng
system như hiển thị trong Hình 6:
Tìm hiểu về Grid Middleware

19


Hình 6: Kiến trúc của UNICORE 6
a. Tầng Client
Tầng đầu tiên của kiến trúc này là nhiều loại client luôn sẵn sàng cho những người
dùng, từ những client đồ họa như Eclipse-based URC, một giao diện dòng lệnh UCC tới
API lập trình có tên là HiLA.
b. Tầng Service
Tầng nằm ở giữa bao gồm các dịch vụ và nhiều thành phần của kiến trúc hướng dịch
vụ (SOA). Hình 6 chỉ ra ba tập dịch vụ, tập bên trái và phải chứa các dịch vụ tại một site
đơn lẻ trong khi tập ở giữa dịch vụ trung tâm, như registry trung tâm, các dịch vụ
workflow và information service, phục vụ tất cả các site và người dùng trong UNICORE
Grid.
Tìm hiểu về Grid Middleware

20

Thành phần Gateway hoạt động như điểm vào (entry point) tới một UNICORE site và
thực hiện xác thực tất cả những yêu cầu đang đến. Nó được dùng cho cả các dịch vụ
trung tâm và các dịch vụ site đơn lẻ.
Thành phần XNJS là bộ máy thực thi và quản lý job của UNICORE 6. Nó thực hiện
job incarnation, đó là ánh xạ của mô tả job trừu tượng tới mô tả job cụ thể cho một
resource cụ thể cùng với những quy tắc chứa trong IDB (Incarnation Database). Chức

năng của XNJS là khả năng truy cập thông qua hai giao diện dịch vụ trong môi trường
máy chủ WS-RF của UNICORE 6. Giao diện chủ của UNICORE 6 được gọi là UAS
(UNICORE Atomic Services) và đưa ra chức năng đầy đủ tới các dịch vụ, client và người
dùng mức cao hơn. Cùng với UAS, một tập các giao diện được chuẩn hóa dựa trên những
chuẩn mở thông dụng (được mô tả trong hình 6 là “OGSA-*”).
Để cấp phép cho người dùng, XNJS dùng cơ sở dữ liệu người dùng XUUDB để thực
hiện việc ánh xạ từ những chứng chỉ X.509 tới việc đăng nhập của người dùng hiện tại.
Thành phần XUUDB tự nó là một Web service, cho phép nó được dùng từ nhiều cài đặt
UNICORE, ví dụ, bên trong cùng một trung tâm tính toán. Giống như trong nhiều môi
trường hướng dịch vụ, một service registry trung tâm luôn sẵn sàng, trong đó các dịch vụ
khác nhau có thể đăng ký chỉ một lần khi chúng bắt đầu. Service registry trung tâm là cần
thiết để xây dựng và vận hành một cơ sở hạ tầng UNICORE phân tán. Service registry
này được liên lạc bởi client để mà “kết nối với Grid”. Một cơ sở hạ tầng có thể có nhiều
registry trung tâm.
Hỗ trợ workflow có một tầm quan trọng lớn với UNICORE. Hai tầng thiết kế với sự
ngăn cách của workflow engine và service orchestrator được làm cho khả năng mở rộng
tốt hơn mà còn cung cấp plug-in cho ngôn ngữ workflow domain-specific và workflow
engines. Bên cạnh chuỗi job (job-chains) đơn giản, vòng lặp while, for, các biến
workflow và sự thực thi có điều kiện được hỗ trợ. Service orchestrator xử lý việc bẻ gẫy
việc thực thi, giám sát các workflow và những thành phần tương ứng của nó cũng như
cung cấp cơ chế call-back tới workflow engine. Resource brokering được thực hiện thông
Tìm hiểu về Grid Middleware

21

qua chiến lược có thể kết hợp (pluggable strategies). Năng lực workflow dduwwojc đưa
tới người dùng trên tầng client thông qua URC. Hơn nữa, việc định nghĩa, sự đệ trình,
giám sát và điều khiển các workflow cũng có thể từ UCC. Tracing Service thu thập thông
tin runtime từ hệ thống workflow và cho phép tạo ra tiêu chuẩn hiệu suất. Người dùng
cuối có thể dùng dịch vụ tracer để hình dung quá trình thực thi của một workflow phức

tạp từ bên trong URC.
c. Tầng System
Trên tầng cuối, thành phần TSI (Target System Interface) là giao diện giữa
UNICORE và quản lý tài nguyên riêng biệt/batch system và hệ điều hành của một Grid
resource. Trong thành phần TSI các lệnh trừu tượng từ tầng Grid được chuyển đổi tới
lệnh hệ thống, ví dụ, trong trường hợp job submission, các lệnh cụ thể như llsubmit hoặc
qsub của hệ thống quản lý tài nguyên được gọi. Thành phần TSI thực hiện thiết lập thích
hợp của UID của người dùng và gọi ra môi trường của họ. Vì vậy thành phần TSI cần
được thực hiện với quyền root. Tất cả những thành phần UNICORE 6 khác tại một site
được thực thi dưới một tài khoản người dùng chuẩn, tốt nhất là một tài khoản UNICORE-
related. Uspace là thư mục job của UNICORE. Một thư mục riêng biệt tồn tại cho mọi
job, trong đó XNJS và TSI chứa tất cả dữ liệu đầu vào và tất cả các output bao gồm
stdout và stderr được ghi vào. TSI cũng cho phép truy cập tới hệ thống file cục bộ như
thư mục Home của người dùng. Những thành phần này được gọi là UNICORE Storage
và có thể được dùng trong thao tác stage-in và stage-out.
2.2. Globus
Dự án Globus cung cấp một bộ tookit mã nguồn mở, có thể được sử dụng để xây
dựng các Grid tính toán và những ứng dụng dựa trên Grid. Nó cho phép chia sẻ năng lực
tính toán, dữ liệu, các công cụ khác một cách bảo mật, an toàn trực tuyến giữa các tập
đoàn, viện nghiên cứu mà không cần loại bỏ các chính sách quản trị cục bộ. Những
service, interface, protocol nền tảng trong bộ Globus Toolkit cho phép người dùng truy
Tìm hiểu về Grid Middleware

22

cập đến các tài nguyên ở xa một cách đơn giản trong khi vẫn giữ được quyền điều khiển
cục bộ cho phép ai được dùng tài nguyên và khi nào.
Bộ Globus Toolkit (GT) giải quyết các vấn đề của công nghệ Grid Computing dựa
trên 4 thành phần chính. Ba thành phần: Resource Management, Information Service,
Data Management liên kết hoạt động trên nền tảng bảo mật chung, Security

Infrastructure. Ngoài ra GT còn cung cấp một bộ các hàm API và SDK nhằm giúp phát
triển, xây dựng những ứng dụng Grid.
GT3 được thiết kế lại để hỗ trợ hoàn toàn OGSI. Tuy nhiên, cần phải chú ý rằng
GT3 không chỉ là một bản cài đặt của OGSI. GT3 bao gồm rất nhiều dịch vụ, chương
trình, công cụ, … Một số trong chúng được xây dựng trên OGSI và được gọi là WS (Web
Services) component, một số khác không dựa trên OGSI, được gọi là pre-WS component.
Bộ GT3 tồn tại song song 2 mô hình kiến trúc như trong hình vẽ. Các nhà phát triển
có thể sử dụng một trong hai mô hình này để xây dựng các ứng dụng và các hệ thống
Grid của mình. Tuy nhiên, mô hình Grid service dựa theo OGSI được khuyến khích sử
dụng.
Tìm hiểu về Grid Middleware

23


(a) Kiến trúc non-OGSI based (GT2) (b) Kiến trúc OGSI based(GT3)
Hình 1. 1: Kiến trúc của bộ Globus Toolkit
2.2.1. Mô hình kiến trúc GT2
Trong mô hình kiến trúc GT2, có thể thấy rõ ràng 4 thành phần của bộ GT:
- GRAM đảm nhiệm phần Resource Management
- MDS đảm nhận phần Information Service
- GridFTP đảm nhận phần Data management.
Ba thành phần này được xây dựng trên nền tảng bảo mật chung là Grid Security
Infrastructure (GSI). Các thành phần được thiết kế theo mô đun, có thể sử dụng độc lập
hoặc phối hợp với nhau thông qua giao diện của từng thành phần.
Mô hình hệ thống Grid sử dụng GT2 như sau:
Tìm hiểu về Grid Middleware

24



Hình 1. 2: Mô hình các thành phần của một hệ thống sử dụng GT2
2.2.2. Mô hình kiến trúc GT3
Mô hình GT3 hơi khác biệt mô hình GT2, cũng gồm 4 thành phần nhưng các
thành phần này được thiết kế để trở thành các OGSI Grid service, được truy xuất thông
qua một giao diện chung, điều này giúp việc những ứng dụng sử dụng các service dễ
dàng hơn.
Tìm hiểu về Grid Middleware

25


Hình 7: Mô hình tổ chức các thành phần GT 3 (nguồn [1])
Các khung có nền trắng là các thành phần cung cấp bởi GT3 Core. Chúng là các
khối cơ bản để xây dựng các Grid service. Thành phần OGSI Reference Implementation
cài đặt cho tất cả các interface xác định bởi OGSI cũng như hàm API và công cụ để phát
triển OGSI Grid service. Thành phần Security Infrastructure cung cấp những dịch vụ
truyền thông SOAP cũng như thực hiện bảo vệ những thông điệp, chứng thực hai chiều
(mutual authentication) và đăng nhập một lần; thiết kế lại nền tảng GSI trong GT2 để
hoạt động trong môi trường OGSI. Hai khối cơ bản này không cung cấp các service thực
thi được nhưng là cơ sở của các service khác. Tuy nhiên, GT3 Core cũng có một số
service có khả năng thực thi nền tảng đủ tổng quát để được sử dụng và liên kết với tất cả
các Grid service khác. Những service này được gọi là System-Level Service, được xây
dựng trên cơ sở OGSI Reference Implementation và Security Infrastructure. GT3 cũng
cung cấp một số service cấp cao hơn, Base Service, như những service quản lý tài nguyên
(MMJFS), quản lý dữ liệu (RFT).
Tất cả các service và các thành phần cơ bản tương tác với một môi trường thực thi
OGSI ảo, gọi là Grid Service Container. Mục đích của container là làm lớp phân cách

×