Ðó là một nền tảng framework để các thành phần trong lưới có thể giao tiếp được với nhau, trong đó: - Globus Alliance tạo ra bộ công cụ Globus Toolkit GT mã nguồn mở, bao gồm các thư việ
Trang 1BỘ KHOA HỌC VÀ CÔNG NGHỆ VIỆN CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH KHCN CẤP NHÀ NƯỚC KC.01/06-10
Đề tài:
NGHIÊN CỨU, PHÁT TRIỂN HỆ THỐNG TÍNH TOÁN LƯỚI
ĐỂ HỖ TRỢ GIẢI QUYẾT CÁC BÀI TOÁN
CÓ KHỐI LƯỢNG TÍNH TOÁN LỚN
Chủ nhiệm đề tài nhánh: PGS TS Vũ Đức Thi
Viện Công nghệ thông tin
8574
Hà Nội, 9 - 2009
Trang 21
DANH MỤC CÁC BẢNG 5
DANH MỤC CÁC HÌNH VẼ 5
MỞ ĐẦU 9
0.1 Giới thiệu chung về tính toán lưới 13
0.2 So sánh tính toán lưới với một số mô hình tính toán khác 15
0.3 Các tổ chức tham gia vào quá trình phát triển của tính toán lưới 18
0.4 Một số dự án trên thế giới đã và đang thực hiện 19
CHƯƠNG 1 GIẢI PHÁP KỸ THUẬT, CÔNG NGHỆ VÀ KẾT NỐI CHO VNGRID 28
1.1 Giới thiệu về Globus Toolkit 28
1.2 Kiến trúc quản lý tài nguyên trong GT 33
1.3 Các dịch vụ thông tin trong GT 35
1.4 Kết luận 52
CHƯƠNG 2 XÂY DỰNG QUI TRÌNH CÔNG NGHỆ VÀ GIẢI PHÁP KHOA HỌC ĐỂ KẾT NỐI VỚI VNGRID 54
2.1 Mở đầu: 54
2.2 Nội dung khoa học công nghệ đã thực hiện 55
2.3 Các kết quả đã đạt được: Xây dựng một IntraGrid thử nghiệm (Tested VNGRID) 61
2.4 Kết luận 68
2.5 Kiến nghị 69
CHƯƠNG 3 KẾT NỐI VNGRID VỚI TỔ CHỨC PRAGMA VÀ MỘT SỐ NƯỚC KHÁC TRONG KHU VỰC 70
3.1 Mở đầu: 70
3.2 Nội dung khoa học công nghệ đã thực hiện 70
3.3 Kết luận: Các kết quả đã đạt được 76
CHƯƠNG 4 QUẢN LÝ THỰC THI CÔNG VIỆC TRÊN HỆ THỐNG LƯỚI 79
Trang 32
4.2 Giải pháp xây dựng hệ thống quản lý thực thi trong VNGrid 83
4.3 Triển khai hệ thống quản lý thực thi trong VNGrid 88
4.4 Thử nghiệm cài đặt 97
CHƯƠNG 5 GIẢI PHÁP AN TOÀN, BẢO MẬT VÀ XÁC THỰC CHO HỆ THỐNG LƯỚI 99
5.1 Giới thiệu về an ninh lưới 99
5.2 Hạ tầng an ninh lưới 108
5.3 An ninh hạ tầng lưới 115
CHƯƠNG 6 ACCESS GRID VÀ TRIỂN KHAI TRÊN VNGRID 120
6.1 Nghiên cứu Access Grid 120
6.2 Nghiên cứu và triển khai giao thức IP Multicast trên Grid 121
6.3 Nghiên cứu AGTK để triển khai việc truyền nhận dữ liệu đa phương tiện trên Access Grid 121
6.4 Ứng dụng chia sẻ của Access Grid 123
6.5 Kết nối giữa các tổ chức 124
CHƯƠNG 7 TRIỂN KHAI CÔNG CỤ GIÁM SÁT LƯỚI 124
7.1 Phân tích yêu cầu để xác định chức năng cần thiết của hệ thống giám sát 125
7.2 Dịch vụ thông tin lưới 130
CHƯƠNG 8 CÁCH THỨC LẬP TRÌNH TRÊN LƯỚI 137
8.1 Lập trình lưới hóa và phân tán trong tính toán lưới 137
8.2 Một số công cụ hỗ trợ lập trình trên lưới 140
8.3 Môi trường hỗ trợ lập trình trên lưới 144
8.4 Những mô hình lập trình và công cụ hỗ trợ 147
8.5 Một số cách thức triển khai ứng dụng trên lưới 152
CHƯƠNG 9 VNGRID PORTAL 159
9.1 Những vấn đề cần giải quyết của cổng thông tin 159
9.2 Giải pháp công nghệ cho cổng thông tin chung VNGRID 160
Trang 43
9.4 Triển khai các công cụ CSF (Comminity Scheduler Framework), SRB
(Storage Resource Broker) để quản lý và giám sát trênGridPortal 168
9.5 Tích hợp tài nguyên của các nút lưới vào cổng thông tin chung VNGRID 170
9.6 Tích hợp trang thông tin của các tổ chức vào VNGRID portal 173
9.7 Kết luận 177
CHƯƠNG 10 TRIỂN KHAI DỊCH VỤ LƯỚI DỮ LIỆU 178
10.1 Tổng quan về lưới dữ liệu 178
10.2 Lưới dữ liệu và các công nghệ hỗ trợ lưới dữ liệu 180
10.3 Triển khai dịch vụ lưới dữ liệu trên VNGrid Portal 189
10.4 Kết luận 196
CHƯƠNG 11 TRIỂN KHAI BÀI TOÁN TIN SINH HỌC 197
11.1 Giới thiệu 197
11.2 Hệ thống cập nhật tự động dữ liệu từ ngân hàng dữ liệu NCBI 199
11.3 Hệ thống căn chỉnh để tìm mức độ tương đồng của các trình tự sinh học 200
11.4 Hệ thống lập bản đồ gen trong việc chẩn đoán bệnh từ các quần thể khác nhau 209
11.5 Hệ thống căn chỉnh nhiều chuỗi lưới hóa dựa trên việc xây dựng cây phân loài 210
CHƯƠNG 12 NGHIÊN CỨU TRIỂN KHAI THỬ NGHIỆM BÀI TOÁN THÁM MÃ KHỐI TRÊN HỆ THỐNG LƯỚI 218
12.1 Mô tả sơ lược sản phẩm 218
12.2 Tổng kết giải thuật song song thám mã vét cạn trên GRID 258
12.3 Giải thuật song song thám mã vét cạn trên GRID 261
CHƯƠNG 13 TRIỂN KHAI BÀI TOÁN DỰ BÁO KHÍ TƯỢNG THỦY VĂN 263
13.1 Mở đầu 263
13.2 Nội dung khoa học công nghệ đã thực hiện 265
Trang 54
CHƯƠNG 14 TRIỂN KHAI BÀI TOÁN THỰC TẠI ẢO 280
14.1 Vấn đề cơ bản trong bài toán thực tại ảo 280
14.2 Một số thuật toán trong thực tại ảo 282
14.3 Phân rã và tính toán lưới cho điều khiển 286
14.4 Triển khai thử nghiệm bài toán thực tại ảo trên lưới 288
14.5 Kết luận 293
CHƯƠNG 15 ĐÁNH GIÁ CHUNG VÀ HƯỚNG PHÁT TRIỂN 294
15.1 Đánh giá chung 294
15.2 Hướng phát triển 295
Trang 65
Bảng 1.1: Các giao diện chuẩn của môt dịch vụ lưới 37
Bảng 1.2: Sự khác biệt giữa các dịch vụ thông tin trong GT2 và GT3 41
Bảng 3.1: Các đơn vị tham gia chia sẻ tài nguyên trong PRAGMA 72
Bảng 12.1: Bảng tham số hoán vị PC1 và PC1New 223
Bảng 14.1 Tọa độ của tiếp điểm trong các trường hợp 284
DANH MỤC CÁC HÌNH VẼ Hình 0.1: Lưới tính toán 11
Hình 0.2: Lưới như một tổ chức ảo 13
Hình 0.3: Diễn đàn lưới toàn cầu GGF 18
Hình 0.4: Các tổ chức phát triển công cụ hỗ trợ lưới 19
Hình 0.5: Dự án BioGrid 20
Hình 0.6: Dự án lưới tính toán khoa học của Bộ Năng lượng, Hoa Kỳ 21
Hình 0.7: Dự án tính toán lưới trong vật lý phân tử 23
Hình 0.8: Dự án thương mại hóa tài nguyên trên lưới 24
Hình 0.9: Dự án e-Science 25
Hình 0.10: Tổ chức PRAGMA 26
Hình 1.1: Cấu trúc của GT4 29
Hình 1.2: Các dịch vụ cơ bản của GT 31
Hình 1.3: Kiến trúc Globus Toolkit 4.0 32
Hình 1.4: Quản lý tài nguyên trong GT 33
Hình 1.5: Dịch vụ định vị toàn cầu 35
Hình 1.6: Dịch vụ chỉ mục 40
Hình 1.7: Ví dụ về kiến trúc bảo mật trong GT4 44
Trang 76
Hình 1.9: Mô hình của một trạm TTL 48
Hình 1.10: Globus ToolKit 4 50
Hình 2.1: Lớp các dịch vụ OGSA và WSRF 56
Hình 2.2: Kiến trúc của GT4.x 58
Hình 2.3: Mô hình phần cứng một Headnode 63
Hình 2.4: Các lớp phần mềm trung gian cài trên một head node 64
Hình 2.5: Trung tâm quản trị VNGRID 67
Hình 3.1: Mô hình phần cứng một Headnode 73
Hình 3.2: Phần mềm cài trên Headnode 74
Hình 4.1: Kiến trúc chung của hệ quản trị thực thi 81
Hình 4.2: Hoạt động của Globus Scheduler PBS 85
Hình 4.3: Giao tiếp giữa GRAM & PBS_Server 87
Hình 4.4: Mô hình hoạt động tổng quát của dịch vụ lấy thông tin từ Cluster 90 Hình 4.5: Biểu đồ mô tả quá trình đệ trình công việc 93
Hình 4.6: Biểu đồ mô tả quá trình xem trạng thái công việc 94
Hình 4.7: Biểu đồ trình tự hoạt động lấy kết quả 95
Hình 4.8: Biểu đồ mô tả quá trình hủy công việc 96
Hình 4.9: Giao diện quản lý thông tin cluster trên VNGrid Portal 97
Hình 4.10: Giao diện Lập lịch và Quản lý thực thi trên VNGrid Portal 98
Hình 5.1: Chứng chỉ số 105
Hình 5.2: Các thủ tục GSI 108
Hình 5.3: Thủ tục xác thực 111
Hình 5.4: Thủ tục ủy quyền bởi proxy của server 112
Hình 7.1: Hệ thống thông tin lưới 128
Hình 7.2: Mô hình cơ sở dữ liệu quan hệ của hệ thống thông tin lưới 130
Hình 8.1: Mô hình chia sẻ không gian bộ nhớ 138
Hình 8.2: Mô hình truyền thông điệp 139
Trang 87
Hình 8.4: Cách 1 - Batch Anywhere 154
Hình 8.5: Cách 2 - Independent Concurrent Batch 155
Hình 8.6: Cách 3 - Parallel Batch 156
Hình 8.7: Cách 4 - Service 157
Hình 8.8: Cách 5 - Parallel Services 157
Hình 8.9: Cách 6 - Tightly Coupled Parallel Programs 158
Hình 9.1: Kiến trúc tổng quan của Gridsphere 161
Hình 9.2: Vòng đời của một Portlet 162
Hình 9.3: Portlet dữ liệu sẵn sàng để sử dụng 164
Hình 9.4: Portlet lưới dữ liệu trong VNGridportal 165
Hình 9.5: Liệt kê tệp tin, thư mục trong lưới 166
Hình 9.6: Tạo thư mục mới trên lưới 166
Hình 9.7: Đổi tên/thư mục trong lưới 167
Hình 9.8: Xóa tệp tin hoặc thư mục 167
Hình 9.9: Tải tệp tin lên lưới 168
Hình 9.10: Trang chủ VNGrid Portal 177
Hình 10.2: Kiến trúc lưới dữ liệu 5 tầng do Ian Foster đề xuất 183
Hình 10.3: Lấy về giấy ủy nhiệm 192
Hình 10.4: Danh sách giấy ủy nhiệm 193
Hình 10.5 Portlet lưới dữ liệu trong VNGridportal 193
Hình 10.6: Liệt kê tệp tin, thư mục trong lưới 194
Hình 10.7: Tạo thư mục mới trên lưới 194
Hình 10.8: Đổi tên/thư mục trong lưới 195
Hình 10.9: Xóa tệp tin hoặc thư mục 195
Hình 10.10 Tải tệp tin lên lưới 196
Hình 11.1: Mô hình làm việc của hệ thống 200
Hình 11.2: Sơ đồ của thuật toán PhylTree 211
Trang 98
Hình 12.3: Các bước tính toán mã hóa IDEA 224
Hình 12.4: Sơ đồ mã hóa AES 232
Hình 12.6: Sơ đồ thám mã trên GRID 238
Hình 12.7: Sơ đồ vận hành của tiến trình cấp phát và quản lý khóa 259
Hình 12.8: Sơ đồ vận hành của một tiến trình thám mã 260
Hình 13.1: Mô hình RAMS trên lưới 267
Hình 13.2: kết quả dự báo tổ hợp dữ liệu bão Chanchou 271
Hình 13.3: Phân bố lượng mưa theo dự báo tổ hợp tại các thời điểm 275
Hình 13.4: Kết quả thử nghiệm cơn bão Megi 278
Hình 14.1: Bề mặt vật thể được chia nhỏ 286
Hình 14.2: Miếng nhận ánh sáng từ các miếng xung quanh 286
Hình 14.3: Giải thuật Ray tracing 286
Hình 14.4: Các thành phần trong hệ thống thực tại ảo 288
Hình 14.5: Sơ đồ tổng quát của một quy trình hình thành dữ liệu thực tại ảo290 Hình 14.6: Dữ liệu thực tại ảo cho mô hình Văn Miếu-Quốc Tử Giám 291
Hình 14.7: Giao diện chính của phần mềm VRAnimal 1.0 292
Trang 109
Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật và công nghệ
đã xuất hiện những bài toán trong nhiều lĩnh vực đòi hỏi sức mạnh tính toán
mà một máy tính riêng lẻ, dẫu có cấu hình rất mạnh không thể đảm trách được Xuất phát từ những nhu cầu đó, các kỹ thuật tính toán lưới hóa, tính toán phân tán được đề xuất và đã phần nào đáp ứng được các yêu cầu này Tuy nhiên, tham vọng của các nhà chuyên môn không dừng lại ở đó Mong muốn tạo ra một sức mạnh tính toán lớn hơn, với khả năng chia sẻ tài nguyên trên phạm vi toàn cầu, tận dụng các phần mềm, cũng như tài nguyên vật lý phân tán về mặt địa lý Các tổ chức giải quyết vấn đề này bằng hai cách:
- Đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán (mua thêm máy chủ, máy trạm, siêu máy tính, cluster ) Cách làm này hết sức tốn kém
- Có một cách làm khác hiệu quả hơn đó là phân bố hợp lý lại các nguồn tài nguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (dự
án với chi phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính toán) Thực tế cho thấy một phần lớn các nguồn tài nguyên đang được sử dụng lãng phí: các máy để bàn công sở thường chỉ hoạt động khoảng 5% công suất, ngay
cả các máy chủ cũng có thể chỉ phải hoạt động với 20% công suất Việc tận dụng hiệu quả các nguồn tài nguyên này có thể mang lại một sức mạnh tính toán khổng lồ
Cách giải quyết thứ hai chính là mục tiêu của tính toán lưới Tính toán lưới hướng đến việc chia sẻ và sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổ chức trên một quy mô rộng lớn (thậm chí là quy mô toàn cầu) Chính các công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm qua
đã biến những khả năng này dần trở thành hiện thực Các nghiên cứu về tính toán lưới đã và đang được tiến hành là nhằm tạo ra một cơ sở hạ tầng lưới cho phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong môi trường lưới
Trang 1110
của tính toán phân tán Mục đích là tạo ra một máy tính ảo lớn mạnh từ một tập lớn các hệ thống không đồng nhất nhằm nâng cao khả năng tính toán, chia sẻ các tài nguyên khác nhau
Các nhà khoa học tại Argone National Labs thuộc đại học Chicago (Mỹ)
là những người đầu tiên đề xuất ý tưởng về tính toán lưới Thuật ngữ lưới ở đây xuất phát từ lưới điện (electricity grid), ngụ ý rằng bất cứ một thiết bị tương thích nào đều có thể gắn vào trong lưới và được xếp ở một mức tài nguyên nào
đó mà không cần quan tâm đến nguồn gốc của tài nguyên đó Trong tương lai, tính toán lưới có thể cung cấp cho người sử dụng các dịch vụ đóng vai trò như
là dịch vụ cơ sở hạ tầng sử dụng hàng ngày như điện, nước, giao thông
Các công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm qua biến những khả năng này dần trở thành hiện thực Các nghiên cứu về tính toán lưới đã và đang được tiến hành là nhằm tạo ra một cơ sở hạ tầng lưới cho phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong môi trường lưới Hai nhóm gồm Globus Alliance (được sự tài trợ của một vài trường đại học tại Mỹ như đại học Chicago, đại học Berkeley ) và Global Grid Forum (các thành viên bao gồm các hãng lớn như IBM, Sun, MicroSoft ) là các trung tâm nghiên cứu đáng chú ý hiện nay Các nhóm này đã tạo ra các chuẩn mã nguồn mở và các giải pháp phần mềm cho công nghệ mới mẻ này
Ðó là một nền tảng (framework) để các thành phần trong lưới có thể giao tiếp được với nhau, trong đó:
- Globus Alliance tạo ra bộ công cụ Globus Toolkit (GT) mã nguồn mở, bao gồm các thư viện phần mềm và các dịch vụ cho phép người phát triển tạo
ra các ứng dụng lưới Thư viện của GT cung cấp các hàm đảm bảo vấn đề như
an ninh, cơ sở hạ tầng thông tin, quản lí tài nguyên lưới, tính tin cậy, tính khả chuyển
- Global Grid Forum quản lí các tiến trình chuẩn cho việc đặc tả kiến
Trang 1211
Grid Services Infrastructure) Các chuẩn OGSA, OGSI và bộ cung cụ Globus Toolkit giúp cho các nhà phát triển triển khai một cách thuận tiện các giải pháp tính toán lưới trong nhiều lĩnh vực nghiên cứu chuyên sâu ở Mỹ và châu Âu như: dự án tìm kiếm các tín hiệu ngoài trái đất SETI (Search for Extraerrestrial Intelligence), dự án về nghiên cứu bản đồ gen người, dự án IPG (Information Power Grid) của NASA Ðó là những ứng dụng tiêu biểu tạo sự thành công ban đầu của tính toán lưới trong giai đoạn nghiên cứu
Hình 0.1: Lưới tính toán Hình 0.1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán về mặt địa lý, các tài nguyên rất phong phú, đa dạng, bao gồm tập các siêu máy tính, các thiết bị truyền thông vệ tinh, các kho lưu trữ, các cluster tính toán hiệu năng cao, các tổ chức ảo liên kết trong lưới Người dùng trong lưới cũng hết sức đa dạng, từ các người dùng thông thường, cho tới các người dùng chuyên dụng, có kiến thức sâu về chuyên môn như các nhà nghiên cứu, các nhà khoa học Và lưới chính là sự tập hợp, chia sẻ, chọn lựa các nguồn tài nguyên
Trang 1312
hệ cluster để đạt hiệu năng tốt hơn trong tương lai
Các thách thức mà công nghệ tính toán lưới đang phải giải quyết bao gồm:
- 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 toá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 CSDL, 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 là hoàn toàn không dễ dàng
Ban đầu tính toán lưới được đặt ra chủ yếu là để tận dụng các nguồn tài nguyên tính toá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
Trang 1413
- 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 nhất định khi
tham gia vào lưới, nhưng nói 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 toà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
Theo Ian Foster, một hệ thống lưới là hệ thống có 3 đặc điểm chính sau:
- Phối hợp các tài nguyên phân tán từ nhiều miền quản trị khác nhau
- Sử dụng các chuẩn mở và các giao thức mở
- Mang lại cho người dùng chất lượng dịch vụ không tầm thường
Điểm thứ 2 rất đáng lưu ý Vì lưới là một môi trường thu hút nhiều tổ chức tham gia nên không thể coi nhẹ vai trò của các chuẩn mở và các giao thức
mở, cũng giống như việc sử dụng các chuẩn này đã giúp cho mạng Internet bùng nổ mạnh mẽ trong những năm 90 của thế kỉ trước
0.1 Giới thiệu chung về tính toán lưới
Tính toán lưới (TTL) có nghĩa là tất cả hoặc một phần của nhóm máy tính và thiết bị lưu trữ trong mạng được “ảo hóa” (virtualized) thành một máy tính lớn Khi một người sử dụng chiếc máy tính cá nhân tham gia, đóng góp sức mạnh xử lý trong một mạng lưới, muốn chạy một ứng dụng đòi hỏi thêm sức mạnh xử lý Công việc vốn được giải quyết trên chiếc máy đó, sẽ được tự động phân bổ cho các máy khác trong lưới đang “rảnh rỗi”, không bị trưng dụng tài nguyên tính toán vào công việc nào khác
Trang 1514
thay vì thành lập các trung tâm tính toán hiệu năng cao sẽ thành lập các trung tâm tính toán lưới (Center for Grid Computing) Các trung tâm này không giới hạn trong phạm vi một trường, một viện nghiên cứu, mà được kết nối với những trung tâm ở nhiều địa điểm khác nhau Tháng 8/2001, Ủy ban Khoa học Quốc gia Mỹ (NFS) đã xây dựng một lưới tính toán nối các siêu máy tính trên toàn quốc thành một nguồn xử lý tính toán có tên gọi Distributed Terascale Facility do Trung tâm Siêu máy tính Quốc gia (NCSA) quản lý, có thể triển khai các tính toán và truy cập vào hệ thống tính toán lưới qua cổng thông tin (Information Portal)
Các Công ty lớn như IBM, từ năm 2001 đã đưa vào kế họach xây dựng
50 trung tâm tính toán lưới trên toàn thế giới với chi phí tổng cộng trên 4 tỷ đô
la Hãng Sun Microsystems có dự án mã nguồn mở Grid Engine sau khi mua lại Công ty GridWare vào tháng 7/2001
Các nhà vật lý phân tử ở Anh xây dựng một hệ thống grid khổng lồ vào
12/2004 ở Nottingham, gọi là GridPP Mạng máy có tên Large Hadron
Collider Computing Grid (LCG) được thiết lập từ hơn 6.000 máy tính phân bố
ở nhiều vị trí trên toàn thế giới Dự án tính toán lưới GridPP tập hợp 1.000
chiếc của các nhà vật lý Anh từ 12 địa điểm khác nhau Ngoài ra, Large
Hadron Collider (LHC) được xây dựng tại trung tâm nghiên cứu CERN của
Thụy Sĩ Các thí nghiệm vật lý hạt nhân được thực hiện sẽ tạo ra những lượng
dữ liệu khổng lồ: khoảng 13 petabyte mỗi năm (1 petabyte = 1.024 terabyte, tức là hơn 1.000.000 gygabyte) LCG gắn với một phương thức xử lý dữ liệu trên lưới chứ không thuần túy là một cỗ máy, siêu máy tính thực sự và tốn kém Theo Hội đồng nghiên cứu thiên văn và vật lý hạt nhân Anh (PPARC), đến năm
2007, LCG sẽ có sức mạnh tương đương 100.000 máy tính nhanh nhất hiện nay được kết hợp lại và tạo ra một siêu máy tính ảo Thiết bị này có thể được
mở rộng và phát triển thêm nếu cần thiết Các kỹ sư tham gia dự án GridPP
Trang 1615
những điểm thích hợp nhất, thực thi các chương trình ứng dụng và gửi trả kết quả trong thời gian thực
0.2 So sánh tính toán lưới với một số mô hình tính toán khác
0.2.1 World Wide Web
WWW hiện nay đang phát triển mạnh mẽ và được sử dụng rộng khắp
Sử dụng các chuẩn mở và các giao thức mở (TCP, HTTP, XML, SOAP) WWW có thể được sử dụng để xây dựng các tổ chức ảo Tuy nhiên, nó vẫn còn thiếu một số đặc tính quan trọng như các cơ chế chứng thực một lần, ủy nhiệm, các cơ chế phối hợp sự kiện
0.2.2 Các hệ thống tính toán phân tán
Các công nghệ tính toán phân tán hiện tại bao gồm CORBA, J2EE và DCOM khá thích hợp cho các ứng dụng phân tán Tuy nhiên, chúng không cung cấp một nền tảng phù hợp cho việc chia sẻ tài nguyên giữa các thành viên của tổ chức ảo Một số khó khăn có thể kể ra là khai phá tài nguyên, đảm bảo
an ninh và xây dựng động các tổ chức ảo Tuy nhiên, đã có một số nghiên cứu nhằm mở rộng những công nghệ này cho môi trường lưới như Java JINI
0.2.3 Các nhà cung cấp dịch vụ ứng dụng và dịch vụ lưu trữ
Các nhà cung cấp ứng dụng và dịch vụ lưu trữ thường cung cấp cho người dùng một số ứng dụng cụ thể nào đó cũng như không gian lưu trữ Người dùng tương tác với nhà cung cấp dịch vụ thông qua mạng riêng ảo (VPN) hoặc các đường truyền dành riêng và vì vậy loại bỏ được rất nhiều nguy
cơ về an toàn bảo mật Do vậy, khi sử dụng loại dịch vụ này, ngữ cảnh thu hẹp hơn tính toán lưới rất nhiều
0.2.4 Các hệ thống tính toán ngang hàng
Tính toán ngang hàng là một tiếp cận trong tính toán phân tán Các hệ thống tính toán ngang hàng phổ biến hiện nay là SETI@home hay các mạng ngang hàng chia sẻ tập tin như Napster, Kazaa, Morpheus và Gnutella Điểm
Trang 1716
người sử dụng hướng tới: Tính toán lưới có cộng đồng người sử dụng có thể nhỏ hơn, nhưng tập trung vào các ứng dụng và có yêu cầu cao hơn về an ninh cũng như tính toàn vẹn của ứng dụng Trong khi đó, các hệ thống mạng ngang hàng có thể có số người sử dụng rất lớn, bao gồm cả các người dùng đơn lẻ và các tổ chức Tuy nhiên, không đòi hỏi cao về an ninh và mô hình chia sẻ tài nguyên cũng đơn giản hơn
Ngoài ra, môi trường lưới liên kết các nguồn tài nguyên mạnh hơn, đa dạng hơn và chặt chẽ hơn
0.2.5 Công nghệ tính toán hiệu năng cao
Như đã nói ở trên, để giải quyết những bài toán lớn người ta có thể đầu
tư cho cơ sở hạ tầng tính toán Để giải quyết những bài toán rất lớn và phức tạp, người ta phải xây dựng những hệ thống siêu máy tính Các hướng nghiên cứu trong tính toán hiệu năng cao chủ yếu bao gồm:
- Nghiên cứu chế tạo những siêu máy tính tuần tự đơn bộ vi xử lý với tốc
độ rất cao Cách làm này gặp phải các giới hạn về vật lý như độ truyền dẫn của bán dẫn, tốc độ điện từ, nhiễu điện từ
- Nghiên cứu chế tạo các siêu máy tính lưới hóa bao gồm rất nhiều bộ xử
lý hoạt động lưới hóa trên một bảng mạch chủ Cách làm này đòi hỏi phải có những phần mềm thích hợp để tận dụng năng lực tính toán của hệ thống ví dụ:
hệ điều hành lưới hóa phân tán, trình biên dịch lưới hóa, ngôn ngữ lập trình lưới hóa Tuy nhiên, việc nghiên cứu chế tạo ra các siêu máy tính nói chung mới chỉ được thực hiện ở các nước phát triển và giá thành của một hệ thống siêu máy tính như vậy (bao gồm cả phần cứng lẫn phần mềm hệ thống, công cụ phát triển) có thể lên đến hàng triệu đô la Xây dựng hệ thống tính toán hiệu năng cao bằng cách kết nối nhiều máy tính thông thường với nhau thành một cluster Bằng cách này trung tâm CDAC của Ấn Độ đã tạo ra được siêu máy tính xếp thứ 173 trong số top 500 siêu máy tính của thế giới Trung tâm NCHC
Trang 1817
tính của thế giới, tính trước thời điểm 2007
Ngữ cảnh của các cluster hẹp hơn hệ thống tính toán lưới rất nhiều, thể hiện ở các điểm sau:
- Trước hết các cluster thuộc về một tổ chức, các tài nguyên của cluster
là các máy tính thường là đồng nhất về mặt kiến trúc, hệ điều hành, khả năng
xử lý phân bố trên một giới hạn địa lý rất hẹp (ví dụ trong một phòng máy)
và được liên kết với nhau bởi các mạng LAN tốc độ cao (cỡ vài trăm Mbits – Gbits), nói chung có độ tin cậy cao Ngược lại, lưới bao gồm tập hợp rất nhiều tài nguyên đa dạng, không đồng nhất, thuộc nhiều tổ chức, phân tán về mặt địa
lý được liên kết với nhau bởi các mạng diện rộng có tốc độ thấp hơn và mức độ tin cậy kém hơn
- Trong cluster các vấn đề về an ninh không được coi trọng Vấn đề chủ yếu là làm sao để có được hiệu năng cao và không cần thiết phải hy sinh một phần hiệu năng vì các thủ tục an ninh (vì cluster chỉ thuộc về một tổ chức và chỉ nằm trong một phòng máy) Trong khi đó vấn đề an ninh là một trong những vấn đề quan trọng nhất mà tính toán lưới phải giải quyết
- Trong cluster người ta có thể làm mọi thứ để đổi lấy hiệu năng, chẳng hạn tối ưu hóa phần cứng phần mềm, sửa đổi nhân hệ điều hành hoặc viết hẳn những hệ điều hành chuyên biệt, thay đổi giao thức Tính toán lưới không đặt vấn đề hiệu năng lên hàng đầu mà chủ yếu tập trung vào việc làm sao phân bổ
và sử dụng hiệu quả các nguồn tài nguyên Tất nhiên, khi đã đạt được mục tiêu
đó, tính toán lưới cũng mang lại hiệu năng rất cao, thậm chí hơn nhiều lần các siêu máy tính hiện có và chủ yếu là do quy mô cực kỳ rộng lớn của nó
Cuối cùng, cũng cần phải nói rằng tính toán lưới không phải là chìa khóa vạn năng dùng để giải quyết mọi vấn đề Nó được dùng để bổ trợ chứ không phải là thay thế hoàn toàn các công nghệ tính toán hiện tại Các công nghệ tính toán đã tồn tại cũng đã giải quyết từng phần các yêu cầu do tính toán lưới đặt ra
Trang 1918
có thể giải quyết các vấn đề đó một cách tập trung và bài bản hơn với một ngữ cảnh rộng hơn rất nhiều
0.3 Các tổ chức tham gia vào quá trình phát triển của tính toán lưới
Các tổ chức tham gia vào quá trình phát triển của tính toán lưới có thể chia ra làm bốn nhóm lớn sau:
0.3.1 Các tổ chức phát triển các chuẩn cho lưới
Đại diện cho nhóm này là diễn đàn lưới toàn cầu (GGF – Global Grid Forum) và các tổ chức chuẩn hóa quốc tế khác như OASIS (Organization for the Advancement of Structured Information Standards), W3C (World Wide Web Consortium), IETF (the Internet Engineering Task Force) và DMTF (the Distributed Management Task Force) Hiện nay một trong những hoạt động chính của GGF là phát triển chuẩn dịch vụ lưới OGSA
Hình 0.3: Diễn đàn lưới toàn cầu GGF
0.3.2 Các tổ chức phát triển các bộ công cụ, framework và middleware
Bao gồm nhiều trường đại học, các viện nghiên cứu Các tổ chức này đã cho ra đời rất nhiều các bộ công cụ phát triển lưới như Legion, Condor, Nimrod, Unicore, Globus
Trang 2019
0.3.3 Các tổ chức xây dựng và sử dụng các giải pháp lưới
Có thể kể ra một số lưới tiêu biểu trên thế giới như: NASA Information Power Grid của NASA, Science Grid của bộ quốc phòng Mỹ, dự án EuroGrid của liên minh châu Âu với nhiều lưới con như Bio Grid, Metro Grid, Computer-Aided Engineering (CAE) Grid, High Performance Center (HPC) Research Grid, Terra Grid của tổ chức Quỹ nghiên cứu khoa học Quốc gia (NSF)
0.3.4 Các tổ chức đưa công nghệ lưới vào sản phẩm thương mại
Trong nhóm này có nhiều công ty hợp tác trong ngành công nghiệp máy tính như IBM, SUN, HP, Các hãng này đưa ra nhiều giải pháp khác nhau dựa trên nền công nghệ tính toán lưới Hiện nay trên thế giới đã có sự phân biệt giữa công nghệ tính toán lưới mang tính hàn lâm và công nghệ tính toán lưới trong doanh nghiệp
0.4 Một số dự án trên thế giới đã và đang thực hiện
Dự án BioGrid: Đây là dự án thực hiện bởi trường Đại học Osaka, nằm
trong chương trình công nghệ thông tin của chính phủ Nhật Bản, với sự phối hợp giữa các bộ giáo dục, văn hóa, thể thao, khoa học và công nghệ Dự án như
là một bước khởi đầu để xây dựng mạng siêu máy tính nhằm giải quyết những vấn đề của sinh học và y khoa đặt ra Dự án bao gồm 3 mục tiêu chính:
Trang 2120
Hình 0.5: Dự án BioGrid
- Phân tích để triển khai một mạng siêu máy tính
- Nghiên cứu về công nghệ lưới dữ liệu (data grid technology) cho phép giải quyết các bài toán với những kiểu dữ liệu khác nhau của các cơ sở
dữ liệu lớn
- Nghiên cứu về công nghệ tính toán lưới (computing grid technology) qua đó tham gia giải quyết những bài toán xử lý dữ liệu đòi hỏi nguồn tài nguyên tính tính toán rất mạnh (ultra high-speed computing)
Trang 2221
(Hình 0.6) Đây là dự án được xây dựng quy mô lớn nhằm phối hợp giữa nhiều
cơ quan khoa học của Mỹ Nhằm tạo cơ sở hạ tầng công nghệ thông tin (cyberinfrastructure) phục vụ cho việc phát triển và triển khai các lĩnh vực tính toán phân tán (distributed computing), xử lý dữ liệu và khai thác nguồn tài nguyên công cụ (instrument resources) Mục tiêu dự án bao gồm:
- Cung cấp khả năng xử lí tính toán của các bài toán khoa học đòi hỏi thời gian tính toán lớn
- Cung cấp khả năng xử lý dữ liệu độc lập với vị trí địa lý yêu cầu và tạo
ra một sự quản trị trong suốt đối với người yêu cầu và hệ thống
- Tạo môi trường truyền thông trên cơ sở những nền tảng đã có để tạo sự trong suốt giữa hệ thống và người sử dụng
- Tạo môi trường để khai thác và chia sẻ phần mềm, công cụ để tính toán
và xử lý dữ liệu
Hình 0.6: Dự án lưới tính toán khoa học của Bộ Năng lượng, Hoa Kỳ
Trang 2322
lý phân tử và các nhà nghiên cứu tin học của 19 trường đại học của Vương quốc Anh (UK) và CERN (European Organization for Nuclear Research) Dự
án nhằm khảo sát những bài toán lớn chẳng hạn chuẩn bị dữ liệu cho các trận
lũ lụt lớn quy mô như đại hồng thủy Dự án này bắt đầu từ năm 2001 và giai đoạn 2 bắt đầu từ 01/2004, kết thúc vào năm 2007 Mục tiêu ban đầu của
dự án:
- Phát triển các ứng dụng và cho phép những nhà vật lý phân tử sử dụng
hệ thống lưới để phân tích dữ liệu
- Xây dựng các phần mềm trung gian (middleware) để quản trị hoạt động trên môi trường tính toán lưới và cả những vấn đề an toàn, an ninh của hệ thống
- Triển khai cơ sở hạ tầng tính toán trong toàn Vương quốc Anh theo khuôn mẫu lưới tính toán
Mặc dù xuất phát từ như cầu của những nhà vật lý phân tử, nhưng hệ thống về sau cũng được sự tham gia của các nhà khoa học trong các lĩnh vực khác Từ đó đã hình thành nên một tổ chức ảo (VO – Virtual Organization), động lực quan trọng trong việc xây dựng các hệ thống tính toán lưới Từ đó đã hình thành nên hệ thống UK Grid, mà GridPP và các dự án khác như AstroGrid (nghiên cứu thiên văn), BioSimGrid (sinh học), IXI (y tế) và các dự án công nghiệp (DAME, G-Civil, GEODISE) là những bộ phận Hệ thống này như có tên gọi NGS – UK National Grid Service (http://www.ngs.ac.uk/), nhằm cung cấp nguồn tài nguyên tính toán và lưu trữ cho các nhà khoa học
Trang 2423
Hình 0.7: Dự án tính toán lưới trong vật lý phân tử
Dự án Economy Grid – ECOGRID: Sự phát triển nhanh chóng của Grid
còn đưa đến một lĩnh vực nghiên cứu mới đó là thương mại hóa tài nguyên trên Grid, cụ thể là tài nguyên tính toán, tài nguyên lưu trữ và các dạng tài nguyên khác như phần mềm, thiết bị chuyên dụng Trong hướng nghiên cứu này, cần tìm ra các cơ chế cho phép người sở hữu tài nguyên và người sử dụng tài nguyên có diễn tả các yêu cầu về chất lượng, khối lượng tài nguyên (người dùng) cũng như giá cả, chính sách quản lý (người sở hữu) trong điều kiện tách biệt về thời gian (múi giờ) và không gian Để có thể thương mại hóa, tài nguyên Grid cần phải có các yếu tố: thị trường để quảng bá thông tin về tài nguyên, mô hình để định giá tài nguyên, giao thức để thương lượng, các cơ chế
kế toán, chi trả Dự án Economy Grid – ECOGRID (http://www.buyya.com/ecogrid) nằm trong số các ứng dụng thuộc dạng đó
Trang 2524
Hình 0.8: Dự án thương mại hóa tài nguyên trên lưới
Dự án e-Science của Anh: Bên cạnh các dự án, ý tưởng xây dựng môi
trường khoa học điện tử e-Science cũng đã hình thành Các quốc gia như Anh Quốc, Hàn Quốc, Singapore, Thái Lan là những minh chứng về vấn đề này, chẳng hạn, dự án e-Science đặt tại Imperial College, Anh Đây là một trong những dự án được đánh giá thành công, được nhiều nơi trên thế giới tìm hiểu
và học tập Mặc dù thuật ngữ này mới ra đời trong các cuộc hội thảo, trao đổi giữa các nhà khoa học, nhưng từ năm 2004 đã được sử dụng chính thức Thực chất là một hạ tầng công nghệ thông tin cho các ngành khoa học phát triển E-Science có thể đồng nhất với khái niệm Grid, nó như là sự tập hợp lại các dịch
vụ trung gian hoạt động trên môi trường mạng toàn cầu, băng thông rộng có khả năng hỗ trợ cộng đồng nghiên cứu – phát triển, phát minh – sáng chế
Trang 2625
ra đời và hoạt động từ 9/2001 (hình 0.9) là một thành phần của chương trình
UK e-Science của Vương Quốc Anh Nhiệm vụ của trung tâm này là nghiên cứu phát triển các công nghệ hỗ trợ triển khai e-Science cho các trường đại học
và viện nghiên cứu ở Lodon và vùng Đông Nam nước Anh Trung tâm này còn đảm trách hệ thống Access Grid để tổ chức hội thảo truyền hình sử dụng Grid làm nền tảng cho việc chứng thực Hệ thống Access Grid kết nối 13 trung tâm nghiên cứukhoa học của Anh và các nước ở Châu Âu, Bắc Mỹ, Châu Á – Thái Bình Dương
Hình 0.9: Dự án e-Science
Trung tâm điều hành lưới PRAGMA: Trung tâm đặt tại trung tâm siêu
máy tính San Diego, Đại học California, San Diego goc.rocksclusters.org/) là một tổ chức hỗ trợ đắc lực cho chương trình phát triển các phần mềm trung gian cho tính toán lưới của khu vực Châu Á – Thái Bình Dương (Pacific Rim Applications and Grid Middleware Assembly - PRAGMA) Chương trình này được sự tài trợ của Quỹ Nghiên cứu khoa học
Trang 27(http://pragma-26
học tính toán thuộc 13 nước trong khu vực như: Mỹ, Nhật Bản, Hàn Quốc, Úc, Trung Quốc, Đài Loan, Singapore, Malaysia, Thái Lan, Ấn Độ, Chi Lê, Switzerland, Mexico Trung tâm điều hành lưới quốc gia (National Grid Operation) như là một tổ chức hạt nhân của chương trình PRAGMA (hình 0.9) Một số kết quả nổi bật đã được thực hiện như sau:
Dự án Ninf-G (http://ninf.apgrid.org): đây là dự án được thực hiện bởi các chuyên gia Nhật Bản, nhằm tạo ra công cụ với giao diện trực quan cho phép người sử dụng dể dàng truy cập đến nguồn tài ngyên mạng lưới, sử dụng các phần mềm và dữ liệu khoa học trên grid Hiện nay đã có phiên bản 4.1 của
hệ thống này được hiện thực như một phần mềm nguồn mở Đây là một đóng góp của Nhật vào việc tạo ra các ứng dụng trung gian cho tính toán lưới
Hình 0.10: Tổ chức PRAGMA
Trang 2827
một sản phẩm tương tự Ninf-G, được phát triển bởi Đại học Monash, Úc nhằm
hỗ trợ cho Globus Toolkit để khám phá một cách tự động nguồn tài nguyên cho phép của Grid
- Dự án BioGrid: nhằm phát triển nền tảng tính toán mạng lưới hỗ trợ phân tích gen, những vấn đề về bệnh Đây là dự án đang được triển khai
- Dự án Telescience: nhằm sử dụng mạng toàn cầu và hệ thống tình toán lưới
để giúp các thành viên PRAGMA truy cập và sử dụng các thiết bị chẩn đoán y khoa từ xa (máy đo điện tâm đồ não, kính hiễn vi điện tử, máy gia tốc, v.v…) của các đại học lớn như San Diego, Osaka, Tokyo, v.v… Qua đó hỗ trợ các nghiên cứu về tế bào não, về thần kinh, về các dịch bệnh SARS, Bird Flu, v.v…
Trang 2928
CHO VNGRID 1.1 Giới thiệu về Globus Toolkit
Globus là một dự án nghiên cứu gồm nhiều tổ chức tham gia với mục tiêu ban đầu là tạo cơ sở hạ tầng và scác dịch vụ cấp cao cho một lưới tính toán Tuy nhiên, hiện nay nó đã mở rộng phạm vi thành cơ sở hạ tầng cho phép chia sẻ nhiều loại tài nguyên đa dạng Globus Toolkit là bộ phần mềm nguồn
mở bao gồm các dịch vụ và các thư viện hỗ trợ cho việc quản lý, khai phá tài nguyên Ngoài ra, bộ phần mềm này còn hỗ trợ hệ thống quản lý tệp và dịch vụ bảo mật Cho đến nay, đây là bộ công cụ mạnh nhất và được sử dụng rộng rãi nhất để thiết kế và cài đặt các ứng dụng lưới Ðiểm ưu việt là Globus Toolkit
hỗ trợ hoàn toàn các giao thức OGSA và OGSI Ðồng thời, mô hình lập trình
mà Globus Toolkit đưa ra là mô hình hướng dịch vụ Globus Toolkit đã phát triển sang đến phiên bản 5.0, Tuy nhiên, hiện nay phiên bản 4 là ổn định nhất
và đang được ứng dụng rộng rãi hơn cả
- Kiến trúc Globus Toolkit 4 (GT4)
GT4 hỗ trợ các tác vụ sau: chứng thực một lần, chứng thực và chứng quyền, đệ trình công việc, quản lý, tìm kiếm và cấp phát tài nguyên và truyền
dữ liệu Ngoài ra, GT4 còn cung cấp các API (Application Programming Interface) và bộ công cụ phát triển hệ thống (SDK - System Development Kit)
Ba chức năng chính của bộ công cụ GT4 được ví như ba kim tự tháp, được xây dựng trên cơ sở hạ tầng bảo mật (GSI - Grid Security Infrastructure)
• Quản lý tài nguyên: thực hiện các công việc sau bao gồm cấp phát tài nguyên, đệ trình công việc để thực hiện công việc từ xa và nhận kết quả trả về Cuối cùng là quản lý trạng thái công việc và tiến trình Các dịch vụ thông tin: cung cấp các hỗ trợ cho việc thu nhập thông tin trong lưới và truy vấn các thông tin này, dựa trên giao thức LDAP (Lightweight Directory Access Protocol)
Trang 3029
lý việc truyền tệp
• Dịch vụ thông tin: cung cấp đầy đủ thông tin liên quan đến các tài nguyên lưới (số lượng nút tài nguyên, tình trạng tài nguyên…) cũng như các thông tin về các dịch vụ mà lưới cung cấp
Hình 1.1: Cấu trúc của GT4 Mặc dù ba kim tự tháp nói trên chưa phải đã đáp ứng đầy đủ tất cả các yêu cầu để có thể xây dựng một dịch vụ lưới Nhưng đó là những thành phần
cơ bản, từ đó hỗ trợ cho người thiết kế ứng dụng có thể triển khai ứng dụng trên lưới
- Các dịch vụ hỗ trợ bởi Globus Toolkit 4
• Tầng kết nối
GT4 hỗ trợ dịch vụ bảo mật GSI (Grid Security Infrastructure) Đây là một trong những dịch vụ cơ bản đảm bảo sự tồn tại của lưới GSI hỗ trợ các yêu cầu khắt khe về bảo mật trong lưới như cơ chế đăng nhập một lần (single sign on), cơ chế uỷ quyền (delegation), chứng thực đa phương (mutual authorization)…
Trang 3130
GridFTP Giao thức truyền thông GridFTP là sự mở rộng của giao thức FTP và được GT4 hỗ trợ dưới dạng dịch vụ Các dịch vụ ở tầng trên có thể sử dụng giao thức này để thực hiện các tác vụ truyền dữ liệu an toàn, độ tin cậy cao
+ Giao thức GRAM (Grid Resource Access and Management) dùng để cấp phát các tài nguyên tính toán và quản lí việc thực thi trên các tài nguyên
+ Giao thức LDAP (Lightweight Directory Access Protocol) để truy cập thông tin thư mục Ngoài ra, Globus Toolkit còn định nghĩa các API phía khách (client) của C, Java cho các giao thức trên Các API phía chủ (server) cũng được cung cấp để tạo thuận tiện cho việc tích hợp các nguồn tài nguyên khác nhau vào trong lưới Ví dụ như GRIS (Grid Resource Information Service) thực thi các hàm LDAP phía chủ để hiển thị các thông tin tài nguyên chuyên dụng theo yêu cầu
+ GSS (Generic Security Services) là dịch vụ để xác định, chuyển giao
và phân tích các giấy uỷ quyền cho phép thay thế các dịch vụ bảo mật ở tầng kết nối
• Tầng kết hợp
Ngoài các dịch vụ trên Globus Toolkit hỗ trợ dịch vụ GIIS chuyên hiển thị các thông tin về tài nguyên xác định thông qua giao thức thông tin LDAP, GRIS để lấy trạng thái tài nguyên và GRRP để đăng kí tài nguyên Bên cạnh đó còn có dịch vụ nhân bản dữ liệu và quản lí việc nhân bản dữ liệu trong môi
Trang 3231
Coallocator) cung cấp nhiều API đảm bảo cho việc động cấp phát các tài nguyên
Hình 1.2: Các dịch vụ cơ bản của GT Globus được thiết kế theo kiến trúc phân tầng với tầng dưới cùng chính
là các dịch vụ Web Tầng tiếp theo là các dịch vụ lõi và tầng trên cùng là các dịch vụ cấp cao cung cấp các chức năng sử dụng cho người dùng Có thể thấy xuyên suốt kiến trúc của GT là các cơ chế bảo mật cũng dựa trên nền tảng bảo mật của dịch vụ Web
Phiên bản GT4 tập trung vào dịch vụ web nhưng nó vẫn chứa các thành phần không được triển khai trên nền dịch vụ web, chẳng hạn GridFTP
Trang 33- Thành phần Common Runtime: cung cấp tập các thư viện cơ sở và các công cụ để xây dựng các dịch vụ WS lẫn non-WS
- Thành phần bảo mật (Security): sử dụng các thành phần bảo mật, dựa
Trang 34- Thành phần quản lý thực thi (Excution Management): các thành phần quản lý thực hiện công việc phụ trách việc khởi tạo, theo dõi, quản lý, lập lịch
và tương tác giữa các chương trình trong lưới
1.2 Kiến trúc quản lý tài nguyên trong GT
Hệ thống bao gồm các thành phần chính đó là bộ môi giới tài nguyên (broker), các dịch vụ thông tin (information service), bộ định vị tài nguyên (co-allocator) và thành phần quản lí tài nguyên địa phương (GRAM, Globus Resource Allocation and Management) các thành phần này giao tiếp với nhau qua một ngôn ngữ chung, ngôn ngữ đặc tả tài nguyên Sau đây ta sẽ đi sâu tìm hiểu cơ chế hoạt động của từng thành phần
Hình 1.4: Quản lý tài nguyên trong GT
Thành phần môi giới tài nguyên: Thành phần này có nhiệm vụ nhận
Trang 3534
Specìication Language) Chuyển đổi chúng thành các đặc tả cụ thể hơn qua thủ tục cụ thể hóa Để đáp ứng một ứng dụng đơn có thể cần tới nhiều bộ môi giới khác nhau Có thể có các bộ môi giới có chức năng định vị các tài nguyên phù hợp với ứng dụng Sau khi được biến đổi bởi các bộ môi giới đặc tả tài nguyên được chuyển thành dạng tinh và chuyển tới bộ định vị tài nguyên sinh ra các yêu cầu
Thành phần định vị tài nguyên: Sau khi được biến đổi qua các bộ môi
giới, các đặc tả tài nguyên ở dạng tinh chuyển tới bộ định vị, bộ định vị phối hợp việc quản lí và định vị tài nguyên tại nhiều trạm Công việc của nó được miêu tả như sau: trước hết nó chia các yêu cầu tại nhiều trạm thành các thành phần nhỏ hơn (chỉ trên một trạm), sau đó chuyển các đơn yêu cầu tới bộ quản lí tài nguyên địa phương tương ứng
Các dịch vụ thông tin: Cung cấp các thông tin về tính sẵn dùng của các
tài nguyên lưới, dung lượng của chúng Các thông tin này cần thiết cho một số việc như trả lời các truy vấn người dùng, tìm các tài nguyên phù hợp với ứng dụng, tính chất của các tài nguyên Trong hệ GT, ta sử dụng dịch vụ siêu thư mục (Meta Directory Service) để lưu các thông tin về các tài nguyên lưới MDS được xây dựng dựa trên các cấu trúc dữ liệu và API của giao thức LDAP Trong LDAP người ta định nghĩa kiểu dữ liệu có cấu trúc hình cây (DIT - Directory Information Tree) Khi đó mỗi dịch vụ tương ứng với MDS tại một trạm có vai trò tương tự như một server MDS của toàn bộ lưới là tổng hợp của các server này cho ta thông tin về toàn bộ hệ thống lưới
Trang 36Để phù hợp với kiến trúc OGSA các dịch vụ thông tin trong GT3 cũng được tiếp cận theo hướng khác sử dụng công nghệ web ứng dụng trong tính toán lưới, mà sau này được biết tới với cái tên dịch vụ lưới (grid service) Phần này được dành để trình bày về những nét cơ bản nhất kiến trúc các dịch vụ thông tin trong GT3, những khác biệt của nó so với kiến trúc các dịch vụ thông tin trong GT2
1.3.2 Kiến trúc dịch vụ lưới mở và các dịch vụ lưới
Kiến trúc dịch vụ lưới mở (Open Grid Service Architecture, OGSA) ra đời với mục đích tạo ra một nền của tính toán lưới hỗ trợ việc tạo, duy trì, quản
lí các dịch vụ trong môi trường lưới tính toán lưới dựa trên nền công nghệ dịch
vụ web Trước hết OGSA là một kiến trúc hướng dịch vụ, trong kiến trúc này mọi tài nguyên đều được coi như một dịch vụ có thể kể ra: các tài nguyên tính
Trang 3736
coi như những dịch vụ Việc nhất quán với khái niệm dịch vụ giúp ta có cái nhìn thống nhất và trong suốt với môi trường phân tán Các dịch vụ có thể được thực thi ở một nút lưới nào đó trong hệ thống, cũng có thể trên nhiều nút lưới hay chỉ đơn giản là một chương trình tính toán đơn thuần trên chính máy cục bộ Tuy nhiên, với người sử dụng hay cả với người lập trình ứng dụng ở mức cao nó đều chỉ là một giao diện chuẩn cho dịch vụ được OGSA định nghĩa
và xây dựng như một chuẩn với bất kì một dịch vụ nào Như vậy có thể các dịch vụ được coi như nhân tố quan trọng nhất trong toàn bộ kiến trúc OGSA và
là nền tảng để xây dựng bộ công cụ GT3 cũng như việc xây dựng ứng dụng lưới sau này Sau đây ta sẽ đi sâu vào khái niệm dịch vụ lưới, các giao diện chuẩn và cách mà GT3 quản lí các dịch vụ
Để hiểu được khái niệm dịch vụ lưới, trước hết ta nhắc lại khái niệm dịch vụ web, khái niệm quen thuộc đối với những nhà lập trình ứng dụng trên môi trường Internet dịch vụ
Dịch vụ web (web service): là một kĩ thuật cho phép mô tả các thành
phần phần mềm cho phép chỉ ra cách truy nhập các thành phần này, cách tìm kiếm các dịch vụ trong môi trường Internet Như vậy dịch vụ web là một ngôn ngữ lập trình, mô hình lập trình trong môi trường tính toán phân tán
Dịch vụ lưới (grid service): là một dịch vụ web cung cấp các giao diện
chuẩn được định nghĩa trong kiến trúc OGSA, các giao diện này hỗ trợ việc tạo
ra một thực thi (instance) mới cho dịch vụ, quản lí vòng đời của dịch vụ, truy nhập các dữ liệu của dịch vụ, tìm kiếm và hủy bỏ thực thi của dịch vụ
Các giao diện chuẩn của các dịch vụ lưới được định nghĩa trong kiến trúc OGSA, trong đó có những giao diện bắt buộc với mọi dịch vụ
Trang 3837
FindServiceData Cho phép thực hiện truy vấn
các dữ liệu của các thựcthi của dịch vụ
SetTerminationTime Xác lập (hay trả về) thời gian
kết thúc của một thực thi dịch vụ
NotificationSink DeliverNotification Cho phép nhận các thông
điệp thông báo trạng thái từ dịch vụ khác
RegisterService Đăng kí một thực thi dịch vụ
với một thẻ dịch vụ nhất Registry
UnregisterService Hủy bỏ đăng kí dịch vụ
dịch vụ
HandleMap FindByHandle Trả về tất cả các tham chiếu
dịch vụ tương ứng với một thẻ dịch vụ nhất định
* Bắt buộc phải có đối với tất cả các dịch vụ
Trang 3938
ra thực thi của dịch vụ, quản lí thời gian sống của dịch vụ, quản lí các tham chiếu và thẻ dịch vụ, các vấn đề về dữ liệu của dịch vụ và tham chiếu tới thực thi dịch vụ, v.v
Dữ liệu dịch vụ (service data): tương ứng với mỗi thực thi của một dịch
vụ là tập các dữ liệu dịch vụ, đó là các thành phần được đóng gói dưới định dạng XML Gói dữ liệu này chứa các thông tin cơ bản như tên duy nhất của thực thi dịch vụ, loại dịch vụ, thời gian sống và một số dữ liệu đặc thù mô tả trạng thái của thực thi dịch vụ
Các ứng dụng ở mức cao hay các dịch vụ khác có khả năng truy vấn các
dữ liệu thông qua giao diện FindServiceData, trong GT3 hỗ trợ việc tìm kiếm
dữ liệu theo tên hay theo Xpath Một ứng dụng của giao diện FindServiceData
là tìm kiếm dịch vụ, như ta đã biết mỗi một thực thi dịch vụ tương ứng với một GSH duy nhất – gọi là thẻ dịch vụ thẻ Dịch vụ này là duy nhất, dùng như một khóa để phân biệt các thực thi dịch vụ với nhau Khi một thực thi dịch vụ được sinh ra (qua giao diện Factory), nó phải được đăng kí qua giao diện Registry, khi thực hiện giao diện đăng kí này thực thi giao diện đã cung cấp GSH cùng với một số thành phần dữ liệu tương ứng với nó tới một dịch vụ gọi là dịch vụ đăng kí (registry service), thông qua dịch vụ đăng kí này các ứng dụng hay các dịch vụ khác có thể truy vấn thông tin về dữ liệu của bất kì dịch vụ nào đã được đăng kí Để cập nhật thông tin về các dịch vụ GT3 sử dụng giao thức đăng kí, tức là dữ liệu về dịch vụ sẽ được cập nhật theo một chu kỳ nhất định
để đảm bảo tính động của các dịch vụ lưới
Trang 40- Tổng hợp dữ liệu từ nhiều thực thi dịch vụ khác nhau;
- Hỗ trợ đăng kí cho các thực thi dịch vụ
Như vậy có thể thấy được những khả năng chính của dịch vụ chỉ mục trong GT4:
- Cung cấp một giao diện cho phép việc tương ứng một thẻ dịch vụ GSH với một chương trình cung cấp thông tin lấy các thông tin tương ứng về dịch vụ;
- Cung cấp một cơ chế cho phép việc tổng hợp các dữ liệu của nhiều thực thi dịch vụ với nhau Việc này được thực hiện bằng cách kết hợp các chương trình cung cấp thông tin theo các cách khác nhau để có được các thông tin mong muốn Lưu ý điều này là không thể thực hiện được với MDS2;
- Một dịch vụ đăng kí cho tất cả các dịch vụ khác Điều này đã được đề cập qua ở phần trước tức là các dịch vụ có thể đăng kí và được quản lí bởi dịch
vụ đăng kí (Registry) dịch vụ này sử dụng giao thức đăng kí lưới để cập nhật các thông tin về dịch vụ mà nó quản lí Tương tự như GIIS trong MDS2
Để hiểu hơn về cơ chế hoạt động của dịch vụ chỉ mục ta xem xét sơ đồ dưới đây