Nghiên cứu phát triển ứng dụng trên GRID
Trang 1KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ thông tin
Trang 2KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ thông tin
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Cán bộ hướng dẫn: ThS.Nguyễn Nam Hải
Trang 4Lời cảm ơn
Trước tiên, chúng em muốn gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy giáo, ThS Nguyễn Nam Hải, người đã tận tình hướng dẫn chúng em trong suốt quá trình làm nghiên cứu khoa học và làm khóa luận tốt nghiệp
Chúng em cũng xin gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo đã giảng dạy chúng em trong những năm qua, những kiến thức mà các thầy cô đã dạy là hành trang vững chắc để chúng em bước vào cuộc sống
Cuối cùng chúng em xin gởi lời cảm ơn đến gia đình và bè bạn, những người
đã luôn ở bên động viên, giúp đỡ chúng em trong cuộc sống
Hà Nội 5-2006
Trang 5Tóm tắt
Trong vài năm trở lại đây tính toán mạng lưới (Grid computing) đã phát triển mạnh mẽ, mở ra các giải pháp mới cho các ứng dụng đòi hỏi khả năng tính toán lớn Grid computing có thể được sử dụng cho các bài toán nghiên cứu về sinh học, y học, vật lí, hóa học…cũng như các ứng dụng trong phân tích và đánh giá tài chính, khai phá
dữ liệu, các ứng dụng trong chính phủ điện tử và rất nhiều các loại ứng dụng khác
Trong khóa luận tốt nghiệp này, chúng tôi trình bày một cách tổng quan về công nghệ Grid computing như ưu nhược điểm, các mô hình kiến trúc và công nghệ liên quan Trên cơ sở đó đi sâu vào tìm hiểu quy trình xây dựng và triển khai một ứng dụng trên môi trường Grid computing dựa trên nền tảng của bộ công cụ Globus
Toolkit phiên bản 4.0 Để lấy ví dụ, chúng tôi trình bày chi tiết các bước để triển khai một ứng dụng có sẵn – Math Service và chi tiết các bước xây dựng cũng như triển khaimột ứng dụng mới – Bài toán tìm số nguyên tố Merssene
Trang 6Mục lục
Lời cảm ơn i
Tóm tắt ii
Bảng các ký hiệu viết tắt ix
Mở đầu 1
Chương 1 Cơ bản về Grid Computing 4
1.1 Grid Computing là gì? 4
1.2 Lợi ích của Grid Computing 5
1.2.1 Khai thác tài nguyên xử lý 5
1.2.2 Khả năng xử lý song song 6
1.2.3 Sự cộng tác các tài nguyên ảo và tổ chức ảo 6
1.2.4 Sự truy cập tới các tài nguyên khác 7
1.2.5 Cân bằng tài nguyên 8
1.2.1 Độ tin cậy 9
1.2.2 Khả năng quản lý 10
Chương 2 Các thuật ngữ và khái niệm 12
2.1 Các kiểu tài nguyên 12
3.1.1 Tài nguyên tính toán 12
3.1.2 Kho lưu trữ 12
3.1.3 Truyền thông 13
3.1.4 Phần mềm và bản quyền 13
3.1.5 Các thiết bị đặc biệt, sức chứa, kiến trúc và quyền hạn 14
2.2 Công việc và ứng dụng 14
2.3 Lập lịch, đặt chỗ, và quét dọn 15
2.4 Các gói phần mềm grid 16
Trang 73.4.1 Gói quản lý 16
3.4.2 Gói lập lịch 17
3.4.3 Các gói truyền thông 18
3.4.4 Gói quan sát và đo đạc 18
2.5 Các cấu hình mạng grid 18
Chương 3 Người dùng trong mạng Grid Computing 21
3.1 Người dùng bình thường 21
3.1.1 Tham gia vào grid và cài đặt các phần mềm 21
3.1.2 Đăng nhập vào grid 21
3.1.3 Truy vấn và đưa công việc 22
3.1.4 Cấu hình dữ liệu 22
3.2 Nhà quản trị 22
3.2.1 Cài đặt 23
3.2.2 Quản lý người dùng 23
3.2.3 Chứng thực 23
3.2.4 Quản lý tài nguyên 24
Chương 4 Một số chuẩn trong môi trường Grid 25
4.1 Kiến trúc dịch vụ Grid mở - Open Grid Services Architecture (OGSA) 25
4.2 Cơ sở hạ tầng của dịch vụ Grid mở - Open Grid Service Infrastructure (OGSI) 26
4.3 GridFTP 27
4.4 Cơ chế tài nguyên của dịch vụ Web – Web service resource framework 27
4.5 Một số chuẩn của dịch vụ Web 28
4.6 Tổng kết chương 29
Chương 5 Tổng quan về dịch vụ Web 30
5.1 Ưu điểm của dịch vụ Web so với các công nghệ khác 30
Trang 85.3 Lời gọi dịch vụ Web điển hình 31
5.4 Địa chỉ dịch vụ Web 32
5.5 Kiến trúc dịch vụ Web 32
5.6 Ứng dụng dịch vụ Web 33
5.7 Các bước để gọi một dịch vụ Web 34
5.8 Tổng kết chương 35
Chương 6 Cơ chế tài nguyên của dịch vụ Web – Web service resource framework 36 6.1 Quản lí trạng thái tài nguyên trong dịch vụ Grid 36
6.1.1 Dịch vụ Grid là gì 36
6.1.2 Những yêu cầu của dịch vụ Grid theo chuẩn OGSA 37
6.2 Chuẩn WSRF 37
6.2.1 Khái niệm WS-Resource 38
6.2.2 Các thành phần trong WSRF 39
6.3 Tổng kết chương 40
Chương 7 An ninh trong mạng Grid 41
7.1 Các yêu cầu về an ninh trong mạng lưới 41
7.2 Cơ sở hạ tầng an ninh của mạng lưới 43
7.2.1 Truy cập vào mạng lưới 44
7.2.2 Xác thực và quyền hạn 44
7.3 Tổng kết chương 45
Chương 8 Các thành phần của Globus Toolkit 4.0 46
8.1 Tổng quan về Globus Toolkit 4.0 46
8.2 Các thành phần thường trực 46
8.2.1 Java WS Core 47
8.2.2 C WS Core 47
8.2.3 Python WS Core 47
Trang 98.3 Các thành phần bảo mật 47
8.3.1 Thẩm định và cấp phép WS 48
8.3.2 Thẩm định và cấp phép Pre-WS 48
8.3.3 Dịch vụ cấp phép cộng đồng (Community Authorization Service - CAS) 48 8.3.4 Dịch vụ uỷ quyền 48
8.3.5 SimpleCA 48
8.3.6 GSI-OpenSSH 48
8.4 Các thành phần quản lý dữ liệu 49
8.4.1 GridFTP 49
8.4.2 Truyền Tệp tin cậy (Reliable File Transfer - RFT) 49
8.4.3 Dịch vụ mô hình hoá địa chỉ (Replica Location Service - RLS) 50
8.4.4 Dịch vụ sao lưu dữ liệu (Data Replication Service - DRS) 50
8.4.5 Các dịch vụ kiểm tra và khám phá thông tin (Monitoring and Discovery Services - MDS) 51
8.4.6 Index service 51
8.5 Các thành phần quản lý thi hành 51
8.5.1 WS GRAM 51
Chương 9 Cài đặt và cấu hình Globus Toolkit 4.0 52
9.1 Download Globus Toolkit 4.0 52
9.2 Mô hình môi trường mạng Grid 52
9.3 Cài đặt Globus Toolkit 4.0 54
9.3.1 Cài đặt các phần mềm yêu cầu cho Globus Toolkit 4.0 54
9.3.2 Cấu hình môi trường Linux cho Globus Toolkit 4.0 55
9.3.3 Cài đặt Globus Toolkit 4.0 56
9.4 Cấu hình và thử nghiệm môi trường Grid 58
9.4.1 Cấu hình các biến môi trường 58
Trang 109.4.2 Cấu hình bảo mật 58
9.4.3 Cấu hình Java WS Core 63
9.4.4 Cấu hình và kiểm tra GridFTP 64
9.5 Gỡ bỏ Globus Toolkit 4.0 65
Chương 10 Các bước lập trình một chương trình Grid 66
10.1 Giới thiệu sơ lược về chương trình Math Service 66
10.2 Các bước lập trình chương trình Math Service 66
10.2.1 Bước 1: Định nghĩa giao diện dịch vụ 67
10.2.2 Bước 2: Thực thi dịch vụ 70
10.2.3 Bước 3: Định nghĩa việc triển khai dịch vụ 73
10.2.4 Bước 4: Biên dịch và tạo tệp GAR 74
10.2.5 Bước 5: Triển khai dịch vụ 75
10.3 Chạy thử chương trình Math Service 76
Chương 11 Tự xây dựng một dịch vụ Grid: Bài toán số nguyên tố 78
11.1 Giới thiệu công cụ phát triển 79
11.1.1 Giới thiệu công cụ GT4IDE 80
11.1.2 Cài đặt GT4IDE 80
11.2 Tạo project GT4 với GT4IDE 81
11.3 Thuật toán tìm số nguyên tố Mersenne 83
11.3.1 Các khái niệm và mệnh đề 84
11.3.2 Một số thuật toán tiêu biểu 84
11.3.3 Lựa chọn thuật toán 87
11.4 Phân tích và thiết kế bài toán 88
11.4.1 Mô tả hệ thống 88
11.4.2 Phân tích hệ thống 90
11.4.3 Thiết kế hệ thống 92
11.5 Kết quả thử nghiệm 98
Trang 1111.5.1 Viết mã chương trình 98
11.5.2 Giao diện của chương trình client: 100
11.5.3 Biên dịch và chạy chương trình 100
11.6 Kết luận về bài toán Số nguyên tố 102
Kết luận 103
Tài liệu tham khảo 104
Trang 12Bảng các ký hiệu viết tắt
API Application Programming Interface – Giao diện lập trình ứng
dụng
CA Certificate Authority – Cơ quan chứng thực
CAS Community Authorization Service - Dịch vụ cấp phép cộng đồng CORBA Common Object Request Broker Achitecture
DRS Data Replication Service - Dịch vụ sao lưu dữ liệu
FTP File Transfer Protocal - Giao thức truyền tệp
GSI Grid Security Infrastructure - Cơ sở hạ tầng an ninh mạng lưới
HTTP Hypertext Markup Language- Ngôn ngữ đánh dấu siêu văn bảnMDS Monitoring and Discovery Services - Các dịch vụ kiểm tra và khám
phá thông tinOSGA Open Grid Services Architecture - Kiến trúc dịch vụ web mởOSGI Open Grid Service Infrastructure - Cơ sở hạ tầng dịch vụ web mởRFT Reliable File Transfer - Truyền Tệp tin cậy
RLS Replica Location Service - Dịch vụ mô hình hoá địa chỉ
RPs Resource Properties - thuộc tính tài nguyên
SOA Service Oriented Architechture - Kiến trúc hướng dịch vụ SOAP Simple Object Access Protocol - Giao thức truy cập đối tượng đơn
giảnUDDI Universal Description, Discovery and Integration - chuẩn dịch vụ
Tích hợp, Khám phá và Mô tả Toàn cầuURI Uniform Resource Identifiers - Địa chỉ dịch vụ Web
WSDL Web serivce definition Language -Ngôn ngữ mô tả dịch vụ webWSRF Web service resource framework - Cơ chế tài nguyên của dịch vụ
WebXML eXtensible Markup Language - Ngôn ngữ Đánh dấu Mở rộng
Trang 14Mở đầu
Hiện nay, Mạng lưới tính toán (Grid Computing) đang là “điểm nóng” côngnghệ trên các diễn đàn công nghệ thông tin trên khắp thế giới Trên thế giới, công nghệGrid (Grid Technologies) đang được giới khoa học – công nghệ nghiên cứu, phát triểnsôi nổi Grid Computing hiện đang là nền tảng công nghệ chủ đạo của mạng Internetthế hệ mới, giữ vai trò giống như giao thức TCP/IP đối với mạng Internet hiện nay
Ở Việt Nam hiện nay, Grid Computing đang còn là một vấn đề khá mới mẻ
Đã có một số nhóm, tổ chức nghiên cứu về Grid Computing, tuy quy mô và điều kiệnnghiên cứu còn rất hạn chế Nhận thấy những ý nghĩa thiết thực của Grid Computing
có thể mang lại trong tương lai, nhóm sinh viên chúng tôi quyết định đi vào nghiêucứu Grid Computing về công nghệ và phát triển ứng dụng mang tính thực tiễn trongcuộc sống
Các chương trình chạy trên môi truờng mạng lưới có một số ưu điểm nổi trộihơn so với các chương trình chạy trên máy tính thông thường Chẳng hạn như: thờigian xử lý công việc ngắn hơn nhờ khả năng tính toán song song, hiệu suất sử dụng tàinguyên tính toán cao hơn nhờ khả năng phân tán tài nguyên v.v Với những ưu điểm
đó của các chương trình Grid, chúng tôi nghiên cứu đề tài: “Nghiên cứu phát triển ứngdụng trên Grid”
Đề tại được chia thành các chương, nội dung chính của các chương gồm có:
Chương 1: Cơ bản về Grid Computing?
Chương này giới thiệu khái niệm Grid Computing để có thể hình dung được
thế nào là Grid Computing và các khả năng mà Grid Computing có thể thực hiện được.
Chương 2: Các thuật ngữ và khái niệm
Grid Computing là lĩnh vực công nghệ khá mới mẻ nên xuất hiện nhiều thuậtngữ mới Để có thể đi sâu vào nghiêu cứu Grid, chương này giới thiệu các thuật ngữ
và khái niệm được dùng trong Grid
Chương 3: Người dùng trong mạng Grid Computing
Chương này mô tả các cấp độ người dùng trong mạng Grid
Chương 4: Một số chuẩn trong môi trường Grid
Chương này giới thiệu một số công nghệ chuẩn trong Grid Computing
Trang 15Chương 5: Tổng quan về dịch vụ Web
Dịch vụ Web là cơ sở cho dịch vụ Grid Chương này giới thiệu các công nghệ của dịch vụ Web
Chương 6: Cơ chế tài nguyên của dịch vụ Web - WSRF
Chương này giới thiệu một chuẩn của dịch vụ Grid, đó là WSRF
Chương 7: An ninh trong Mạng Grid
Bảo mật là vấn đề quan trọng trong mạng Grid Computing Chương này đề cập đến những yêu cầu trong vấn đề bảo mật của Grid Computing
Chương 8: Các thành phần của Globus Toolkit 4.0
Globus Toolkit 4.0 là công cụ nền tảng để phát triển các ứng dụng Grid, đang được sử dụng phổ biến hiện nay Chương này giới thiệu một số thành phần của bộ công cụ này
Chương 9: Cài đặt và cấu hình Globus Toolkit 4.0
Chương này hướng dẫn cài đặt bộ công cụ Globus Toolkit 4.0
Chương 10: Các bước lập trình một chương trình Grid
Chương này giới thiệu các bước tiến hành xây dựng một chương trình Grid
Chương 11: Tự xây dựng một dịch vụ Grid: Bài toán Số nguyên tố
Chúng tôi xây dựng một ứng dụng mang tính thực tiễn, đó là bài toán: Số nguyên tố
Mỗi thành viên trong nhóm thực hiện một số chương nhất định, cụ thể như sau:
Từ Chương 1 đến Chương 3: Ngô Cao Cường
Từ Chương 4 đến Chương 7: Trần Thiện Thịnh
Từ Chương 8 đến Chương 10: Lê Bá Dũng
Chương 11: Chương trình Số nguyên tố được tất cả các thành viên cùng thiết kế và cùng tìm hiểu thuật toán Các module chương trình được phân chia như sau:
Trang 16 Ngô Cao Cường viết các module quản lý các tài nguyên trong Service bao gồm các lớp: PrimeResource, PrimeFactoryService và
Trang 17Chương 1 Cơ bản về Grid Computing
Chương này mô tả định nghĩa về Grid computing và các lợi ích chính của Gridcomputing bao gồm:
Khai thác tài nguyên xử lý
Khả năng xử lý song song
Cộng tác các tài nguyên ảo và tổ chức ảo
Truy cập tới các tài nguyên khác
Cân bằng tài nguyên
dữ liệu ) mà không cần biết các tài nguyên này nằm ở đâu, chúng dùng công nghệ gì,cấu hình phần cứng như thế nào,.v.v
Grid computing đã phải trải qua nhiều công đoạn hợp nhất các công nghệ vàgiải pháp để đạt được thành quả như hiện nay Nhân tố cơ bản của Grid là công nghệphân tán các thiết bị tính toán Với công nghệ này, ta có thể chia sẻ tài nguyên và liên
kết các tổ chức lại với nhau Đây còn gọi là công nghệ ảo hóa Để có được một môi
trường hỗn hợp có thể chia sẻ tài nguyên, ngoài công nghệ ảo hóa, Grid còn dùng cáccông nghệ khác trong các lĩnh vực lập lịch, tài chính, bảo mật,.v.v
Sự ảo hóa trong môi trường grid có nhiều cấp độ khác nhau Mỗi cấp độ phụthuộc vào phạm vi và tính đồng nhất của tổ chức Hình 1 mô tả từng cấp độ của sự ảohóa từ đơn giản đến phức tạp khi đi theo chiều từ trái sang phải Ở hình trái nhất là tổchức đồng nhất, đơn tài nguyên Tài nguyên ở đây có thể là CPU, ổ lưu trữ,các thiết bị
Trang 18độ ảo hóa phức tạp hơn là ảo hóa trong một xí nghiệp Hình bên phải là mức độ ảo hóacao nhất với phạm vi trên toàn mạng Internet, bao gồm các đa tổ chức hỗn hợp.
1.2 Lợi ích của Grid Computing
1.2.1. Khai thác tài nguyên xử lý
Một trong những tính năng cơ bản của tính toán mạng lưới là khả năng chạymột chương trình trên nhiều máy tính khác nhau Trong một mạng lưới bao gồm nhiềumáy tính, có một số máy ở trạng thái bận do khối lượng công việc lớn, một số khác ởtrạng thái rỗi do khối lượng công việc nhỏ
Trong hầu hết các tổ chức, luôn có những khối lượng lớn những tài nguyêndùng để tính toán Trung bình mỗi ngày, mỗi máy tính có thời gian trung ở trạng tháithái bận là 5% Điều đó chứng tỏ khối lượng tài nguyên rỗi trong một mạng là rất lớn.Grid cung cấp một khung làm việc (framework) để tận dụng những tài nguyên này và
vì thế có thể tăng hiệu quả trong việc sử dụng các tài nguyên
Ngoài tài nguyên xử lý, tài nguyên lưu trữ cũng được sử dụng hiệu quả hơnnhờ Grid computing Grid tận dụng các dung lượng đĩa cứng còn trống trong các máytính để tập hợp thành một tài nguyên lưu trữ ảo trọng mạng
Hình 1: Sự ảo hóa với nhiều cấp độ
Trang 191.2.2. Khả năng xử lý song song
Khả năng kết hợp nhiều CPU cùng xử lý song song là một tính năng hấp dẫncủa Grid computing
Các chương trình chạy trên môi trường Grid sử dụng các thuật toán để phânchia công việc xử lý thành nhiều thành phần độc lập Mỗi CPU trên mỗi máy tínhtrong mạng đảm nhận việc xử lý một hay nhiều thành phần đó Tính độc lập của cácthành phần càng cao thì chương trình càng dễ dàng được mở rộng trên phạm vi mạnglưới nhiều máy tính hơn Một mạng lưới được gọi là hoàn hảo nếu với mười máy tính,tốc độ xử lý của mạng tăng lên gấp mười Tuy nhiên, trên thực tế không có mạng lướihoàn hảo
Có hai lí do chính để mạng lưới trên thực tế không thể trở thành hoàn hảo.Thứ nhất là: việc sử dụng thuật toán phân chia công việc ảnh hưởng lớn đến hiệu năngtính toán chung của mạng Thứ hai là: các thành phần của công việc không hoàn toànđộc lập với nhau
Không phải ứng dụng nào cũng có thể chuyển đổi để Grid có thể xử lý songsong Hơn nữa, không có một công cụ nào có thể chuyển đổi một ứng dụng bất kỳsang dạng chạy song song trên grid Khả năng xử lý song song của một chương trìnhtrên mạng lưới phụ thuộc vào người thiết kế, và đó không phải là công việc đơn giản
1.2.3. Sự cộng tác các tài nguyên ảo và tổ chức ảo
Một khả năng khác của grid computing là tạo nên môi trường cộng tác rộnglớn, đồng nhất Mỗi môi trường đó được gọi là một tổ chức ảo Grid computing thậmchí có khả năng tạo nên một môi trường rộng lớn hơn bằng cách kết hợp các tổ chức
ảo, không đồng nhất với nhau để cùng cộng tác với nhau Hình 2 mô tả môi trườngkhông đồng nhất đó Mỗi người sử dụng mạng lưới được phân bổ vào một tổ chức ảonào đó Các tổ chức ảo này có thể chia sẻ tài nguyên với nhau như một mạng lưới lớn
Chia sẻ tài nguyên bắt đầu với dữ liệu dạng tệp hay cơ sở dữ liệu Lưới dữ liệu
có thể mở rộng dữ liệu theo nhiều cách khác nhau Đầu tiên, tệp hay cơ sở dữ liệu cóthể được trải rộng trên nhiều hệ thống tạo nên dung lượng lớn hơn rất nhiều so với hệthống đơn Cách trải dữ liệu này có thể tăng tốc độ truyền dữ liệu với công nghệ
striping Dữ liệu thường xuyên được sao lưu phục vụ cho việc khôi phục dữ liệu
Ngoài việc chia sẻ tài nguyên là các tệp và cơ sở dữ liệu, ta có thể chia sẻ
Trang 20nguyên này được “ảo hóa” để giữ chúng đồng bộ trong một hệ thống mạng luới khôngđồng nhất Các tài nguyên đó gọi là các tài nguyên ảo.
Những người tham gia hay sử dụng grid là một thành viên trong một tổ chứcnào đó Grid có thể yêu cầu người dùng đó tuân thủ các luật lệ, quyền hạn sử dụng, từ
đó có thể giải quyết được các vấn đề về ưu tiên, bảo mật,
1.2.4. Sự truy cập tới các tài nguyên khác
Ngoài CPU và tài nguyên lưu trữ, Grid còn có thể truy nhập đến những tàinguyên khác Các tài nguyên này có thể được cung cấp dưới dạng số lượng hoặc khảnăng lưu trữ, băng thông Ví dụ, nếu một người muốn tăng băng thông truy nhậpInternet để thực hiện việc khai thác dữ liệu tìm kiếm, công việc này có thể phân chiagiữa các máy trong mạng grid có đường truyền Internet không phụ thuộc nhau Trongtrường hợp này, khả năng tìm kiếm được nhân lên, khi mỗi máy có đường truyền riêngbiệt Nếu các máy chia sẻ đường kết nối Internet, thì nó sẽ không tăng băng thông
Trong một mạng lưới, một số máy tính nào có thể được cài đặt những phầnmềm đắt tiền, có bản quyền mà một máy khác không có Người sử dụng máy tính
Hình 2: Mạng grid ảo không đồng nhất
Trang 21không cài đặt phần mềm đó có thể sử dụng phần mềm này bằng cách gửi công việcđến máy tính được cài phần mềm để yêu cầu xử lý Đó là khả năng tận dụng phầnmềm của Grid.
Một vài máy tính có thể có những thiết bị đặc biệt, chẳng hạn như máy in Hầuhết các máy in được sử dụng từ xa Grid có thể chia sẽ được những thiết bị đặc biệtnày Thậm chí grid có thể chia sẻ những thiết bị, tài nguyên phức tạp như máy chuẩnđoán bệnh hay robot hỗ trợ phẫu thuật
1.2.5. Cân bằng tài nguyên
Grid liên kết các tài nguyên từ nhiều máy khác nhau tạo thành một hệ thốngduy nhất Grid có thể thực hiện cân bằng tài nguyên trong các chương trình bằng cáchlập lịch làm việc cho các công việc, như hình 3 dưới đây Chức năng này có ý nghĩa rấtlớn trong việc xử lý các trường hợp quá tải về xử lý, tính toán trong một tổ chức Chứcnăng cân bằng có thể được thực theo 2 cách sau:
Những điểm quá tải được đưa đến những máy rỗi trên mạng lưới
Nếu toàn mạng grid đã bận, những công việc có độ ưu tiên thấp đượctạm ngừng nhường cho những công việc khác có độ ưu tiên cao
Đôi khi có những công việc đột ngột được tăng độ ưu tiên do cần hoàn thànhgấp Grid không thể xử lý được những công việc cần hoàn thành quá gấp Tuy nhiêngrid có thể phân chia nó thành nhiều công việc nhỏ và huy động một lượng lớn tàinguyên để xử lý nó một cách nhanh nhất
Trang 22Một lợi ích khác khi dùng grid là cân bằng tải Khi một công việc liên lạc vớimột công việc khác, với Internet, hoặc các tài nguyên khác, Grid có thể lập lịch chochúng để có thể giảm thiểu tối đa lưu lượng đường truyền cũng như khoảng cáchtruyền Điều này giúp Grid có thể giảm thiểu tắc nghẽn mạng.
Cuối cùng, Grid còn có khả năng thương mại tài nguyên Các trạng thái của tất
cả các tài nguyên trong mạng được Grid quản lý Các tổ chức trên grid có thể tạo tàikhoản và trả tiền để sử dụng các tài nguyên này khi cần thiết Điều này tạo nên tàichính mạng lưới
1.2.6. Độ tin cậy
Những hệ thống tính toán mạnh sử dụng phần cứng đắt tiền để tăng độ tin cậy.Chúng sử dụng bộ xử lý kép để khi hỏng hóc có thể thay thế bộ xử lý thứ hai màkhông cần tắt hệ thống Các nguồn và hệ thống làm mát cũng đều được nhân bản Hệthống còn sử dụng một nguồn đặc biệt có thể phát điện khi nguồn điện bị mất Tất cảchúng tạo nên một hệ thống tin cậy, tuy nhiên, giá thành cho hệ thống này rất cao
Trong tương lại, một mạng lưới có thể có khả năng thay thế một hệ thống đángtin cậy như thế Grid mới chỉ bắt đầu công nghệ này Mô hình máy chủ đáng tin cậy sửdụng Grid có thể được mô tả như sau Một mạng lưới gồm nhiều máy tính được phân
bố khắp nới Do đó, khi có một sự cố tại một nốt mạng nào đó trên mạng lưới, cácđiểm khác sẽ không bị ảnh hưởng Khi một máy tính bị hỏng hóc, phần mềm quản lýtrong Grid có thể tự động chuyển công việc xử lý từ máy này đến một máy nào đótrong mạng Trong trường hợp quan trọng, nhiều bản sao của công việc được tạo ra vàđược chuyển đến nhiều máy khác nhau trên mạng lưới như hình 4 dưới đây
Trang 23Những hệ thống grid như thế sẽ tạo nên khả năng tính toán tự động Nó là một
dạng phần mềm có khả năng tự sửa lỗi trên grid, trước khi thông báo cho bộ xử lý hayngười quản lý biết Về nguyên tắc, hầu hết những hệ thống tin cậy đắt tiền ngày naydựa vào phần cứng hoàn toàn cũng có thể dùng phần mềm để tạo nên sự tin cậy đó
1.2.7. Khả năng quản lý
Việc ảo hóa tài nguyên và nhiều hệ thống hỗn hợp được tạo ra trên grid sẽ tạonên quy mô rộng hơn, các thiết bị được phân phối nhiều hơn Nó làm cho các nhàdoanh nghiệp dễ dàng quản lý chi phí và tài nguyên tính toán trên phạm vi lớn
Grid quản lý độ ưu tiên giữa các dự án Trước đây, mỗi dự án quản lý riêng tàinguyên và chi phí của nó Có thể những tài nguyên đang rỗi trong khi các dự án khácgặp sự cố, cần thêm những tài nguyên khác Với tầm nhìn bao quát, grid có thể giảiquyết dễ dàng tình huống này Trong hình 5, nhà quản lý có thể thay đổi các quyền hạnvới tài nguyên để các tổ chức khác có thể chia sẻ hay sử dụng
Hình 4: Nhiều bản sao của công việc được tạo ra
Trang 24Hình 5: Nhà quản trị có thể điều chỉnh chính sách thích hợp với tài nguyên
Trang 25Chương 2 Các thuật ngữ và khái niệm
2.1 Các kiểu tài nguyên
Một mạng grid là tập hợp máy móc, đôi khi là các nút, thành viên, ngườiquyên góp, máy chủ, khách Tất cả chúng tạo nên tài nguyên của grid Một vài tàinguyên có thể được sử dụng bởi tất cả mọi người sử dụng trên grid, trong khi số khácđược giới hạn sử dụng
3.1.1 Tài nguyên tính toán
Tài nguyên thường thấy nhất trên grid là tài nguyên tính toán được cung cấpbởi các bộ xử lý trên các máy của grid Các bộ xử lý có thể khác nhau về tốc độ, kiếntrúc, hay các thiết bị đi kèm như bộ nhớ, ổ lưu trữ Có ba cách chính để tận dụng tàinguyên tính toán trên grid
Cách đầu tiên đơn giản nhất là chạy ứng dụng trên một máy đang rỗi trên grid.Cách thứ hai là phân chia ứng dụng thành nhiều phần rồi chạy song song trêncác bộ xử lý khác nhau
Cách thứ ba là chạy ứng dụng, cần được xử lý nhiều lần, trên nhiều máy khác
nhau trên grid Khả năng mở rộng là thước đo bộ xử lý được sử dụng trên grid hiệuquả như thế nào Nếu hai bộ xử lý hoàn thành ứng dụng trong một nửa thời gian, đó là
sự phân chia hoàn hảo Tuy nhiên có giới hạn như đã nói ở trên khi một ứng dụng chỉ
có thể phân chia thành một số giới hạn các phần độc lập với nhau
3.1.2 Kho lưu trữ
Tài nguyên thứ hai được sử dụng thường xuyên trong grid là kho lưu trữ Mộtmạng lưới kết hợp các kho dữ liệu thường được gọi là “lưới dữ liệu” (data grid) Mỗimáy trên grid thường cung cấp cho grid một số lượng kho lưu trữ nhất định Kho lưutrữ có thể là bộ nhớ trong hoặc bộ nhớ thứ cấp – đĩa cứng Bộ nhớ trong có tốc độnhanh nhưng chỉ lưu trữ tạm thời Nó có thể dùng làm dữ liệu đệm để chạy chươngtrình
Bộ nhớ thứ cấp có thể dùng để tăng khả năng lưu trữ, hiệu năng, hay độ tincậy dữ liệu Nhiều hệ thống grid hiện nay dùng các hệ thống tệp AFS( Andrew File
Trang 26Parallel File System Chúng có tốc độ khác nhau, mức bảo mật và độ tin cậy cũng khácnhau.
Sức lưu trữ có thể tăng bằng cách sử dụng ổ lưu trữ trên nhiều máy khác nhauvới hệ thống tệp hợp nhất Mỗi tệp hay CSDL có thể lưu trữ trên một vài máy hay vài
ổ đĩa trên mạng grid Một hệ thống tệp hợp nhất có thể tạo nên một tên hợp nhất chocác ổ lưu trữ trên grid Điều này tạo điều kiện cho người sử dụng có thể dễ dàng truycập dữ liệu mà không cần biết vị trí chính xác của nó
Các hệ thống tệp tiến bộ trên grid có khả năng tự động nhân bản dữ liệu, đểtăng độ tin cậy và tốc độ Một bộ lập lịch thông minh trên grid có khả năng lựa chọnnhững thiết bị lưu trữ thích hợp để lưu trữ dữ liệu, dựa vào những mẫu đã sử dụng
Một hệ thống tệp grid còn có thể ghi nhật ký để dữ liệu có thể được khôi phục
dễ dàng khi gặp sự cố Ngòai ra, các hệ thống tệp còn có cơ chế chuẩn hóa để tránhxung đột khi nhiều user cùng chia sẻ và cập nhật dữ liệu
3.1.3 Truyền thông
Sự phát triển nhanh chóng của truyền thông ngày nay đã tạo nên grid Chính vìvậy mà một trong những tài nguyên quan trọng khác của grid là khả năng truyền dữliệu, bao gồm cả khả năng truyền dữ liệu trong grid hay ra ngoài mạng grid Khả năngtruyền dữ liệu trong grid là quan trọng để lập lịch và gửi các công việc Băng thônggiới hạn sẽ ảnh hưởng tới hiệu năng của grid
Truyền thông ngoài mạng grid ra Internet, ví dụ, như khi xây dựng một hệthống tìm kiếm Các máy trong grid ngoài việc liên kết với nhau còn phải nối ra ngoàiInternet Khi các đường kết nối của các máy này không cùng chia sẻ đường truyềnInternet, chúng sẽ góp phần nâng tổng băng thông của grid lên
3.1.4 Phần mềm và bản quyền
Grid có thể có những phần mềm đắt tiền không thể cài đặt lên toàn bộ máytrong mạng Khi sử dụng grid, những công việc cần dùng phần mềm này sẽ được gửitới máy có cài phần mềm Điều này có thể giúp các tổ chức tiết kiệm chi phí rất nhiều
Một vài phần mềm có điều khỏan cho phép cài trên tất cả các máy trong gridnhưng lại hạn chế số máy có thể chạy đồng thời một lúc Chương trình quản lý giấyphép sẽ kiểm tra có bao nhiêu thể hiện của phần mềm đang chạy và ngăn chặn chúngchạy quá số lượng đã mua
Trang 273.1.5 Các thiết bị đặc biệt, sức chứa, kiến trúc và quyền hạn
Các nền tảng trên grid thường sẽ yêu cầu các kiến trúc, hệ điều hành, thiết bịkhác nhau Mỗi chúng là một loại tài nguyên mà grid sẽ sử dụng để thực hiện các côngviệc khác nhau Một vài phần mềm chỉ có thể chạy trên những yêu cầu về phần cứngnhất định, chẳng hạn như x86 hay PowerPC Những thuộc tính này cần được xem xétkhi đưa các công việc vào thực thi
Trong vài trường hợp, nhà quản trị có thể tạo ra những tài nguyên nhân tạođược sử dụng bởi bộ lập lịch để phân công công việc Ví dụ, một vài máy tính đượcthiết kế chỉ để dùng cho nghiên cứu y khoa Khi có một công việc nghiên cứu y khoathì bộ lập lịch sẽ phân công cho các máy trên thực hiện công việc đó Một vài máykhác chỉ tham gia vào grid khi nó không được dùng cho mục đích quân sự Trong
trường hợp này, những công việc yêu cầu tài nguyên quân sự sẽ không được phân bổ
cho các máy trên Các nhà quản trị phải phân loại các công việc để thực hiện phươngpháp này
2.2 Công việc và ứng dụng
Dù rất nhiều loại tài nguyên của grid được chia sẻ và sử dụng, chúng luôn luôn
được truy cập thông qua ứng dụng hay công việc Chúng ta dùng định nghĩa “ứng
dụng” như là cấp cao nhất của công việc trên grid Tuy nhiên từ “công việc” cũngđược dùng với nghĩa tương đương Ứng dụng có thể được chia thành nhiều công việc,như hình 6 dưới đây Các công việc, có thể được chia tiếp thành các công việc nhỏ
hơn Grid còn dùng các thuật ngữ giao dịch, đơn vị công việc để chỉ công việc.
Công việc là những chương trình được thực thi trên một điểm của grid Chúng
có thể là thực hiện tính toán, thi hành một câu lệnh, di chuyển dữ liệu Một ứng dụnggrid được tổ chức như tập hợp các công việc được thiết kế để chạy song song trên cácmáy khác nhau
Trang 28Các công việc có thể bị phụ thuộc lẫn nhau nên không phải lúc nào cũng cóthể cùng một lúc chạy song song Ví dụ, chúng ta có một công việc yêu cầu dữ liệuđầu vào phải được copy đến một máy Một vài công việc khác đòi hỏi dữ liệu đầu ra,nhưng chúng không thể thực thi nếu công việc trước chưa được hoàn thành Một côngviệc có thể sinh ra nhiều công việc con khác nhau Sau đó, dữ liệu của tất cả các côngviệc con được tập hợp để tạo nên kết quả cuối cùng của ứng dụng
2.3 Lập lịch, đặt chỗ, và quét dọn
Hệ thống grid có nhiệm vụ gửi các công việc đến các máy cần thiết để thựcthi Với hệ thống grid đơn giản nhất, người sử dụng sẽ chọn máy thích hợp cho côngviệc của anh ta sau đó thực hiện dòng lệnh để đưa công việc đó đến máy đã chọn Các
hệ thống grid hiện đại hơn bao gồm một bộ lập lịch có tác dụng tự động tìm kiếmnhững máy tính thích hợp cho công việc đang chờ đợi thực thi
Trong các hệ thống grid quét dọn, mỗi máy tính rỗi sẽ gửi thông báo tình trạng
của mình đến điểm quản lý của grid Điểm quản lý này sẽ chỉ định cho máy này thựchiện công việc tiếp theo mà máy có thể thực thi được Việc này được thực hiện mộtcách kín đáo đối với những người sử dụng bình thường Nếu máy tính bận với những
Hình 6: Một ứng dụng có thể là một hay nhiều công việc được lập lịch chạy trên grid
Trang 29công việc riêng của máy, thì công việc grid sẽ tạm ngưng Điều này khiến cho khó cóthể tính trước được thời gian sẽ hoàn thành công việc trên grid.
Ứng dụng chạy ở chế độ quét dọn sẽ đặt nó vào trong hệ thống với độ ưu tiênthấp nhất Vì thế, nó sẽ chỉ được chạy khi không có bất cứ chương trình nào khác đangchạy Với những bộ xử lý tốc độ cao ngày nay, ứng dụng grid có thể chạy trong vàiphần trăm giây, thậm chí là giữa các lần bấm phím của người dùng
Để có thể dự đoán dễ dàng hơn, các máy tính grid thường được thiết kế riêngcho grid và không bị chi phối bới các công việc khác Điều này cho phép bộ lập lịch cóthể tính toán thời gian trung bình để hoàn thành các công việc
Các tài nguyên trong grid có thể được đặt chỗ trước với một tập hợp côngviệc Sự đặt chỗ này giống như hệ thống sắp xếp đặt phòng Nó bảo đảm sự hoànthành đúng hạn và chất lượng dịch vụ Khi quyền hạn được thông qua, tài nguyên đặt
chỗ có thể được quét dọn để chạy những công việc có độ ưu tiên thấp trong khi chờ
những công việc đã đặt trước nó Với sự kết hợp của lập lịch, đặt chỗ, quét dọn có thểtạo nên một grid hoản hào
Lập lịch và đặt chỗ có thể tiến hành dễ dàng nếu chỉ có một tài nguyên thamgia, như CPU Tuy nhiên việc tối ưu trên grid sẽ dùng nhiều tài nguyên cho việc đặtchỗ vào lập lịch Ví dụ, chúng ta luôn mong muốn công việc sẽ được phân công chomáy gần dữ liệu mà công việc dùng nhất Điều đó sẽ giảm lưu lượng băng thông và
tăng khả năng mở rộng Chính vì vậy, bộ lập lịch sẽ sử dụng đến kinh nghiệm Kinh
nghiệm này sẽ tìm ra sự kết hợp tốt nhất cho lập lịch và đặt chỗ để đạt hiệu quả cao
Trang 30đề như ngừng hoạt động, tắc nghẽn Chúng còn được dùng để lựa chọn các mẫu vàthống kê.
Thứ ba, các hệ thống phần mềm hiện đại của grid có khả năng tự động quản lýtất cả các mặt của mạng lưới Đó là tự động tính toán, tự động khôi phục lỗi Các phầnmềm sẽ tự động khôi phục từ tình trạng tắc nghẽn, quá tải, đưa công việc trở lại bìnhthường
3.4.2 Gói lập lịch
Hầu hết các hệ thống grid có chứa phần mềm lập lịch Phần mềm này nằm ởtrên máy chạy công việc được yêu cầu bởi người sử dụng Trong trường hợp đơn giảnnhất, nó chỉ đơn giản là phân bổ công việc cho máy có cấu hình tài nguyên phù hợp.Tuy nhiên, trong các bộ lập lịch nâng cao thì còn rất nhiều công việc phải làm
Một vài bộ lập lịch có hệ thống ưu tiên công việc Nó được thực hiện với hàngđợi công việc, mỗi công việc có độ ưu tiên khác nhau Nếu một máy tính sẵn sàng đểthực hiện công việc tiếp theo, công việc có độ ưu tiên cao nhất sẽ được đưa vào thựchiện Chính sách cũng được đưa vào trong bộ lập lịch Chính sách bao gồm nhiều ràngbuộc về công việc, người sử dụng, hay tài nguyên Ví dụ, có chính sách cấm một côngviệc được thực thi tại một thời điểm nhất định
Bộ lập lịch luôn luôn ảnh hưởng trực tiếp đến tải của mạng Chúng sử dụng bộ
đo đạc để xác định tình trạng xử lý hiện thời của một máy để xem chúng đang bận hayrỗi Bộ lập lịch có thể tổ chức theo dạng thừa kế Ví dụ, một bộ lập lịch lớn có thể đưacông việc cho bộ lặp lịch cụm hoặc các bộ lặp lịch ở cấp thấp hơn
Các bộ lặp lịch tiến bộ hơn sẽ quản lý tình trạng công việc trong lưu lượng làmviệc chung Nếu một công việc bị mất do mạng hay hệ thống bị trục trặc, một bộ lặplịch tốt sẽ tự động đưa công việc vào thưc hiên ở một nơi khác Tuy nhiên nếu côngviệc đã bị quá thời gian quy định, chúng không thể được lập lịch lại
Việc đặt chỗ trước tài nguyên trên grid được thực hiện thông qua hệ thống đặtchỗ Nó hơn cả một bộ lặp lịch Đầu tiên nó là hệ thống lịch cho việc đặt chỗ trước tàinguyên và bảo vệ những công việc khác dùng tài nguyên này Hơn nữa nó có thể tạmngừng hoặc thậm chí ngừng hẳn công việc đang chạy ở một máy khi hạn đặt chỗ đãđến, máy phải phục vụ cho công việc đã đặt trước
Trang 313.4.3 Các gói truyền thông
Một mạng grid thường có các gói giúp công việc liên lạc giữa các máy Ví dụ,một công việc được chia thành nhiều công việc nhỏ Mỗi công việc nhỏ này là mộtphân mảnh trên grid Tuy nhiên, ứng dụng cần tất cả các phân mảnh này liên lạc vớinhau Một phân mảnh cần liên lạc với các phần còn lại, thiết lập đường truyền, và gửi
dữ liệu cần thiết Chuẩn mở Message Passing Interface (MPI) thường được dùng tronggrid giúp việc truyền thông dữ liệu hiệu quả hơn
3.4.4 Gói quan sát và đo đạc
Như đã nói ở trên bộ lập lịch tác động tới tải của lưới Thường thì grid sẽ baogồm một vài công cụ cho phép tính toán tải hiện thời và các hoạt động trên các máy
Phần mềm này đôi khi được gọi là bộ cảm ứng tải
Sự tính toán thông tin trên không chỉ dùng lập lịch mà nó còn được dùng đểphát hiện các mẫu chung thường được sử dụng Số liệu thống kê có thể đưa ra xuhướng cần thêm các phần cứng mới Các số liệu đo đạc của một công việc cụ thể cóthể được thu nhặt để dự đoán tài nguyên cho lần chạy tiếp theo Dự đoán tốt thì grid sẽhoạt động hiệu quả cao hơn
Các số liệu đo đạc cũng có thể dùng cho mục đích tài chính, hoặc các nhàphân phối tài nguyên, hay quản độ ưu tiên
2.5 Các cấu hình mạng grid
Grid có thể được xây dựng với mọi kích cỡ, từ một vài máy cho đến nhiều tậphợp máy trên khắp thế giới Trong phần này, chúng ta sẽ miêu tả một vài mô hình gridvới kích cỡ khác nhau
Trang 32Như hình trên, một mạng grid đơn giản nhất gồm một vài máy, tất cả giốngnhau về cấu hình phần cứng và hệ điều hành, nối vào mạng nội bộ Kiểu mạng nàydùng hệ thống đồng nhất và có thể được sử dụng cho những ứng dụng chuyên môn.Các máy này thường là một bộ phận của một tổ chức, và chúng không yêu cầu mộtquyền hạn đặc biệt hay các chính sách bảo mật Vì chúng có chung hệ điều hành vàphần cứng nên việc lựa chọn phần mềm là rất dễ dàng Nhiều người gọi chúng là
cụm máy tính (cluster) hơn là lưới (grid).
Mô hình tiếp theo bao gồm nhiều máy hỗn hợp khác nhau Với cấu hìnhnày, sẽ có nhiều loại tài nguyên hơn Hệ thống grid sẽ phải có thành phần lập lịch.Các máy trong mạng có thể ở các bộ phận khác nhau nhưng thường ở cùng một tổ
chức Cấu hình này thường được gọi là intragrid.
Khi grid được mở rộng đến nhiều bộ phận khác nhau, quyền hạn được yêucầu để xem cách grid được sử dụng Có nhiều độ ưu tiên khác nhau ở các bộ phậnhoặc ở các ứng dụng đối với từng loại tài nguyên trên grid Các vấn đề về bảo mậtcũng được các tổ chức đề cập đến Các dữ liệu nhạy cảm của bộ phận này được bảo
vệ để tránh truy cập ở các bộ phận khác Các máy chuyên dụng phục vụ được đưavào để tăng tốc độ vào tin cậy của dịch vụ
Hình 7 : Một mạng grid đơn giản
Trang 33Mạng lưới grid có thể phát triển quy mô lớn về không gian khi các tổ chức
có các bộ phận ở những thành phố hay các nước khác nhau Các đường truyềnchuyên dụng được sử dụng giữa các bộ phận này Trong nhiều trường hợp, cáckênh VPN được sử dụng để kết nối các bộ phận của tổ chức qua Internet Trongtrường hợp này, grid phải được thiết kế chặt chẽ để tránh xung đột
Như hình 8 dưới đây, mạng lưới có thể phát triển liên tổ chức, để thực hiện
những dự án chung, như dự án tìm số nguyên tố lớn của GIMPS (Great Internet Mersenne Prime Search) Mô hình này được gọi là intergrid Mức bảo mật cao nhất
được sử dụng trong mô hình này Các tài nguyên có thể được mua từ những nhàcung cấp đáng tin cậy
Hình 8 : Một mạng grid toàn cầu phức tạp
Trang 34Chương 3 Người dùng trong mạng Grid Computing
Phần này mô tả về người dùng và nhà quản trị trong grid computing
3.1 Người dùng bình thường
Mục này miêu tả những hoạt động trong môi trường grid dưới vai trò của một người sử dụng bình thường
3.1.1. Tham gia vào grid và cài đặt các phần mềm
Người dùng đầu tiên phải đăng ký tham gia vào grid và cài đặt các phần mềmcần thiết trên máy của anh ta
Đăng ký tham gia vào grid đòi hỏi xác thực cho vấn đề bảo mật Người sửdụng thông báo định danh (ID) của anh ta cho cơ quan chứng thực CA (CertificateAuthority) Cơ quan chứng thực cần chắc chắn rằng người sử dụng là có thật CA cấpmột chứng chỉ đặc biệt cho phần mềm kiểm tra định danh của người dùng Người dùng
có trách nhiệm giữ các thẻ chứng thực đã được phát
Một khi người sử dụng đã được xác thực, phần mềm grid được cung cấp chongười sử dụng để anh ta có thể cài lên máy của mình và sử dụng grid Phần mềm này
tự động được cấu hình bởi hệ thống quản lý grid Theo cách này, người sử dụng có thểtiến hành cài đặt rất đơn giản Trong các hệ thống ít tự động hơn, người dùng phải tựhỏi điểm quản lý để biết được thông tin cấu hình chính xác Người dùng cũng có thểhỏi người quản trị grid định danh của anh ta trên grid
3.1.2. Đăng nhập vào grid
Hầu hết các hệ thống grid đều yêu cầu người sử dụng phải đăng nhập vào hệthống với định danh đã được đăng ký Có các hệ thống grid sử dụng chính hệ thốngđịnh danh của grid để phân biệt người sử dụng Cách này tỏ ra thuận tiện hơn vớingười sử dụng, giúp tránh được vấn đề trùng lặp định danh giữa các máy Nó làm chogrid trông giống như một máy tính cực lớn hơn là một tập hợp các máy khác nhau
Khi đã đăng nhập, người sử dụng có thể sử dụng truy vấn và đưa lên grid cáccông việc cần thực hiện Một vài hệ thống grid cho phép sử dụng chức năng truy vấnkhi chưa đăng nhập vào hệ thống hay thậm chí người sử dụng chưa đăng ký với grid
Trang 353.1.3. Truy vấn và đưa công việc
Người dùng có thể truy vấn grid để xem grid bận như thế nào, các công việc được tiến hành ra sao, hay để tìm kiếm các tài nguyên Grid cung cấp công cụ truy vấnbằng cả dòng lệnh và đồ họa (GUIs) Công cụ dòng lệnh tiện lợi khi người dùng muốn viết một đoạn kịch bản (script) thực hiện một lô công việc Ví dụ, người dùng muốn thực hiện đồng thời tìm kiếm tài nguyên, đưa công việc lên tài nguyên đó, xem xét quátrình thực hiện, và kết quả đưa ra
Khi đưa các công việc lên grid người dùng phải làm ba bước
Đầu tiên, dữ liệu đầu vào và các tệp thực thi được gửi đến máy thực hiện công việc
Thứ hai, công việc sẽ được thực thi trên các máy
Thứ ba, kết quả chạy công việc sẽ được gửi trở lại người đưa công việc lên.Khi công việc gồm nhiều công việc con khác nhau thì đòi hỏi phải thu nhặt các kết quả và tập hợp chúng lại với nhau, thường được thực hiện bởi một ứng dụng ở máy đã gửi công việc lên Khi số lượng công việc con trở nên quá lớn, công việc thu nhặt kết quả cũng có thể được phân tán ra nhiều máy khác nhau
3.1.4. Cấu hình dữ liệu
Dữ liệu được sử dụng trong các công việc ở grid có thể ở trong hay ngoài mạng grid Các dữ liệu này có thể tạo nên lưu lượng giao thông rất lớn Vì thế cần thiếtphải sắp xếp chúng để đạt được sự lưu thông nhỏ nhất trên grid
Ví dụ, nếu có một số lượng lớn công việc con của một ứng dụng cần chạy nhiều lần lặp lại, dữ liệu có thể được sao lưu đến các máy và sử dụng lại trong lần chạytiếp theo Sẽ tốt hơn nếu chúng ta dùng các hệ thống tệp mạng (networded file system)
để chia sẻ dữ liệu, bởi vì với các hệ thống này dữ liệu sẽ được chuyển từ trung tâm đếnứng dụng hiệu quả hơn
3.2 Nhà quản trị
Mục này miêu tả những hoạt động trong môi trường grid dưới vai trò của một người quản trị
Trang 363.2.1. Cài đặt
Đầu tiên, hệ thống grid phải được cài đặt trên các máy đã được cấu hình Cácmáy này phải được kết nối với băng thông đủ rộng tới các máy khác trên mạng grid.Cần dự đoán được các sự cố có thể xảy ra và đưa hệ thông hoạt động trở lại khi gặpcác sự cố này Các máy trong mạng phải được cấu hình có khả năng khôi phục hệthống khi gặp hỏng hóc Các dữ liệu quan trọng cần được theo dõi và sao lưu thườngxuyên
Sau khi đã cài đặt, các phần mềm trong grid cần được cấu hình về địa chỉ vàđịnh danh Nhà quản trị có mọi quyền để quản lý grid
3.2.2. Quản lý người dùng
Một trong các chức năng của nhà quản trị là quản lý người dùng Nhà quản trị
có nhiệm vụ quản lý quyền hạn của những người dùng tren mạng Khi một người dùngđăng nhập vào hệ thống, định danh của họ phải được thông qua cơ quan chứng thực
CA Người dùng này và thẻ chứng thực của họ được đưa vào danh sách người dùngtrên hệ thống grid Trong nhiều trường hợp, nhà quản trị cần đưa thông tin của ngườidùng đến các máy khác trên mạng
3.2.3. Chứng thực
Cần phải đảm bảo mức bảo mật cao nhất cho grid vì grid được dùng để chạycác công việc chứ không chỉ là để chia sẻ dữ liệu Chính vì thế nó có thể nảy sinhvirus, “ngựa thành Troa”, hay các cuộc tấn công vào mạng grid Cơ quan chứng thực(Certificate Authority) là một phần rất quan trọng trong bảo mật của grid Một tổ chức
có thể chọn cơ quan chứng thực ở ngoài và tự xử lý nó
Những nhiệm vụ cơ bản của cơ quan chứng thực là:
Xác định định danh cửa người yêu cầu chứng thực
Phân phát, xóa, lưu trữ chứng thực
Bảo vệ máy chủ của cơ quan chứng thực
Duy trì, bảo dưỡng tên và chứng thực của người dùng
Hoạt động đăng nhập
Cơ quan chứng thực dùng hệ thống mã hóa khóa công khai Trong hệ thốngnày, khóa được đi theo cặp, khóa công khai và khóa bí mật Một người có thể mã hóa
dữ liệu và người kia có thể giải mã nó Khóa bí mật được người dùng giữ kín và không
để lộ cho ai khác biết Khi người dùng dùng khóa bí mật để mã hóa, người nhận dùng
Trang 37khóa công khai để giải mã nó Tuy nhiên ai nhận được dữ liệu cũng có thể giải mã nókhi biết khóa công khai Nếu người gửi dùng mã hóa kép với cả khóa công khai và mã
bí mật, thì tạo ra sự bảo mật tốt hơn Người nhận dùng khóa bí mật của anh ta để giải
mã, sau đó dùng khóa công khai của người gửi để giải mã lần hai
3.2.4. Quản lý tài nguyên
Một nhiệm vụ khác của nhà quản trị là quản lý các tài nguyên trong mạnggrid Nó bao gồm thiết lập các quyền sử dụng của người dùng đối với tài nguyên, theodõi tài nguyên, và quản lý hệ thống tài chính Sử dụng các thống kê có thế giúp dựđoán được xu hướng cần thêm phần cứng, giảm lãng phí phần cứng, cũng như điềuchỉnh độ ưu tiên và chính sách để đạt được kết quả chung tốt nhất
Một vài gói phần mềm grid, như bộ lập lịch, sử dụng độ ưu tiên và các chínhsách để lập lịch Nhà quản trị có trách nhiệm cấu hình các ưu tiên hay chính sách đểđạt được kết quả chung tốt nhất
Trang 38Chương 4 Một số chuẩn trong môi trường Grid
Tính toán mạng lưới có thể mô tả bằng nhiều khái niệm và có thể được địnhnghĩa theo nhiều cách khác nhau Nhưng về cơ bản nó cung cấp khả năng tính toánphân tán và tận dụng các tài nguyên Để có thể thống nhất và làm cho các tài nguyêntrên nhiều nền tảng phần cứng, phần mềm khác nhau có thể cùng tồn tại, và hoạt độngvới nhau đòi hỏi phải có các chuẩn Trong chương này chúng ta sẽ xem xét một sốchuẩn cơ bản được áp dụng cho tính toán mạng lưới
Một số yêu cầu với tính toán mạng lưới:
Hỗ trợ việc thực thi chương trình trên nhiều nền tảng khác nhau
Cơ sở hạ tầng an toàn
Khả năng di chuyển, tái tạo và tập hợp dữ liệu
Khả năng phát hiện tài nguyên
Quản lí tài nguyên
Có nhiều chuẩn khác nhau cho mỗi yêu cầu kể trên Sau đây là một số chuẩntiêu biểu
4.1 Kiến trúc dịch vụ Grid mở - Open Grid Services Architecture (OGSA)
Kiến trúc dịch vụ Grid mở là một mở rộng của kiến trúc tính toán mạng lướinhằm kết hợp với kiến trúc dịch vụ Web (Web service), được phát triển bởi nhómGlobus và IBM Khái niệm này lần đầu tiên được đưa ra tại diễn đàn Grid toàn cầu(Global Grid Forum), Toronto, Canada năm 2002
Ý tưởng này bắt nguồn từ thực thế rằng hai công nghệ Grid và dịch vụ Webtuy có cách tiếp cận khác nhau như cùng chung một mục đích: "Chia sẻ tài nguyên và
hỗ trợ tạo ra các tổ chức ảo" Trong kiến trúc dịch vụ Web, điều này được thực hiệnbằng cách chia sẻ dữ liệu, lôgic, và qui trình giao dịch thương mại giữa các thành viêntham gia vào thương mại điện tử (một dạng tổ chức ảo) Đối với Grid, tổ chức ảo chia
sẻ cho nhau các tài nguyên tính toán và cơ sở dữ liệu nhằm mục đích giải quyết các bàitoán khoa học công nghệ Cả hai loại tổ chức ảo nói trên đều không giới hạn về khônggian địa lý Điểm khác biệt chính đó là "dịch vụ Web" nhắm tới các dịch vụ liên tục(persistent), trong khi Grid hỗ trợ dịch vụ tạm thời (transient)
Trang 39Một số quy ước đã được mô tả trong tài liệu đặc tả dịch vụ Grid bao gồm:
Cách thức tạo và khai thác dịch vụ Grid
Cách thức đặt tên và tham chiếu tới các thể hiện (instance) của dịch
Các giao diện và hoạt động đó cùng với các cơ chế khác của OGSI về khởi tạo
và phát hiện dịch vụ Grid cung cấp một nền tảng cho môi trường Grid OGSI cũng đưa
ra ngôn ngữ mô tả dịch vụ Web – Web serivce definition Language (WSDL) để mô tảcác giao diện
Trang 40Hình 10: Các thành phần trong OGSI
4.3 GridFTP
GridFTP là một giao thức truyền dữ liệu an toàn và tin cậy, với hiệu xuất cao
và tối ưu cho mạng diện rộng, có băng thông lớn Giao thức GridFTP dựa trên nềntảng của giao thức FTP với những mở rộng cho phù hợp với môi trường Grid Các tàiliệu đặc tả về giao thức GridFTP có thể được tìm thấy trong diễn đàn Grid toàn cầu
GridFTP sử dụng khả năng bảo mật cơ bản của Grid trên cả hai kênh: kênhđiều khiển và kênh dữ liệu.Sử dụng nhiều kênh dữ liệu để truyền song song, truyềntừng phần tệp, truyền cho bên thứ ba…Do vậy GridFTP có thể sử dụng để chuyểnnhững tệp (đặc biệt là những tệp có dung lượng lớn) trong mạng một cách hiệu quả vàtin cậy
4.4 Cơ chế tài nguyên của dịch vụ Web – Web service resource framework.
Về cơ bản WSRF định ra một tập các đặc tả để mô tả mối quan hệ giữa cácdịch vụ Web (thông thường là không có trạng thái) và các tài nguyên trạng thái(stateful resources) Bằng việc kết hợp giữa các dịch vụ Web chuẩn với sự quản lí cáctài nguyên trạng thái, WSRF cung cấp khả năng lưu trạng thái cho dịch vụ Web