Tải bản đầy đủ (.doc) (116 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.46 MB, 116 trang )

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2006
NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG
TRÊN GRID
Lê Bá Dũng
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2006
Ngô Cao Cường
Lê Bá Dũng
Trần Thiện Thịnh
ĐẠ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

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
i
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 khai một ứng dụng
mới – Bài toán tìm số nguyên tố Merssene.
ii
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.6.Độ tin cậy .....................................................................................................9
1.2.7.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
iii
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....................................................................................17
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
5.2.Nhược điểm khi dùng dịch vụ Web...................................................................31
iv
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
8.3.Các thành phần bảo mật.....................................................................................47
v
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.................................................................................53
9.3.1.Cài đặt các phần mềm yêu cầu cho Globus Toolkit 4.0..............................53
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..........................................................57
9.4.1.Cấu hình các biến môi trường.....................................................................58
9.4.2.Cấu hình bảo mật.........................................................................................58

9.4.3.Cấu hình Java WS Core...............................................................................63
vi
9.4.4.Cấu hình và kiểm tra GridFTP....................................................................63
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............................................................................87
11.4.1.Mô tả hệ thống...........................................................................................87
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
11.5.1.Viết mã chương trình.................................................................................98
11.5.2.Giao diện của chương trình client:............................................................99
vii

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ố..................................................................101
....................................................................................................................................101
Kết luận......................................................................................................................102
Tài liệu tham khảo.....................................................................................................103
viii
Bảng các ký hiệu viết tắt
Ký hiệu viết tắt Ý nghĩa
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
GT Globus Toolkit
HTTP Hypertext Markup Language- Ngôn ngữ đánh dấu siêu văn bản
MDS Monitoring and Discovery Services - Các dịch vụ kiểm tra và khám
phá thông tin
OSGA 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ỉ
RMI Remote Method Invocation -
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ản
UDDI Universal Description, Discovery and Integration - chuẩn dịch vụ
Tích hợp, Khám phá và Mô tả Toàn cầu

URI Uniform Resource Identifiers - Địa chỉ dịch vụ Web
WSDL Web serivce definition Language -Ngôn ngữ mô tả dịch vụ web
WSRF Web service resource framework - Cơ chế tài nguyên của dịch vụ
Web
XML eXtensible Markup Language - Ngôn ngữ Đánh dấu Mở rộng
ix
x
Mở đầu
Hiện nay, Mạng lưới tính toán (Grid Computing) đang là “điểm nóng” công
nghệ 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ển
sôi nổi. Grid Computing hiện đang là nền tảng công nghệ chủ đạo của mạng Internet thế
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ện
nghiê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êu cứu
Grid Computing về công nghệ và phát triển ứng dụng mang tính thực tiễn trong cuộ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ội
hơ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ời gian
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ài
nguyê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 ứng
dụ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ật
ngữ 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.
1
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:
• 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à PrimeResouceHome.
2
• Lê Bá Dũng viết các module tìm kiếm và phân phối các công việc
trong Service bao gồm các lớp: PrimeService và PrimePKC.
• Trần Thiện Thịnh viết chương trình Client.
3
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 Grid
computing 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
• Tính tin cậy
• Khả năng quản lý
1.1. Grid Computing là gì?
Có nhiều cách khác nhau để định nghĩa thế nào là Mạng tính toán lưới (Grid
Computing). Để có thể hình dung Grid Computing là gì, chúng ta có thể tưởng tượng nó
như một mạng lưới điện mà mọi người chỉ cần cắm phích điện vào để sử dụng mà
không cần biết nguồn điện từ đâu đến.Tương tự như vậy, trong Grid Computing, một
người dùng nào đó có thể truy nhập vào các tài nguyên (bao gồm: bộ xử lý, ổ lưu trữ, 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ác
cô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ự ảo
hó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ị
4
và chương trình. Tiếp đến là hệ thống hỗn hợp gồm nhiều tài nguyên khác nhau. Cấp độ
ả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óa cao
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ạy
mộ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ều
má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ên
dù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ái
thá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.
5
Hình 1: Sự ảo hóa với nhiều cấp độ
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ơn nhờ
Grid computing. Grid tận dụng các dung lượng đĩa cứng còn trống trong các máy tính
để tập hợp thành một tài nguyên lưu trữ ảo trọng mạng.
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ẫn
củ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ân
chia 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ính trong
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ác thà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ạng lướ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ưới hoà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ăng tí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ý song
song. 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ình trê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ộng lớn,
đồng nhất. Mỗi môi trường đó được gọi là một tổ chức ảo. Grid computing thậm chí 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ường khô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 ảo nà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
6
đơ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ẻ nhiều
tài nguyên khác, như các thiết bị chuyên dụng, phần mềm, dịch vụ, ...Những tài 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ức
nà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ài
nguyê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ập
Internet để 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 chia
giữa các máy trong mạng grid có đường truyền Internet không phụ thuộc nhau. Trong
7
Hình 2: Mạng grid ảo không đồng nhất
trườ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êng
biệ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ần
mề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 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ần mề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ầu
hế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ệt nà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ống
duy 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ách
lậ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ất
lớ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ức

nă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 được
tạ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ành
gấ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ên
grid 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ài
nguyên để xử lý nó một cách nhanh nhất.
8
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ới
mộ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 cho
chúng để có thể giảm thiểu tối đa lưu lượng đường truyền cũng như khoảng cách truyề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ài
khoả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ài chí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 đáng
tin 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
9

Hình 3: Công việc được chuyển đến phần ít bận hơn trong mạng
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.
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ý hay
ngườ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 nay dự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ạo
nê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ài
nguyê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ác
gặ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ải
quyế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ạn
với tài nguyên để các tổ chức khác có thể chia sẻ hay sử dụng.
10
Hình 4: Nhiều bản sao của công việc được tạo ra
11
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
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ười quyê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ài nguyê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ấp bở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ến trú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ài nguyê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ên
cá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ệu quả
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ột
mạ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ỗi
má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ưu trữ
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ương trình.
Bộ nhớ thứ cấp có thể dùng để tăng khả năng lưu trữ, hiệu năng, hay độ tin cậ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
System) , NFS (Network File System), DFS (Distributed File System), GPFS (General
12

×