ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ MINH
KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
MÔN HỌC: TÍNH TOÁN LƯỚI
BÁO CÁO SEMINAR
ĐỀ TÀI
GRID MIDDLEWARE
GVGD: Phạm Trần Vũ
Thực hiện:
Tăng Thị Thúy Duyên – 09070430
Trần Công Đời – 09070432
Trần Công Thanh – 09070463
Tp. Hồ Chí Minh, ngày 30 tháng 06 năm 2010
Báo cáo Seminar – Grid Middleware
MỤC LỤC
Giới thiệu:
1.1. Môi trường lưới
Một số đặc điểm thường thấy trên hệ thống lưới như:
- Tính không đồng nhất (Heterogeneity): tài nguyên trên lưới là đ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, các thư viện, 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
- Một hệ thống lưới phải có tính thích nghi, đáp ứng cao và có 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 như
là cả hệ thống phải sụp đổ 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.
Từ đó, cho thấy tính cấp thiết của một thành phần của hệ thống lưới có thể đá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 lưới từ phía người dùng và môi trường lưới bên
dưới, gọi là middleware
Trang 2
Báo cáo Seminar – Grid Middleware
Hình 1. Người dùng chỉ cần cắm và sử dụng dịch vụ mà không cần quan tâm đến
phía sau đó là gì.
1.2. Đị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ý sercurity, truy cập và trao đổi thông tin:
• Cung cấp khả năng kết nối số lượng lớn user
• Che dấu các tài nguyên chia sẽ rời rạc như máy tính, trung tâm dữ
liệu,các thiết bị khác…
• 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.3. Nhiêm vụ và lợi ích của grid middleware:
Có 3 mục đích:
• 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. Bởi 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 điều chỉ ra được các kết quả cơ bản, mang tính nền tảng như về việc xác
nhận, 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 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.
• Định nghĩa các giao thức chuẩn: Nó đị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à thiết để thực hiện tính interoperability (nghĩa là 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.
Trang 3
Báo cáo Seminar – Grid Middleware
• 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 các 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 các thành phần mã được sử dụng lại.
Khi có grid middleware thì giúp:
• Tránh cho các nhà phát triển ứng dụng không cần lập trình các mức thấp,
tránh error-prone flatform như việc lập trình mạng mức socket.
• 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.
• 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.
• 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.
1.4. Kiến trúc Grid Middleware :
Hình 2. Các thành phần của middleware nằm giữa Application và Fabric.
Grid Middleware nằm giữa hai 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 các 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
các dich 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.
Trang 4
Báo cáo Seminar – Grid Middleware
• Lớp kết cấu (fabric): bao gồm các giao thức, các giao diện ứng dụng và
các 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 hoc như kính hiểm 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.
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ý 1 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 user 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ổ các task cho các 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
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.
Trang 5
Báo cáo Seminar – Grid Middleware
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 user 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: User 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: User 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 user khi user đã đượ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 user: Để user 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
user có quyền truy xuất vào tài nguyên của tổ chức A và B, thì user
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:
o 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,…
o 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ố middleware
Trang 6
Báo cáo Seminar – Grid Middleware
2.1. Globus Toolkit
2.1.1. Giới thiệu
Globus là phần mềm nguồn mở được dùng để xây dựng các hệ thống
lưới và các ứng dụng trên nền tảng lưới. Tookit này cung cấp các dịch vụ
và thư viện điểu khiển, khám phá và quản lý tài nguyên, quản lý tập tin,
cung cấp các cơ chế bảo mật dữ liệu cho người dùng trong hệ thống lưới.
Các dịch vụ, giao tiếp và giao thức của nó cho phép người dùng có thể
dễ dàng truy xuất tới các tài nguyên ở xa ngay trên máy cục bộ của
mình.
Globus được phát triển bởi tổ chức Globus Alliance, phiên bản 1.0 ra
đời vào năm 1998, phiên bản gần đây nhất là phiên bản 5.0 ra đời vào
tháng 1 năm 2010.
2.1.2. Kiến trúc
Cấu trúc của Globus gồm 3 nhóm dịch vụ chính, các dịch vụ này
được truy xuất thông qua một tầng bảo mật (security layer). Ba nhóm
dịch vụ đó là: dịch vụ quản lý tài nguyên (Resource Management), dịch
vụ quản lý thông tin (Information Service), dịch vụ quản lý dữ liệu
(Data Management). Globus đóng gói các dịch vụ này lại với nhau,
chúng có thể được sử dụng một cách độc lập hoặc kết hợp chung với
nhau để phát triển ứng dụng.
Hình 3: Kiến trúc của Globus Toolkit
Trang 7
Báo cáo Seminar – Grid Middleware
Tầng local-service chứa các dịch vụ của hệ điều hành, dịch vụ mạng
như là TCP/IP, … Tầng chính chứa các công cụ để xây dựng các cơ chế
bảo mật, gửi các công việc để thực thi (job submission), quản lý tài
nguyên, quản lý thông tin tài nguyên. Tầng cao hơn cung cấp các dịch vụ
và công cụ để tương tác với các dịch vụ bên dưới và hiện thực các chức
năng còn thiếu.
2.1.2.1. Tầng bảo mật GSI
Tầng này cung cấp các phương thức xác thực của người dùng trong
môi trường lưới và cơ chế bảo một trong trao đổi dữ liệu. Nó dựa trên
nền tảng SSL, PKI và chuẩn X.509. Tầng GSI cung cấp các dịch vụ,
giao thức và thư viện để thực thi các vấn đề bảo mật trong môi trường
lưới như:
- Xác thực một lần (single sign-on) trong việc sử dụng các dịch
vụ của hệ thống lưới thông qua chứng nhận (certificate) của
người dùng.
- Xác thực việc sử dụng tài nguyên thông qua certificate của host
- Mã hóa dữ liệu
- Ủy quyền
Người dùng muốn truy cập vào các tài nguyên của hệ thống lưới
cần phải có một certificate subject ánh xạ với một tài khoản trên máy ở
xa được cung cấp bởi người quản trị của hệ thống. Chứng thực này cần
phải được ký bởi một tổ chức (CA) mà hệ thống tin tưởng. Hầu hết các
dịch vụ đòi hỏi người dùng phải được xác thực trước khi sử dụng các
chức năng của nó. Điều này đảm bảo việc chống thoái thác trách nhiệm
và bảo mật dữ liệu cho cả người sử dụng lẫn hệ thống.
2.1.2.2. Quản lý tài nguyên (resource management)
Gói này gồm các thành phần chính sau:
- Globus resource allocation manager (GRAM): GRAM cung
cấp khả năng thực thi các công việc trên các máy ở xa, và trả kết
quả thực hiện lại cho trình khách. Khi người dùng gửi một công
việc lên gatekeeper deamon trên máy ở xa, thì gatekeeper
deamon sẽ kiểm tra xem người dùng này đã được xác thực hay
chưa. Nếu người dùng này đã được xác thực thì nó sẽ tạo một
job manager để quản lý và điều khiển việc thực thi công việc
này. Tùy thuộc vào biểu thời gian (scheduler) của hệ thống mà
job manager có được tao ra ngay lập tức hay không. Có nhiều
Trang 8
Báo cáo Seminar – Grid Middleware
loại biểu thời gian như: Portable batch system (PBS), Load
sharing facility (LSF), và Load Leveler. Trong GRAM chứa
Globus resource specification language (RSL) dùng để chứa
các thông tin về tài nguyên mà một công việc cần để thực thi
như số lượng CPU, kích thước tối thiểu của bộ nhớ,…
- Globus access to secondary storage (GASS): GASS là cơ chế
truy cập tới các tập tin trong hệ thống, nó cho phép ứng dụng có
thể đọc, ghi các tập tin trên hệ thống từ xa. GASS sử dụng GSI
để đảm bảo đúng quyền hạn khi đọc ghi dữ liệu trên hệ thống.
2.1.2.3. Dịch vụ cung cấp thông tin của tài nguyên (Information
services)
Gói này cung cấp thuộc tính của các nút (node) tham gia vào hệ
thống lưới. Monitoring and dscovery service (MDS) cung cấp các hổ
trợ để thông báo và truy vấn các thông tin tài nguyên của hệ thống.
MDS gồm ba tầng: tầng dưới cùng là Information providers (IPs), nó
chịu trách nhiệm tập hợp dữ liệu về thông tin, trạng thái của tài
nguyên; tầng thứ hai là Grid resource information service (GRIS), nó
chịu trách nhiệm trả lời các truy vấn về thông tin của tài nguyên và cập
nhật vào cache; tầng trên cùng là Grid information index service
(GIIS), nó làm đề mục (index) cho thông tin tài nguyên được cung cấp
bởi GRIS và GIIS khác mà đăng ký với nó.
2.1.2.4. Quản lý dữ liệu (Data management)
Gói này cung cấp các tiện ích và thư viện để truyền tải, lưu trữ và
quản lý các tập dữ liệu lớn. Nó gồm 2 thành phần chính:
- GridFTP: Đây là giao thức mở rộng của giao thức FTP nhằm
đảm bảo dữ liệu được chuyển đổi trong môi trường lưới được
bảo mật, đáng tin cậy và hiệu quả. Ngoài ra, nó được chạy trên
tầng GSI nhằm đảm bảo quá trình truyền nhận được xác thực
đúng người, đúng quyền.
- Replica location and management: thành phần này hỗ trợ một
file có thể được lưu trữ nhiều nơi trong môi trường lưới.
Replica location service (RLS) chịu trách nhiệm tạo và xóa các
bản sao (replica)
2.2. UNICORE
2.2.1. Giới thiệu
Trang 9
Báo cáo Seminar – Grid Middleware
UNICORE cung cấp một môi trường lưới bao gồn client và server.
UNICORE hỗ trợ việc truy cập tới các tài nguyên tính toán và dữ liệu
trong môi trường lưới một cách dễ dàng, liền mạch và an toàn.
2.2.2. Kiến trúc
Hình 4: Kiến trúc của UNICORE
UNICORE được thiết kế theo kiến trúc ba tầng (Hình 4). Theo cách
nhìn từ phía người dùng đầu cuối, UNICORE là hệ thống khách-chủ được
xây dựng theo mô hình ba tầng gồm:
- Tầng người dùng: người dùng chạy UNICORE client trên máy
trạm hoặc máy cá nhân.
- Tầng máy chủ: Mỗi trung tâm máy tính tham gia định nghĩa một
hoặc một vài Usite (UNICORE Grid site) để trình khách có thể
kết nối vào.
- Tầng hệ thống: Usite cung cấp cơ chế truy cập đến các tài
nguyên tính toán và tài nguyên dữ liệu. Chúng được tổ chức
thành một hoặc một vài Vsite (Virtual site). Vsite có thể xem
như là một hệ thống thực thi và lưu trữ tại các máy trung tâm.
UNICORE client bao gồm hai thành phần: JPA (job preparation
agent) và JMC (job monitor component). JPA dùng để khởi tạo các công
việc, JMC điều khiển việc nhận kết quả thực thi công việc. Các công việc,
trạng thái của một yêu cầu và kết quả thực thi được mô tả trong AJO
(abstract job object). Trình khách kết nối với UNICORE Usite gateway và
gửi công việc thông qua các AJO.
Trang 10
Báo cáo Seminar – Grid Middleware
UNICORE gateway là lối vào duy nhất cho tất cả các kết nối với Usite.
Nó cung cấp một địa chỉ và một cổng để người dùng có thể kết nối vào
bằng cách sử dụng giao thức SSL.
UNICORE Vsite gồm hai thành phần: NJS (network job supervisor) và
TSI (target system interface). NJS quản lý tất cả các công việc được gửi
vào hệ thống UNICORE, thực hiện việc xác thực người dùng bằng cách
tìm kiếm một chứng thực hợp lệ của người dùng trong cơ sở dữ liệu của
nó UUDB. TSI nhận các công việc từ NJS và đưa chúng vào hệ thống để
thực thi.
2.2.3. Tổng quan về quá trình thực hiện một công việc trong
UNICORE middleware
Trình khách UNICORE tạo, thao tác, quản lý các công việc, đồng bộ
các công việc, di chuyển dữ liệu giữa các hệ thống, các site. Trình khách
tạo một AJO để gửi công việc về cho trình chủ. Trình chủ UNICORE sẽ
thực thi các công việc sau:
- Chuyển các AJO thành các action phù hợp với hệ thống.
- Đồng bộ hóa các action với nhau.
- Chuyển các công việc và dữ liệu giữa các máy trạm, các hệ
thống, và các site với nhau.
- Quản lý trạng thái.
Một đơn vị thực thi của UNICORE là một công việc. NJS sẽ thực thi
các công việc do người dùng gửi vào hệ thống. Một công việc có thể có
một hoặc nhiều công việc nhỏ. Các công việc nhỏ cũng là một công việc
và được xem như là một tác vụ đơn giản.
Khi NJS thực thi một công việc, nó sẽ tạo một thư mục trên hệ thống
cho công việc này. Thư mục này được xem như là một Uspace của công
việc. Tất cả các tập tin sử dụng trong quá trình thực thi công việc sẽ được
lưu trữ trong Uspace của công việc. Tất cả các tác vụ thực thi trong quá
trình thực thi một công việc đều không được phép truy cập trực tiếp vào
các tập tin của hệ thống (Xspace). Thay vào đó, khi một tác vụ nào đó
muốn sử dụng một tập tin của hệ thống , nó sẽ chép tập tin đó vào Uspace,
lúc nào tất cả các thao tác trên tập tin sẽ được thực hiện trên tập tin được
lưu trữ trong Uspace. Khi AJO hoàn thành việc thực thi thì Uspace của nó
sẽ được xóa đi.
2.3. gLite (gee-lite):
Trang 11
Báo cáo Seminar – Grid Middleware
2.3.1. Giới thiệu
gLite (phát âm là gee-lite) được triển khai bởi dự án The Enabling
Grids for E-sciencE (EGEE – phát âm là ee-gee). gLite là kết quả hợp tác
nghiên cứu của hơn 80 thành viên thuộc 12 viện, trung tâm nghiên cứu.
Glite cung cấp một framework để xây dựng các ứng dụng để khai thác sức
mạnh của việc tính toán và lưu trữ phân bố qua mạng internet. Phiên bản
chính thức là glite3 công bố 5-2006, phiên bản hiện tại là gLite 3.2 (thời
điểm 24-03-2010), hỗ trợ các hệ điều hành họ Linux. Thống kê ở thời
điểm tháng 5 năm 2006 gLite có phạm vi trên 42 nước, 187 site, 25 ngàn
CPU (tương đương dung lượng lưu trữ là 5PB). Thời điểm hiện tại (năm
2010), có 56 quốc gia tham gia, 375 site và trong đó Việt Nam cũng có 2
site.
gLite kết hợp nhiều thành phần trên các dự án khác nhau như: Conor,
Globus, Hệ thống Grid với gLite hợp, quản trị các tài nguyên và dịch vụ
trong phạm vi những Tổ chức ảo VO (Virtual Organization), là một cách
tổ chức hệ thống lưới mô phỏng theo dạng tổ chức thật, giúp cho nhà quản
trị có thể dễ dàng quản trị hệ thống cũng như quản trị người dùng. Một VO
bao gồm một tập các cá nhân hoặc tổ chức mà có quyền truy cấp đến máy
tính, dữ liệu, phần mềm và các tài nguyên khác phục vụ cho việc giải
quyết các vấn đề hợp tác và các mục đích khác trong nhiều lĩnh vực từ
khoa học đến công nghiệp.
2.3.2. Kiến trúc
gLite hoạt động theo hướng dịch vụ (SOA), tùy theo ngữ cảnh mà có
thể có một hoặc nhiều dịch vụ tham gia để xử lý công việc.
Trang 12
Báo cáo Seminar – Grid Middleware
Hình 5. Kiến trúc gLite
Các dịch vụ trên gLite được chia làm 5 nhóm chính, cụ thể như sau:
- Phương thức Grid Access hỗ trợ giao tiếp giữa lưới và người
dùng, giao tiếp thông qua CLI hoặc API.
- Nhóm dịch vụ Helper gồm các dịch vụ hỗ trợ người dùng và
giám sát, điều chỉnh hệ thống.
- Nhóm dịch vụ Security bao gồm các dịch vụ bên trong cho phép
nhận dạng các thực thể (người sử dụng, hệ thống và dịch vụ),
cho phép hoặc từ chối truy cập đến dịch vụ hay tài nguyên và
cung cấp thông tin cho việc phân tích các sự kiện liên quan đến
bảo mật. Nó cũng cung cấp các chức năng cho việc bí mật dữ
liệu và một dịch vụ kết nối động.
- Nhóm dịch vụ Information và Monitoring cung cấp một cơ chế
xuất bản và tiêu thụ thông tin và sử dụng nó cho mục đích giám
sát. Hệ thống thông tin và giám sát có thể được sử dụng trực
tiếp để xuất bản, ví dụ như thông tin liên quan đến tài nguyên
trên Grid. Các dịch vụ đặc biệt hơn như Job Monitoring và
Network Performance Monitoring có thể được xây dựng trên
đỉnh.
- Nhóm dịch vụ Data gồm các dịch vụ liên quan đến việc truy cập
file và dữ liệu: Storage Element, File & Replication Catalog và
Data Management. Đơn vị lưu trữ là SE (Storage Element) là
dịch vụ đĩa đơn giản hoặc hệ thống lưu trữ băng phân cấp phức.
Dịch vụ danh mục sẽ nắm giữ vị trí dữ liệu cũng như các siêu
dữ liệu liên quan (checksum hoặc các thông về kích thước, ngày
tạo lập, hiệu chỉnh file) và dịch vụ di chuyển dữ liệu cho phép
Trang 13
Báo cáo Seminar – Grid Middleware
dữ liệu được quản trị được truyền giữa các SE. Việc truy cập
file được điều khiển bởi Access Control Lists (ACLs). Siêu dữ
liệu đặc tả ứng dụng được mong muốn không chỉ được lưu trữ
trong các dịch vụ gLite cơ bản mà còn trong thư mục siêu dữ
liệu đặc tả ứng dụng. Tất cả các dịch vụ quản trị dữ liệu hoạt
động trên các file đơn hoặc là tập hợp các file.
2.3.3. Một số đặc điểm trên các nhóm dịch vụ chính:
2.3.3.1. Security Services:
Kịch bản như hình sau sẽ cho thấy cách nhìn tổng quát về các
thành phần trên Security Services.
Hình 6. Kịch bản security
Mô tả:
B1 Người sử dụng thu được ủy quyền Grid từ các lưu trữ ủy quyền
và các token cần thiết mà xác nhận quyền người sử dụng truy
cập tài nguyên. Các ủy quyến này có thời gian sống ngắn và
được truyền từ các ủy quyền dài hạn hơn, chẵn hạn như chứng
nhận nhận dạng X.509 được đưa ra bởi CA. EGEE sử dụng
myProxy là bộ lưu trữ ủy nhiệm và Virtual Organization
Membership Service VOMS như một cấp quyền thuộc tính.
VOMS cũng còn được sử dụng để quản lý các thành viên của
VO.
Trang 14
Báo cáo Seminar – Grid Middleware
B2 Người sử dụng và các bộ chứa dịch vụ sẽ xác thực nhận dạng lẫn
nhau và thiết lập một kênh kết nối bảo mật qua mạng (mở) với
việc bảo vệ tích hợp, xác thực và tin cậy và trên đó thông điệp
SOAP được truyền. Mặc định nó được hoàn tất bởi việc sử dụng
HTTP qua TLS. Và sự kiện kết nối được thiết lập sẽ được ghi
lại.
B3 Trong việc xác thực ở bước 2, lớp xác thực đánh giá việc nhận
dạng người dùng với anchor và thông tin thu hồi ủy quyền nếu
nó tồn tại. Kết quả của việc đánh giá này sẽ ghi lại. Các bộ chứa
dịch vụ tiếp nhận payload và định hướng nó đến các điểm cuối
chính xác. Trong trường hợp bảo mật cấp độ thông điệp, việc
kiểm tra tính xác thực và tích hợp diễn ra ở đây (sau khi thông
điệp được tiếp nhận từ mạng).
B4 Thủ tục cấp quyền bảo đảm rằng người dùng sẽ được cho phép
truy cập đến tài nguyên, bởi việc xác nhận thuộc tính kết hợp và
chính sách VO (gởi cùng với yêu cầu) với chính sách site nội bộ
và các nguồn khác của điều khiển truy cập.
B5 Trong trường hợp sự ủy quyền đại diện được sử dụng, người
dùng sử dụng ủy quyền đến tài nguyên được ủy quyền đóng vai
trò nhân danh người dùng. Chú ý tuy vậy việc ủy quyền thông
thường diễn ra bởi một yêu cầu điểm cuối riêng lẻ và là phần của
luồng thông điệp cấp độ ứng dụng giữa người dùng và dịch vụ.
B6 Đặc tả ứng dụng lấy yêu cầu. Thủ tục cấp quyền có thể sử dụng
cho việc đánh giá và tham khảo thêm.
B7 Dịch vụ tích hợp với tài nguyên, mà lần lượt có thể được ủy
quyền. Kỹ thuật Sand-boxing và kỹ thuật cô lập giới hạn tác
động người dùng vào tài nguyên trong phạm vi mong muốn
tránh việc sử dụng có ý hay không định trước hay trong tình
huống xấu nhất vi phạm bảo mật. Điều đó bao gồm:
B7.a Sử dụng tải nguyên trong không gian người dùng khác
nhau hơn trong bộ chứa dịch vụ đó.
B7.b Hỏi ý kiến Dynamic Connectivity Service để thực hiện tạm
thời cho phép việc kết nối mạng bên ngoài lẫn bên trong
đến tài nguyên.
B7.c Cung cấp sự bảo vệ thêm của các ủy quyền bởi việc sử
dụng Active Credential Store. Nó hữu dụng trong trường
hợp sử dụng dài hạn một tài nguyên, nơi mà một sự khôi
phục ủy quyền có thể cần thiết.
2.3.3.2. Information and monitoring services:
Trang 15
Báo cáo Seminar – Grid Middleware
gLite sử dụng cấu trúc R-GMA cho dịch vụ thông tin và giám sát,
được thiết kế để dễ dàng cho người dùng cuối xuất bản thông tin và
truy vấn thông tin trên môi trường Grid. Hình sau sẽ chỉ nguyên lý
tổng quát của R-GMA. Dữ liệu sẽ được viết trong cơ sở dữ liệu ảo
R-GMA bởi các producer và đọc từ nó bởi các consumer. R-GMA
không là một hệ thống quản trị dữ liệu phân tán. Thay vào đó nó
cung cấp một hệ thống thông tin dự đoán trước và hữu dụng.
Hình 7. Cấu trúc R-GMA
Định nghĩa lược đồ (schema)
Tác vụ đầu tiên cho người dùng là định nghĩa cái cần thiết để
xuất bản. Nó có một hay nhiều bảng theo mô hình mối quan hệ.
Một kỹ thuật thông dụng trong việc thiết kế các giản đồ quan hệ là
việc sử dụng khóa đại diện: là một số nguyên nhỏ có thể được sử
dụng như khóa ngoại để thiết lập mối quan hệ. Một trường hợp tiêu
biểu là ký nhận một departmentId đến mỗi bộ phận và sau đó sẽ
chứa như một cột trong bảng nhân viên. Điều này làm việc tốt cho
cơ sở dữ liệu được quản lý đơn với một cơ chế ký nhận giá trị
departmentId, nhưng nó sẽ không làm việc trong Grid.
Producers
Producer là người cung cấp dữ liệu cho cơ sở dữ liệu ảo. Việc viết
dữ liệu sang cơ sở dữ liệu ảo được biết như là publishing, và dữ liệu
luôn luôn xuất bản trong những dòng hoàn thành, gọi là tuple. Có 3
lớp producer: Primary, Secondary và On-demand. Mỗi loại được
tạo bởi ứng dụng của người dùng và trả về tuple đáp lại truy vấn từ
comsumer. Sự khác nhau chính là ở nơi tuple đến.
Trang 16
Báo cáo Seminar – Grid Middleware
Consumer
Trong R-GMA, mỗi consumer đưa ra một truy vấn SQL SELECT
đơn trên cơ sở dữ liệu ảo. Truy vấn này đầu tiên sẽ đối xánh với
danh sách các producer có sẵn trong registry và một tập các
producer có khả năng trả lời truy vấn được lựa chọn.
Có bốn kiểu truy vấn: continuous, lastest, history và static. Tất cả
chúng đều được trình bày bởi một truy vấn SQL bình thường qua
đó sẽ có một số hạn chế trên truy vấn liên tục.
2.3.3.3. Workload management services
Workload Management System (WMS) bao gồm một tập các
thành phần Grid middleware đáp ứng được các tác vụ quản trị và
phân tán qua tài nguyên Grid, theo đó các ứng dụng sẽ được xử lý
một cách hiệu quả. Loại đặc trưng của các tác vụ mà yêu cầu tính
toán thì thường được nói đến như các job. Trong WMS, phạm vi
của các tác vụ cần được mở rộng để đưa vào sổ kế toán các loại tài
nguyên khác chẵn hạn như việc lưu trữ hay khả năng mạng.
Thành phần lõi của Workload Management System là Workload
Manager (WM), mà mục đích của nó là để chấp nhận và thỏa mãn
yêu cầu của việc quản trị job đến từ các client của nó. Thành phần
cơ bản khác là Job Logging và Bookkeeping Service. Cho job liên
quan tính toán sẽ có hai yêu cầu chính: submission và cancellation.
Trạng thái của yêu cầu sẽ được quản lý bởi dịch vụ Logging và
Bookkeeping.
The gLite Job Description Language
Một job sẽ được thông qua đến gLite WMS cần được mô tả trong
một ngôn ngữ đặc trưng, gLite Job Description Language (JDL).
JDL được sử dụng cho gLite và khởi đầu phát triển cho dự án EU
DataGrid, dựa trên ngôn ngữ Condor ClassAd
WMS User Interfaces
Sau khi đã tạo được phần mô tả ứng dụng, người dùng mong
muốn có thể lờ đi tính phức tạp của tài nguyên Grid và có thể xem
xét chúng đến Workload Management System và giám sát quá trình
phát triển của chúng trên Grid.
Các chức năng của WMS bao gồm như sau:
Trang 17
Báo cáo Seminar – Grid Middleware
- Đề trình Job (bao gồm các DAG) cho việc xử lý trên một
Computing Element, cũng bao gồm:
o sự lựa chọn và khám phá tài nguyên một cách tự
động
o trạng thái của sandbox đầu vào ứng dụng
o khởi động lại job từ trạng thái checkpoint được
lưu từ trước
o giao tiếp tương tác với job đang chạy
- Danh sách các tài nguyên phù hợp để chạy job đặc trưng
theo yêu cầu job
- Hủy bỏ một hay nhiều job
- Thu hồi những file đầu ra của một hay nhiều job
- Thu hồi thông tin bookkeeping và logging của các job
Logging and Bookkeeping
Dịch vụ Logging và Bookkeeping được sử dụng bởi WMS nội
tại để tập hợp các thông tin khác nhau trên các job đang chạy và
cung cấp cho người dùng cái nhìn tổng quan về trạng thái job. Dịch
vụ thu thập các sự kiện trong một cách non-blocking bất động bộ
với cơ chế truyền mạnh mẽ.
2.3.3.4. Data management service
Trong Grid, người dùng định nghĩa các file bởi logical file
name (LFN). LFN namespace là hệ phân cấp, giống với hệ thống
file quy ước. Mặc ngữ nghĩa của LFN namespace cũng rất giống
với hệ thống file Unix. LFN thì không chỉ tên/nhận dạng mà được
kết hợp với một file trên Grid, mặc dù người dùng trung bình có thể
không bao giờ sử dụng tên file khác.
Chúng ta có các tên sau nhận dạng dữ liệu trong Grid: LGN –
Logic File Name, GUID – Global Unique Identifier, Logical
Symlink, SURL, TURL.
Dịch vụ dữ liệu có thể được đặt qua ba danh mục: storage,
catalog và movement.
Trang 18
Báo cáo Seminar – Grid Middleware
2.3.3.5. Qúa trình Submit một Job đến khi nhận kết quả:
Hình 8. Quá trình gửi công việc và nhận kết quả.
Công việc được người dùng gửi lên qua giao diện người dùng,
WMS phân tích và chọn các tài nguyên phù hợp cho tác vụ và gửi
đến các đơn vị tính toán, công việc được chia thành các tiểu công
việc và được gửi đến các node trên lưới thực hiện. Sau khi có kết quả
tính toán, thông tin được tổng hợp lại tại đơn vị tính toán ban đầu đã
gửi đi tiểu công việc đến các node, WMS tổng hợp và trả kết quả lại
người dùng.
2.4. So sánh giữa các Middleware:
Bảng thống kê đặc điểm trên như một tóm tắt về các Middleware
thông dụng. Trong phạm vi hạn hẹp về kiến thức của tác giả báo cáo
(chưa sử dụng qua hết các Middleware trên) nên tác giả chỉ đưa ra một
số nhận xét chứ không đánh giá.
Trang 19
Báo cáo Seminar – Grid Middleware
Hình 9. So sánh giữa các Middleware
Một số nhận xét chỉ mang tính tham khảo:
- Về mặt xác thực, cả 3 công cụ điều dùng 1 chuẩn X.509
- Về Web service thì GT4 có OGSA hỗ trợ, UNICORE thì
dùng WSRF 1.2.
- Nghi thức truyền file thì GT4 và gLite đều sử dụng GridFTP
- Về thư viện thì gLite chỉ dùng ngôn ngữ C, trong khi
UNICORE sử dụng Java, còn GT4 có khả năng hỗ trợ cả
C,Java, Python.
- Đặc trưng riêng của gLite là chỉ chạy trên 1 nền hệ điều
hành duy nhất đó là Scientific Linux, do đó gLite chủ yếu là
dùng cho nghiên cứu khoa học.
3. Kết luận:
Báo cáo tập trung vai trò cần thiết phải có Middleware trong môi trường lưới, vai
trò, kiến trúc của Middle và giới thiệu một vài Middleware.
Dựa trên kiến trúc tổng quát của lưới, có thể nói rằng Middleware đã giảm đi độ
phức tạp khi thao tác trên lưới, giúp người dùng có một cách nhìn thân thiện, đơn giản
về kiến trúc hạ tầng phức tạp của lưới
Trang 20
Báo cáo Seminar – Grid Middleware
Hình 10. 3 lớp trung gian giữa Application và Fabric trong kiến trúc lưới được đưa
vào Middleware.
Qua việc trình bày một số Middleware cho thấy giữa các Middleware có nhiều đặc
điểm đặc trưng như: cơ chế xác thực, phải dịch vụ nhận công việc từ người dùng
(thường là Web service), thành phần phân tích công việc để chọn tài nguyên phù hợp
cũng như phát hiện các dịch vụ phù hợp và gởi đến các node thực hiện, thực hiện xong
thì tổng hợp lại và trả kết quả.
Mặc dù bài báo cáo trình bày trên nhiều trang nhưng chưa đủ cơ sở để chắc chắn
rằng kiến thức trình bày là đủ và đúng hoàn toàn, mong nhận được chỉ dạy thêm từ
Thầy qua các địa chỉ mail sau:
Trần Công Thanh -
Tăng Thị Thúy Duyên -
Trần Công Đời –
Trân trọng chào Thầy!
Nhóm báo cáo.
Trang 21
Báo cáo Seminar – Grid Middleware
Tài liệu tham khảo
[1] Fran Berman and Anthony J. G. Hey, 2003, Grid computing: Making
the Global Infrastructure a Reality, John Wiley & Sons Ltd, 1060pages.
[2] G. von Laszewski & K. Amin, 2004,Grid Middleware, Edited by
Quasay H.Mahmoud, Middleware for Communications, John Wiley and
Sons Lt.d, 2004
[3] Jamie M. Robinson and Bharat V. Bedi, 2005, Sensor Networks and
Grid Middleware for Laboratory , in Proceedings of the First
International Conference on e-Science and Grid Computing, IEEE
Computer Society Washington, DC, USA, pp. 562 - 569.
[4] Parvin Asadzadeh and Srikumar Venugopal, 2004, Global Grids and
Software Toolkits: A Study of Four Grid Middleware Technologies, Grid
Computing and Distributed Systems Laboratory, University of
Melbourne, GRIDS-TR-2004-4, , 19 pages
[5] Globus homepage, (07/04/2010)
[6] UNICORE homepage. (07/04/2010)
[7] gLite homepage, (07/04/2010)
[8] Laure,E. et al, 2006, Programming the Grid with gLite, EGEE Technical
Reports, 18 pages
[9] Xon Xay, Nguyen Tuan Viet, Tram The Phien, 2009, Báo cáo seminar
GRID COMPUTING MIDDLEWARE, 18 page
Trang 22