Để sử dụng những tài nguyên này mộtcách hiệu quả, ta cần phải có một số middleware để truy cập tới tài nguyên trên Grid,điều phối sử dụng tài nguyên theo chính sách của các VO và bảo vệ
Trang 1T Ì M H I Ể U V Ề
G L I T E M I D D L E W A R E
Đề tài:
TIỂU LUẬN MÔN HỌC:
ĐIỆN TOÁN LƯỚI VÀ ĐÁM MẤY
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
GVHD: PGS TS NGUYỄN PHI KHỨ HVTH: VŨ QUỐC HƯNG
MSHV: CH1301016
Trang 2Mục lục
Trang 3Danh mục hình vẽ
Trang 4Tóm tắt
Hiện nay, tính toán lưới đang nổi lên như một công nghệ nhiều hứa hẹn trongtương lai, với khả năng tập hợp các nguồn tài nguyên nhàn rỗi, nhằm hướng tới cácmục tiêu về hiệu năng tính toán và khả năng chia sẻ, truyền thông dữ liệu Nhiều trungtâm nghiên cứu và các tổ chức trên thế giới đáng áp dụng và triển khai công nghệ nàyvào thực tiễn, mở ra các khả năng mới trong lĩnh vực công nghệ thông tin cũng nhưcác lĩnh vực khác
Môi trường tính toán lưới là một hạ tầng kết nối nhiều hệ thống máy tính, hệthống mạng, hệ thống cơ sở dữ liệu được sở hữu và quản lý bởi nhiều tổ chức, cá nhânnhằm cung cấp môi trường tính toán ảo duy nhất với hiệu năng cao cho người sửdụng Nhờ đó tính toán lưới là một giải pháp hiệu quả đối với các bài toán đòi hỏi mộtlượng tài nguyên lớn nhất định Để xây dựng một hệ thống tính toán lưới, cần có mộtmiddleware đảm nhiệm vai trò làm trung gian, cung cấp môi trường và các dịch vụ cơbản cần thiết Các bộ công cụ được xây dựng nhằm mục đích trợ giúp việc xây dựng
hệ thống grid như Globus, gLite, UNICORE vẫn không ngừng phát triển Đặc biệt,gLite là một middleware được cộng đồng nghiên cứu Châu Âu hỗ trợ và phát triểnmạnh trong những năm gần đây Bài tiểu luận này chủ yếu nói về glite và cách glitehoạt động trên grid
Trang 5I Giới thiệu chung về Grid và Grid Middleware
Hệ thống Grid là một tập hợp những tài nguyên tính toán, tài nguyên lưu trữ,tài nguyên kết nối, và thiết bị khoa học Những tài nguyên này là những yếu tố tạo nênphần fabric của Grid Tài nguyên tính toán có thể là siêu máy tính, máy chủ, hệ thốngcụm máy tính hoặc là máy tính cá nhân thường là được phân bố trên những vùng địa líkhác nhau, những tổ chức khác nhau
Những dụng cụ khoa học như kính thiên văn hoặc mạng cảm biến cung cấp dữliệu thời gian thực để lưu trữ vào cơ sở dữ liệu Những thiết bị khoa học này thườngkhông tập trung, không đồng nhất và lai ghép Để sử dụng những tài nguyên này mộtcách hiệu quả, ta cần phải có một số middleware để truy cập tới tài nguyên trên Grid,điều phối sử dụng tài nguyên theo chính sách của các VO và bảo vệ cho người cungcấp dịch vụ
Grid Middleware cung cấp cho người dùng khả năng tính toán giống nhau trênmọi nền tảng, truy cập đồng nhất vào các tài nguyên không đồng nhất trên Grid Quátrình phát triển phần grid middleware cần phải có khả năng chia sẻ, khả năng sử dụnglại, và khả năng mở rộng để làm giàm thiểu thời gian cần thiết cho việc phát triển vàtriển khai lại Grid middleware là một tập hợp những API, giao thức, và phần mềmcho phép tạo ra và sử dụng hệ thống Grid Mặc dù grid thường được sử dụng bêntrong một hoặc một số tổ chức, và việc phát triển các API như là một phần của cácmiddleware là có thể nhưng nó không cung cấp một giao diện trừu tượng cho những
dự án thực tế Bởi vì sự phức tạp trong kiến trúc của Grid và sự đa dạng về tính năngnên sự tương tác giữa middleware và những phần mềm khác là rất cần thiết
Để dễ dàng ứng dụng vào thực tế, một grid middleware thường có kiến trúcphân tầng Trong kiến trúc chung của một Grid, tầng dưới cùng, là tầng fabric – tậphợp các nguồn tài nguyên trên Grid, tầng trên cùng là lớp ứng dụng Tầng middleware
là tầng nằm giữa hai tầng trên Ngoài ra tầng middleware còn có thể chia thành haitầng con tách biệt Theo cách tiếp cận này thì toàn bộ grid gồm bốn thành phần:
Trang 6Hình 1.1 Mô hình Grid
Trong mô hình này, tầng middleware được chia làm hai mức: core middleware vàuser-level middleware
Core middleware cung cấp những dịch vụ cơ bản như: quản lý công việc từ
xa, đăng ký tài nguyên, truy xuất dữ liệu, đăng ký thông tin dịch vụ, phát hiệndịch vụ, bảo mật và chất lượng dịch vụ như đặt chỗ tài nguyên Những dịch vụnày có nhiệm vụ trừu tượng hóa, che dấu sự phức tạp và không đồng nhất củatầng fabric bằng cách cung cấp một phương thức duy nhất và ổn định để truycập tới những tài nguyên phân bố trên Grid
User-level middleware là một dạng middleware mà trong đó có sử dụng
những giao diện đã được cung cấp ở lớp dưới để tạo nên những dịch vụ ở mứccao hơn Đó là những bộ công cụ phát triển, môi trường phát triển, quản lý tàinguyên và định thời cho những ứng dụng chạy trên một tài nguyên chung
Trang 7II Những chức năng trên Grid Middleware
Những thành phần trong Grid Middleware cung cấp cho người dùng nhữngchức năng cần thiết để tối ưu việc sử dụng Grid Những chức năng này gồm có chứcnăng cơ bản như: xác thực, cấp quyền, truy cập tài nguyên, truyền tải dữ liệu và giámsát Ngoài ra còn có những chức năng phức tạp khác như quản lý tài nguyên, đăng kýtài nguyên, quản lý công việc, quản lý thông tin có thể được phát triển dựa trênnhững chức năng cơ bản
1 Những chức năng cơ bản
Những chức năng cơ bản trong Grid middleware gồm có thực thi công việc,bảo mật, dịch vụ thông tin và truyền tải file
Dịch vụ thực thi công việc hỗ trợ việc nhận công việc để chạy trên một tài
nguyên ở xa Trên tài nguyên này đã được thiết lập những yếu tố bảo mật dodịch vụ bảo mật cung cấp để những người có đúng thẩm quyền mới được sửdụng Cơ chế bảo mật có liên quan đến xác thực người dùng, cấp quyền, vàtruy xuất thông tin an toàn đến tài nguyên trên lưới Trong quá trình thực thi,dịch vụ này phải cung cấp được thông tin về tiến độ và trạng thái của côngviệc Do đó việc quản lý các công việc này đều dựa vào một mã số duy nhất ởtrong tài nguyên grid nhằm tạo thuận lợi cho việc quản lý cũng như là lập lịch
để chạy chúng
Dịch vụ bảo mật cung cấp cơ chế xác thực và cấp quyền cho người sử dụng để
truy xuất tới tài nguyên trên grid Những cơ chế này được dựa trên nền bảo mậtcủa mạng máy tính Những giao thức và phương thức cổ điển của bảo mậtmạng đã được ứng dụng vào Grid như mã hóa, chữ ký số và nhiều cơ chế bảomật cơ bản khác Đối với việc xác thực người dùng thì PKI và Kerberos là hai
cơ chế được sử dụng nhiều nhất Ngoài ra hệ thống Grid cần phải hỗ trợ chế độđăng nhận một lần (single sign-on) để hỗ trợ việc thực thi các công việc cần sửdụng những tài nguyên trên grid ở nhiều site khác nhau, trường hợp này người
ta thường sử dụng một chứng nhận ủy quyền để thực hiện
Dịch vụ thông tin: thông tin trên môi trường grid luôn luôn biến động như
trạng thái của tài nguyên, một tài nguyên có thể được kết nối hoặc ngắt kết nối
ra khỏi grid bất kì lúc nào, địa chỉ của những dịch vụ có thể bị thay đổi Mộtdịch vụ thông tin cung cấp khả năng truy vấn thông tin về tài nguyên và nhữngdịch vụ, ví dụ như mức độ hoạt động của CPU, tổng dung lượng bộ nhớ còntrống hay đã sử dụng, trạng thái của một dịch vụ Những thông tin này sẽđược ghi lại và được phân tích nhờ những dịch vụ mức cao hơn như thực thicông việc Gần đây, dịch vụ thông tin thường được gắn kèm với web ngữ nghĩa
để cung cấp khả năng truy vấn thông tin hiệu quả hơn
Trang 8 Truyền tải dữ liệu: cung cấp khả năng truyền dữ liệu an toàn và hiệu quả mà
một công việc cần từ địa chỉ gốc tới nút tính toán, truy xuất cần thiết Người sửdụng chỉ cần ra một lệnh đơn giản kiểu như: “chuyển file A từ máy chủ X tớimáy chủ Y với tên mới là file B một cách nhanh nhất có thể” Một số chứcnăng phụ như chia nhỏ file lên nhiều nơi hoặc truyền tải dữ liệu song songthường được áp dụng khi có lượng dữ liệu lớn
2 Những chức năng nâng cao
Dựa trên những chức năng cơ bản được cung cấp bởi Grid Middleware, một sốlượng các dịch vụ cấp cao hơn, phức tạp hơn được phát triển thêm Dịch vụ quản lýfile, dịch vụ quản lý thông tin và dịch vụ quản lý công việc có thể được coi là cácthành phần chính của các dịch vụ loại này
Dịch vụ quản lý file: cho phép người sử dụng điều khiển quá trình truyền tải
file và giám sát trạng thái của chúng Grid Middleware cần phải cung cấpnhững chức năng này cho người sử dụng và che giấu hiện thực phức tạp bêntrong Dịch vụ replica là một phương pháp để tăng cường dư thừa dữ liệu nhằmmục đích giảm bớt chi phí chuyển đổi file Một tập hợp các dịch vụ liên replicađược cung cấp bởi middleware như dịch vụ theo dõi vị trí của replica, quản lýreplica
Quản lý thông tin cho phép truy vấn thông tin về dung lượng lưu trữ và tài
nguyên tính toán cũng như thông tin xuất ra từ những thành phần khác trongGrid Nó cũng bao gồm trạng thái thực thi các công việc để sử dụng cho việcthu thập, lưu trữ và phân tích Thông tin về tài nguyên và cách truy cập các tàinguyên đó sẽ cung cấp cho người sử dụng một cái nhìn tổng quát về sự chiếmdụng tài nguyên trên Grid Ngoài ra, dịch vụ thông tin này thường đi kèm vớidịch vụ giám sát Dịch vụ thông tin và giám sát giúp cho người sử dụng tìmkiếm tài nguyên và thông tin liên quan tới tài nguyên đó nên nó giữ một vai tròrất quan trọng trong hệ thống Grid
Quản lý công việc là một dịch vụ khá quan trọng khác nhằm giải quyết sự liên
quan giữa những dịch vụ với nhau như bảo mật, truyền tải dữ liệu và dịch vụthông tin Một công việc được người dùng nhập vào thường có nhiều công việccon bên trong và sử dụng dữ liệu lớn, và có thể là khối lượng tính toán lớn, khảnăng chịu lỗi
Trang 9III Glite
1 Giới thiệu
gLite là một tập hợp của các thành phần được thiết kế để cho phép chia sẻ tàinguyên trên lưới gLite được tạo ra bởi dự án Enabling Grids for E-sciencE project(EGEE) và hiện đang được phát triển bởi dự án EMI với mục đích hỗ trợ xây dựngcác hệ thống tính toán lưới của dự án, dùng trong các lĩnh vực : Khoa học máy tính vàcông nghiệp, Khoa học về sự sống, Hóa học, Khoa học về trái đất, Vật lý năng lượngcao, Vật lý hạt nhân, Nghiên cứu vũ trụ,… gLite gắn liền với những tổ chức ảo –VO( Virtual Organization) và được phát triển dùng cho việc tính toán trên Grid Phiênbản đầu tiên của gLite ra đời năm 2005, và gLite đang ngày càng được phát triển vàkhông ngừng ra phiên bản mới với sự tích hợp của những nét mới và những công nghệ
đã phát triển trước đó (như globus, condor, ) nên có thể dùng thay thế cho các phầnmềm middleware hiện nay và vẫn đảm bảo được chất lượng dịch vụ
gLite cung cấp cho người dùng với dịch vụ cấp cao như: lập lịch và thực thi cáccông việc tính toán truy cập và chuyển dữ liệu thu thập thông tin về cơ sở hạ tầng lướicũng như các ứng dụng lưới Các dịch vụ có sẵn trong bản phân phối gLite có thểđược chia thành hai loại chính:
Các dịch vụ cơ bản (Grid Middleware Foundation): bao gồm các cơ sở hạ
tầng bảo mật, thông tin, giám sát và hệ thống kế toán, truy cập các tài nguyênmáy tính và lưu trữ, cung cấp thành phần cơ sở cho một cơ sở hạ tầng phù hợp
và đáng tin cậy
Các dịch vụ mức cao (Higher-level Grid Middleware): bao gồm các dịch vụ
để quản lý công việc, danh mục dữ liệu và sao chép dữ liệu, cung cấp các ứngdụng với giải pháp withend-to-end
Các ứng dụng hoạt động trên môi trường gLite phải truy cập đến cả hai tầngdịch vụ cơ bản và dịch vụ mức cao như hình bên dưới Các truy cập này có thể thôngqua CLI hoặc API
Trang 10Hình 3.1 Các thức truy cập dịch vụ từ ứng dụng trong gLite
2 Kiến trúc gLite
gLite được phát triển dựa trên kiến trúc hướng dịch vụ (SOA) do đó nó dễ dàngtương tác của các dịch vụ, thích ứng tốt với tiêu chuẩn mở và đáp ứng thuận lợi hơncác tiêu chuẩn được công bố sau này như OGSA Các dịch vụ có thể làm việc độc lậphoặc có thể làm việc cùng nhau, tuy vậy nó vẫn có thể được triển khai và sử dụng mộtcách độc lập cho phép việc khai thác chúng trong những ngữ cảnh khác nhau gLiteđồng thời còn đưa ra framework chung cho phát triển ứng dụng trong môi trường lưới.Hình sau mô tả các dịch vụ ở cấp cao có thể được chia thành 5 nhóm dịch vụ
Trang 11Hình 3.2 Kiến trúc dịch vụ gLite
Dịch vụ Security bao gồm các dịch vụ Authentication, Authorization,
Auditing, Dynamic Connectivity 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àinguyê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ảomậ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
o Authentication: xác định các thực thể (người sử dụng, hệ thống, và dịch vụ),căn cứ vào chứng nhận X.509
o Authorization: cho phép hoặc từ chối truy cập đến các dịch vụ và nguồn lực
cụ thể, ba mô hình phân quyền cơ bản: đại diện (agent), đẩy (push) và kéo(pull)
o Auditing: theo dõi và cung cấp thông tin phân tích thử nghiệm các sự kiệnbảo mật liên quan Tìm hiểu về Grid Middleware
o Dynamic Connectivity: nhằm giải quyết những vấn đề phát sinh khi kết nối
bị hạn chế bởi các chủ sở hữu tài nguyên
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
Trang 12nguyên trên Grid Các dịch vụ đặc biệt hơn như Job Monitoring và NetworkPerformance Monitoring có thể được xây dựng trên đỉnh.
o R-GMA Components: cung cấp một phương pháp thống nhất để truycập và công bố thông tin phân phối và giám sát dữ liệu
o Job Mornitoring service: giám sát tình trạng thực thi của các công việctrên lưới
o Discovery service: cung cấp một tiêu chuẩn thiết lập các phươngpháp để định vị lưới dịch vụ
o Network Performance Monitoring: giám sát hiệu suất của mạng
Dịch vụ Job Management Các dịch vụ chính có liên quan đến việc quản trị và
thực thi job là thành phần tính toán, quản trị workload, tài khoản, phát sinh job
và các dịch vụ quản trị gói Các thành phần tính toán CE cung cấp trừu tượnghóa của một tài nguyên tính toán (điển hình như là một hàng đợi khối của mộtcluster của siêu máy tính hay thậm chí là workstation đơn) Nó cung cấp thôngtin về các tài nguyên bên dưới và cung cấp một giao diện chung để xác nhận vàquản lý job trên tài nguyên
o Accounting: tích lũy thông tin về cách sử dụng các nguồn tài nguyêntrong lưới
o Computing element: đại diện cho một nguồn tài nguyên máy tính (mộtcụm, siêu máy tính, máy trạm duy nhất)
o Workload Management: bao gồm một tập hợp các thành phần Gridmiddleware chịu trách nhiệm phân phối và quản lý các tác vụ trên cáctài nguyên trong lưới
o Job Provenance: cung cấp thông tin liên tục trên các job được xử lý trên
hạ tầng Grid cho việc xem xét sau đó, các hoạt động data-mining và quátrình làm lại có thể xảy ra Cuối cùng dịch vụ quản lý gói PM cung cấpviệc triển khai động của các phần mềm ứng dụng
o Package Manager: là một dịch vụ trợ giúp tự động hóa quá trình cài đặt,nâng cấp, cấu hình, và loại bỏ các gói phần mềm từ một khu vực đượcchia sẻ
Dịch vụ Data Ba dịch vụ chính có liên quan đến việc truy cập file và dữ liệu:
Storage Element, File & Replication Catalog và Data Management Trong tất
cả các dịch vụ quản lý dữ liệu miêu tả bên dưới có tính chất của dữ liệu ở cấp
độ file Tuy nhiên, các dịch vụ này thì đủ khái quát để mở rộng đến các cấp độkhác
o Storage Element (SE): cung cấp các triều tượng hóa về tài nguyên lưu
Trang 13ứ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ợpcác file.
o Metadata catalog services: theo dõi các vị trí dữ liệu và siêu dữ liệu liênquan (kích thước file, )
o Data movement services: cho phép quản lý truyền dữ liệu hiệu quả giữacác thành phần lưu trữ
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ệ
Thuộc tính cấp quyền (authority) cho phép VO quản trị việc điều khiển truycập Trong khi dịch vụ xác nhận chính sách cho phép việc hợp nhất và quản trị trungtâm của chính sách thông dụng Một nền tảng Authorization cho phép việc tùy chọn,phân xử, tập hợp các chính sách từ các miền quản trị khác nhau cũng như việc tíchhợp các bộ chức dịch vụ và các dịch vụ kế thừa
Các chức năng miêu tả trong kiến trúc bảo mật EGEE trong trường hợp tốt nhấtnhúng vào các bộ chứa dịch vụ hay chính trong ứng dụng, Vì những lý do hoạt động,
nó không đưa vào như là các Web Service riêng biệt Vấn đề quan trọng là kiến trúcbảo mật được sử dụng bởi EGEE cho phép việc mở rộng với các triển khai Grid vàcác dự án Middleware khác