1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Nghiên cứu phát triển ứng dụng trên GRID

115 551 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu phát triển ứng dụng trên grid
Tác giả Lê Bá Dũng, Ngô Cao Cường, Trần Thiện Thịnh
Người hướng dẫn ThS. Nguyễn Nam Hải
Trường học Đại Học Quốc Gia Hà Nội - Trường Đại Học Công Nghệ
Chuyên ngành Công Nghệ Thông Tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2006
Thành phố Hà Nội
Định dạng
Số trang 115
Dung lượng 2,26 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu phát triển ứng dụng trên GRID

Trang 1

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY

Ngành: Công nghệ thông tin

Trang 2

KHÓ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 4

Lờ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 5

Tó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 6

Mụ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 7

3.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 8

5.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 9

8.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 10

9.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 11

11.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 12

Bả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 14

Mở đầ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 15

Chươ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 17

Chươ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 19

1.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 20

nguyê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 21

khô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 22

Mộ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 23

Nhữ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 24

Hì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 25

Chươ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 26

Parallel 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 27

3.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 28

Cá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 29

cô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 31

3.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 32

Như 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 33

Mạ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 34

Chươ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 35

3.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 36

3.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 37

khó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 38

Chươ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 39

Mộ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 40

Hì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

Ngày đăng: 27/04/2013, 17:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Ahmar Abbas. Grid Computing: A Practical Guide to Technology and Applications. Charles River Media, 2003 Sách, tạp chí
Tiêu đề: Grid Computing: A Practical Guide to Technology and Applications
[2] B.Jacob, M.Brown, K.Fukui, N.Trivedi. Introduction to Grid Computing. IBM Redbook, 2005 Sách, tạp chí
Tiêu đề: Introduction to Grid Computing
[3] Borja Sotomayor. The Globus Toolkit 4 Programmer's Tutorial. University of Chicago, 2005 Sách, tạp chí
Tiêu đề: The Globus Toolkit 4 Programmer's Tutorial
[4] Jarek Gawor, Sam Meder. GT4 WS Java Core Design. Globus Alliance, 2004 Sách, tạp chí
Tiêu đề: GT4 WS Java Core Design
[5] Jennifer M. Schopf, Jan We Glarz, Jarek Nabrzyski. Grid resource management - State of the Art and Future Trends. Springer, 2003 Sách, tạp chí
Tiêu đề: Grid resource management - State of the Art and Future Trends
[6] Joshy Joseph, Craig Fellenstein. Grid Computing. IBM Press, 2003 Sách, tạp chí
Tiêu đề: Grid Computing
[7] Maozhen Li, Mark Baker. The Grid Core Technologies. John Wiley & Son, 2005 [8] Web site: http://www.toantin.org. Grid fundamental Sách, tạp chí
Tiêu đề: The Grid Core Technologies
Tác giả: Maozhen Li, Mark Baker
Nhà XB: John Wiley & Son
Năm: 2005
[11] Web site: http://www.mersenne.org/. Mersenne and GIMPS project Sách, tạp chí
Tiêu đề: Mersenne and GIMPS project
[12] Web site: http://www.onjava.com/pub/a/onjava/2002/08/28/wsdc.html. Search for really big prime number Sách, tạp chí
Tiêu đề: Search for really big prime number
Nhà XB: O'Reilly Media, Inc.
Năm: 2002

HÌNH ẢNH LIÊN QUAN

Hình 4: Nhiều bản sao của công việc được tạo ra - Nghiên cứu phát triển ứng dụng trên GRID
Hình 4 Nhiều bản sao của công việc được tạo ra (Trang 23)
Hì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 - Nghiên cứu phát triển ứng dụng trên GRID
Hì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 24)
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 - Nghiên cứu phát triển ứng dụng trên GRID
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 28)
Hình 7 : Một mạng grid đơn  giản - Nghiên cứu phát triển ứng dụng trên GRID
Hình 7 Một mạng grid đơn giản (Trang 32)
Hình 8 :  Một mạng grid toàn cầu phức tạp - Nghiên cứu phát triển ứng dụng trên GRID
Hình 8 Một mạng grid toàn cầu phức tạp (Trang 33)
Hình 10: Các thành phần trong OGSI - Nghiên cứu phát triển ứng dụng trên GRID
Hình 10 Các thành phần trong OGSI (Trang 40)
Hình 20: Mối quan hệ giữa Java WS Core và các dịch vụ trong Grid computing - Nghiên cứu phát triển ứng dụng trên GRID
Hình 20 Mối quan hệ giữa Java WS Core và các dịch vụ trong Grid computing (Trang 60)
Hình 21: Mô hình truyền tệp với sự tham gia của bên thứ ba trong GridFTP - Nghiên cứu phát triển ứng dụng trên GRID
Hình 21 Mô hình truyền tệp với sự tham gia của bên thứ ba trong GridFTP (Trang 62)
Hình 22: Mô hình hoạt động của RFT và GridFTP - Nghiên cứu phát triển ứng dụng trên GRID
Hình 22 Mô hình hoạt động của RFT và GridFTP (Trang 63)
Hình 24: Chức năng tạo tệp GAR của công cụ Ant - Nghiên cứu phát triển ứng dụng trên GRID
Hình 24 Chức năng tạo tệp GAR của công cụ Ant (Trang 87)
Hình 29: Giao diện chính của chương trình GT4IDE với Eclipse - Nghiên cứu phát triển ứng dụng trên GRID
Hình 29 Giao diện chính của chương trình GT4IDE với Eclipse (Trang 95)
Sơ đồ thuật toán Trial Factoring - Nghiên cứu phát triển ứng dụng trên GRID
Sơ đồ thu ật toán Trial Factoring (Trang 98)
Hình 34 : Biểu đồ mô tả hoạt động của việc lấy dữ liệu b- Client - Nghiên cứu phát triển ứng dụng trên GRID
Hình 34 Biểu đồ mô tả hoạt động của việc lấy dữ liệu b- Client (Trang 104)
Hình 35: Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Service - Nghiên cứu phát triển ứng dụng trên GRID
Hình 35 Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Service (Trang 105)
Hình 36: Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Client - Nghiên cứu phát triển ứng dụng trên GRID
Hình 36 Sơ đồ biểu thị mối quan hệ giữa các đối tượng trong Client (Trang 109)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w