Tải bản đầy đủ (.pdf) (69 trang)

LUẬN VĂN:GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH THƯỚC LỚN TRÊN NỀN TẢNG GRID COMPUTING pdf

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.36 MB, 69 trang )


























ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ


Nguyễn Đức Thịnh


GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH KÍCH
THƢỚC LỚN TRÊN NỀN TẢNG GRID
COMPUTING



KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: Tiến sĩ. Nguyễn Minh Hằng






HÀ NỘI - 2010




Lời cảm ơn

Trước hết là lời cảm ơn sâu sắc của em đến những người đã giúp đỡ em hoàn
thành khóa luận tốt nghiệp này, một dấu mấu quan trọng trong cuộc đời và sự nghiệp của
em.
Em xin chân thành cảm ơn Khoa công nghệ thông tin trường đại học Công Nghệ -
Đại học quốc gia Hà Nội đã tạo điều kiện cho em được thực hiện khóa luận này.
Khóa luận sẽ không thể hoàn thành nếu thiếu sự chỉ bảo tận tình của TS.Nguyễn
Minh Hằng, người đã định hướng, hỗ trợ em trong suốt thời gian 3 tháng thực hiện khóa

luận. Em xin chân thành cảm ơn cô.
Một lời cảm ơn từ đáy lòng con xin được gửi đến cha mẹ, những người đã nuôi
nấng con thành người để được có ngày hôm nay.
Em xin cảm ơn các quý thầy cô đã dạy dỗ em trong suốt 4 năm học ở nhà trường,
cung cấp cho em những kiến thức quý báu để bước vào đời.
Cảm ơn các bạn của tôi đã là những người động viên tinh thần cũng như ở bên tôi
giúp đỡ tôi khi tôi gặp khó khăn.
Thời gian 3 tháng vừa qua, mặc dù đã cố gắng để hoàn thành khóa luận một cách
tốt nhất nhưng vẫn không thể tránh nổi những sai sót. Em xin kính mong nhận được sự
góp ý cũng như chỉ bảo của quý thầy cô. Xin chân thành cảm ơn


Sinh viên
Nguyễn Đức Thịnh




Mục lục

Lời mở đầu 1
Tóm tắt khóa luận 3
Chương 1 : Tổng quan về công nghệ Grid Computing 4
1.1. Lịch sử phát triển của công nghệ Grid 4
1.2. Khái niệm 5
1.3. Các kiểu tài nguyên của Grid 6
1.3.1. Tài nguyên tính toán 6
1.3.2. Tài nguyên lưu trữ 6
1.3.3. Phương tiện liên lạc 6
1.3.4. Phần mềm, ứng dụng 7

1.3.5. Các thiết bị đặc biệt 7
1.4. Phân lọai các hệ thống Grid 7
1.4.1. Grid Tính toán (Computation Grid) 7
1.4.2. Grid Dữ liệu (Data Grid) 8
1.4.3. Scavenging Grid 8
1.5. Kiến trúc Grid 8
1.5.1. Bản chất Kiến trúc Grid 8
1.5.2. Chi tiết Kiến trúc Grid tổng quát 10
1.5.2.1. Tầng Fabric 10
1.5.2.2. Tầng Connectivity 11
1.5.2.3. Tầng Resource 12
1.5.2.4. Tầng Collective 13
1.5.2.5. Tầng Application 13
1.6. Grid computing đem lại những lợi ích gì ? 13
1.6.1. Khai thác tối đa tài nguyên xử lý 13
1.6.2. Khả năng xử lý song song 14
1.6.3. Chia sẽ tài nguyên ảo và tổ chức ảo 14
1.6.4. Sự truy cập đến các tài nguyên khác 14
1.6.5. Cân bằng tài nguyên 15
1.6.6. Độ tin cậy 16
Chương 2: Globus Toolkit 4 17
2.1. Khái niệm về Globus 17
2.2. Nguyên nhân thúc đẩy sự phát triển của Globus 18
2.3. Kiến trúc Globus 19
2.3.1. Các thành phần thường trực 19
2.3.1.1. Java WS Core 19
2.3.1.2. C WS Core 19
2.3.2. Các thành phần bảo mật 19
2.3.2.1. Cơ bản về bảo mật Grid và GSI 20
2.3.3. Các thành phần quản lý dữ liệu 25

2.3.3.1. GridFTP 25
2.3.3.2. Information services 26
2.3.3.3. Index Service 27
2.3.4. Các thành phần quản lý tài nguyên 27
2.3.4.1. Kiến trúc quản lý tài nguyên của Globus Toolkit 27
2.3.4.2. Chi tiết các thành phần 29
2.3.4.2.1. GRAM 29
2.3.4.2.2. Pre-WS GRAM 32
2.3.4.2.3. WS-GRAM 34
Chương 3 : MPICH và MPICH-G2 40
3.1. MPI 40
3.2. MPICH 41
3.3. MPICH-G2 41
3.3.1. Quá trình thực thi một ứng dụng 42
Chương 4 : Thí nghiêm triển khai hệ thống Grid cơ bản cho mục đích
tính toán song song sử dụng Globus Toolkit và MPICH-G2 44
4.1. Triển khai Globus Toolkit 44
4.1.1. Chuẩn bị về phần cứng và phần mềm hệ thống 44
4.1.2. Cài đặt Globus Toolkit 45
4.1.3. Cấu hình các thành phần của globus toolkit 47
4.1.3.1. Cấu hình bảo mật 47
4.1.3.2. Cấu hình dich vụ GridFTP 50
4.1.3.3. Cấu hình gatekeeper 51
4.1.3.4. Cấu hình WS GRAM 52
4.2. Triển khai MPICH-G2 53
Chương 5 : Chạy và đánh giá hiệu năng của hệ thống Grid 54
5.1. Giới thiệu về 3 bài toán sẽ được thử nghiệm 54
5.1.1. Tính toán số PI 54
5.1.2. Hệ phương trình tuyến tính 54
5.1.3. Bài toán quy hoạch tuyến tính 55

5.2. Cách thức chạy 1 bài toán trên hệ thống Grid được xây dựng bởi 2 công cụ
Globus Toolkit và MPICH 57
5.3. Kết quả chạy các chương trình và đánh giá kết quả 59
5.3.1. Kết quả chạy chương trình tính số PI 59
5.3.2. Kết quả chạy chương trình giải hệ phương trình tuyến tính 59
5.3.3. Kết quả giải bài toán quy hoạch tuyến tính 60
5.3.4. Nhận xét chung 62
Kết luận 63
Tài liệu tham khảo 64
1

Lời mở đầu

Trong thập niên qua, nền công nghệ thông tin thế giới phát triển đã đóng góp rất
nhiều vào sự phát triển chung của thế giới. Chúng ta có thể bắt gặp những ứng dụng của
công nghệ thông tin ở khắp mọi nơi, giờ đây nhiều người sở hữu máy tính cá nhân, sở hữu
những chiếc điện thoại, cập nhập thông tin qua những trang web, kết nối với nhau qua
những phần mềm chat… Đấy là những thứ hiện hữu hàng ngày mà chúng ta trực tiếp sờ
thấy và sử dụng nó, ẩn sau nó là những nghiên cứu, những công nghệ được rất nhiều nhà
khoa học cũng như phát triển trên thế giới nghiên cứu để đóng góp vào sự phát triển của
nền công nghệ thông tin nói riêng và nền khoa học thế giới nói chung.
Khi nói đến máy tính, một khái niệm hay được nhắc đến là những chiếc máy tính
để bàn nhỏ gọn hay những chiếc laptop cá nhân. Nhưng đó là những thiết bị cá nhân giúp
chúng ta giải trí, làm việc, còn với những chiếc máy tính phải xử lý lượng dữ liệu từ khắp
nơi trên thế giới một cách thường xuyên và liên tục thì sao. Khi đó ,chúng ta lại được bắt
gặp khái niệm siêu máy tính (Super Computer) . Những siêu máy tính trên thế giới được
xây dựng rất đắt tiền với hàng trăm ngàn hay hàng triệu bộ vi xử lý, để đầu tư cho những
hệ thống máy như vậy tốn rất nhiều tiền của cho việc triển khai cũng như bảo dưỡng, với
mục đích sử dụng kết nối những người dùng hay tổ chức có chung một mục đích xử lý
hay tận dụng tài nguyên máy tính của bất kỳ người dùng máy tính nào để tạo thành một

hệ thống mạnh mẽ phục vụ cho việc giải các bài toán về khoa học, thương mại, một lĩnh
vực nghiên cứu mới được đưa ra, đó là Grid Computing. Nói một cách tống quát nhất
Grid là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt chia sẻ, tuyển lựa
và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có,
công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ của người sử dụng. Grid
Computing có rất nhiều ưu điểm mà có thể áp dụng cho việc nghiên cứu cũng như những
ưu điểm có thể áp dụng cho doanh nghiệp.
Trên thế giới, ý tưởng về Grid Computing đã được hình thành và nghiên cứu từ rất
lâu nhưng thực sự bùng nổ vào vài năm trở lại đây khi được các tổ chức cũng như tập
đoàn lớn trên thế giới nghiên cứu và triển khai. Tại Việt Nam, công việc nghiên cứu Grid
Computing đã được triển khai từ khá lâu và gần đây nhất là đề tài cấp nhà nước “Nghiên
cứu, phát triển hệ thống tính toán lưới để hỗ trợ giải quyết các bài toán có khối lượng tính
2

toán lớn (VNGrid)” do PGS.TS. Vũ Đức Thi làm chủ nhiệm cũng đã đạt được một số
thành tựu nhất định.
Nhận thấy Grid computing là một hướng nghiên cứu đang rất được quan tâm tại ở
Việt Nam cũng như thế giới và những lợi ích to lớn mà nó mang lại. Em quyết định chọn
đề tài “Giải giải hệ phương trình tuyến tính kích thước lớn trên nền tảng Grid Computing”
với mục đích là tìm hiểu Công nghệ Grid là gì ,những khái niệm và đặc điểm liên quan,
thí nghiệm tạo một hệ thống Grid nhỏ bằng gói phần mềm GLOBUS TOOLKIT cùng
MPICH-G2 để kiểm nghiệm hiệu năng của hệ thống grid khi chạy bài toán Giải hệ
phương trình tuyến tính kích thước lớn.

















3

Tóm tắt khóa luận

1. Thông tin chung về khóa luận
Tên đề tài : Giải hệ phương trình tuyến tính trên nền tảng Grid Computing
Giảng viên hướng dẫn : TS.Nguyễn Minh Hằng
Sinh viên thực hiện : Nguyễn Đức Thịnh
2. Tóm tắt nội dung khóa luận
Khóa luận thực hiện nghiên cứu tìm hiểu các vấn đề chung của công nghệ Grid về
mặt khái niệm, kiến trúc của một hệ thống Grid và những ích lợi của Grid mang lại. Cung
cấp một cái nhìn tổng quan về Grid.
Tìm hiểu mô hình hoạt động của gói phần mềm Globus Toolkit, một gói phần mềm
giúp xây dựng một hệ thống Grid, các vấn đề khi thực hiện triển khai tạo dựng một hệ
thống Grid với Globus Toolkit.
Tìm hiểu về MPICH, MPICH-G2, nguyên tắc hoạt động của MPICH kết hợp với
Globus Toolkit để tạo dựng hệ thống Grid phục vụ việc tính toán song song sử dụng ngôn
ngữ C và MPI.
Thử nghiệm bài toán giải hệ phương trình tuyến tính theo thuật toán song song trên
một hệ thống Grid để xem cách thức hoạt động và ưu điểm về khả năng kết hợp xử lý
giữa các máy tính khác nhau.

3. Các công cụ đƣợc sử dụng triển khai và thử nghiệm
 Globus Toolkit 4.2.1
 Centos 5.4
 MPICH-1.2.7


4

Chương 1 : Tổng quan về công nghệ Grid Computing

1.1. Lịch sử phát triển của công nghệ Grid
Trong những năm gần đây, chúng ta được nghe nhiều đến công nghệ Grid và
những ưu điểm của nó. Vậy Grid xuất hiện từ khi nào, từ bao giờ ? Trong quá khứ, những
ý tưởng tính toán có liên quan đến Grid đã xuất hiện, với những tên gọi khác nhau và cách
tiếp cận khác nhau.
Ví dụ như ý tưởng “chia sẻ năng lực tính toán” đã xuất hiện từ những năm 60-70
của thế kỷ XX, lúc đó toàn bộ năng lực tính toán được chia sẻ từ các máy mainframe.
Năm 1965, những người phát triển hệ điều hành Multics (tiền thân của hệ điều hành
Unix) đã đề cập đến việc sử dụng năng lực tính toán như là một tiện ích, một quan điểm
rất gần với quan điểm về Grid hiện nay. Đó là một hệ thống cung cấp năng lực tính toán
tương tự như hệ thống cung cấp điện, nước hiện đang được sử dụng trong cuộc sống hàng
ngày. Người dùng khi muốn sử dụng tài nguyên tính toán để xử lý công việc, chỉ cần cắm
thiết bị vào hệ thống cung cấp, sử dụng và trả tiền giống như khi cắm thiết bị điện vào
lưới điện.
Tuy trước đó đã có nhiều ý tưởng về Grid nhưng nguồn gốc của Grid chính thức
được xác định vào năm 1990, khi thuật ngữ “siêu tính toán” (metacomputing) ra đời, dùng
để mô tả các dự án kết nối các trung tâm siêu máy tính của Mỹ nhằm kết hợp sức mạnh
xử lý của nhiều siêu máy tính lại với nhau.
Đến năm 1995, 2 dự án siêu tính toán quan trọng, ảnh hưởng lớn đến các công
nghệ nền tảng trong các dự án Grid ngày nay là FAFNER (Factoring via Network-

Enabled Recursion) và I-WAY(Information Wide Area Year) ra đời.
Khái niệm Grid ra đời ở phòng thí nghiệm Argonne National Laboratory vào tháng
7/1997, sau đó được đưa vào quyển sách "The Grid: Blueprint for a New Computing
Infrastructure" viết bởi tiến sỹ Ian Foster (Argonne National Laboratory) và Carl
Kesselman (University of Southern California) năm 1998. Ian Foster đã từng tham gia dự
án I-WAY, Carl Kesselman là người tham gia dự án Globus Toolkit, một dự án nền tảng
của công nghệ Grid và Metacomputing.
5

Từ đó đến nay, việc phát triển công nghệ Grid trở nên rất sôi động với sự tham gia
nghiên cứu, đầu tư của nhiều tổ chức, tập đoàn công nghệ thông tin, nhiều quốc gia, và đã
thu được những thành tựu bước đầu. Có thể nói, việc phát triển và xây dựng hệ thống
Grid là sự kế thừa và phát triển các ý tưởng, các công nghệ hiện hành ở mức cao hơn. Sự
phát triển không ngừng của cơ sở hạ tầng, phần cứng máy tính, mạng đã giúp các hệ
thống Grid ngày nay thực hiện được nhiều điều hơn những ý tưởng trước đây.
1.2. Khái niệm
Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các
tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng,
khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để
giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại.
Từ đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm
thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng
nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán
và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”
Một hệ thống Grid có những đặc trưng như sau:
 Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung Grid tích hợp
và phối hợp tài nguyên, người dùng thuộc nhiều vùng quản lý khác nhau, nhiều
đơn vị khác nhau trong một tổ chức, hay nhiều tổ chức khác nhau. Công nghệ Grid
tập trung giải quyết các vấn đề về bảo mật, chính sách quản trị, chi phí, thành

viên,… nảy sinh trong quá trình chia sẻ và sử dụng tài nguyên.
 Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng. Grid được xây
dựng trên các giao thức và giao diện tổng quát, đa dụng để giải quyết các vấn đề cơ
bản như chứng thực người dùng, phân quyền, tìm kiếm và truy xuất tài nguyên.
 Đáp ứng yêu cầu cao về chất lượng dịch vụ. Grid cho phép sử dụng phối hợp các
tài nguyên để cung cấp nhiều loại dịch vụ với các mức chất lượng khác nhau, liên
quan đến ví dụ như thời gian đáp ứng, hiệu suất, tính sẵn sàng, bảo mật, cho phép
kết hợp nhiều kiểu tài nguyên để đáp ứng nhu cầu phức tạp của người dùng. Mục
tiêu là phải phối hợp làm sao để khả năng của hệ thống sau khi kết hợp phải lớn
hơn hẳn tổng khả năng của từng đơn vị cấu thành nên Grid.
6

1.3. Các kiểu tài nguyên của Grid
1.3.1. Tài nguyên tính toán
Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles) được
cung cấp bởi bộ vi xử lý của các thiết bị trong Grid. Các bộ vi xử lý không cần phải cùng
loại mà có thể có tốc độ, kiến trúc, chạy phần mềm khác nhau. Có 3 cách để khai thác tài
nguyên tính toán của Grid:
1. Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid thay vì chạy
trên máy tính cục bộ.
2. Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ để có thể thực thi song
song trên nhiều bộ xử lý khác nhau.
3. Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid.
1.3.2. Tài nguyên lƣu trữ
Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ. Mỗi thiết bị trong
Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng dụng trên
Grid. Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc các thiết bị lưu trữ khác.
Bộ nhớ trong thường dùng để lưu trữ dữ liệu tạm thời cho ứng dụng, trong khi các thiết bị
lưu trữ ngoài có thể được sử dụng để tăng không gian lưu trữ, tăng hiệu suất, khả năng
chia sẻ và đảm bảo tính tin cậy của dữ liệu.

1.3.3. Phƣơng tiện liên lạc
Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho công nghệ
Grid trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng. Ở đây bao gồm việc
liên lạc, trao đổi dữ liệu giữa các thành phần trong Grid và giao tiếp giữa Grid với bên
ngoài. Một số công việc đòi hỏi một lượng dữ liệu lớn nhưng các dữ liệu này thường
không nằm trên máy đang thực thi công việc. Khả năng về băng thông trong những
trường hợp như vậy là một tài nguyên then chốt, ảnh hưởng đến khả năng của Grid.
Việc giao tiếp với bên ngoài được thực hiện thông qua mạng Internet. Grid có thể
sử dụng các kết nối Internet để liên lạc giữa các node. Vì các kết nối này không chia sẻ
một đường truyền nên làm tăng băng thông truy cập Internet. Các đường truyền dự phòng
đôi khi cần thiết để giải quyết tốt hơn các vấn đề về hư hỏng mạng và truyền dữ liệu lớn.
7

1.3.4. Phần mềm, ứng dụng
Grid có thể được cài đặt các phần mềm mà có thể quá mắc để cài trên tất cả mọi
máy tính trong Grid. Các phần mềm này chỉ cần được cài trên một số node. Thông qua
Grid, khi một công việc cần đến chúng, nó sẽ gửi dữ liệu đến node đã được cài đặt phần
mềm và cho thực thi. Đây có thể là một giải pháp tốt để tiết kiệm chi phí về bản quyền
phần mềm.
1.3.5. Các thiết bị đặc biệt
Là các thiết bị dùng trong khoa học, kỹ thuật như kính viễn vọng, các bộ cảm biến
(sensor),… Các thiết bị này chủ yếu thu thập các dữ liệu khoa học, phục vụ cho các bước
phân tích, xử lý sau này.
Ghi chú: Các tài nguyên trên đây đến từ nhiều nguồn khác nhau, có thể không thuộc quyền quản
lý của một tổ chức, của một đơn vị mà có thể thuộc nhiều tổ chức, ở nhiều nơi khác nhau. Một số
tài nguyên có thể được sử dụng tự do, trong khi một số khác được sử dụng dưới những chính
sách nhất định. Các tài nguyên được “ảo hóa” (virtualize) để che dấu sự phức tạp, đa dạng
nhằm đưa ra một cái nhìn thống nhất, đơn giản về toàn bộ tài nguyên trên Grid sao cho dưới mắt
của người dùng, các tài nguyên Grid là một khối thống nhất.
1.4. Phân lọai các hệ thống Grid

Công nghệ Grid Computing có thể được sử dụng theo nhiều cách khác nhau để giải
quyết các loại yêu cầu ứng dụng. Thông thường Grid được phân loại bởi kiểu của ứng
dụng cần giải quyết. Có 3 loại Grid như trình bày dưới đây. Tuy nhiên không có ranh giới
phân biệt rõ ràng giữa các loại Grid và trong thực tế, các giải pháp Grid thường là sự kết
hợp 2 hay nhiều loại khác nhau.
1.4.1. Grid Tính toán (Computation Grid)
Loại Grid này tập trung chủ yếu vào việc sử dụng năng lực tính toán. Ở dạng Grid
này, phần lớn các node là các máy tính hay các nhóm máy tính(cluster) có năng lực xử lý,
tính toán rất lớn. Hình thức thực hiện là chia tác vụ tính toán lớn thành nhiều công việc
nhỏ thực thi song song trên các node của Grid. Việc phân tán các tác vụ tính toán trong
Grid sẽ làm giảm rất đáng kể toàn bộ thời gian xử lý và tăng khả năng tận dụng hệ thống.
Thông thường một hệ thống chính sẽ chia khối dữ liệu cần xử lý thành các phần nhỏ, sau
8

đó phân phối đến các node trên Grid. Mỗi node sẽ thực hiện xử lý dữ liệuvà trả kết quả về
hệ thống chính để hệ này tổng hợp và trình diễn kết quả toàn cục cho người dùng
1.4.2. Grid Dữ liệu (Data Grid)
Ở đây, không gian lưu trữ là tài nguyên. Một Grid Dữ liệu chịu trách nhiệm lưu trữ
và cung cấp khả năng truy cập dữ liệu cho nhiều tổ chức khác nhau. Người dùng không
cần biết chính xác vị trí dữ liệu khi thao tác với dữ liệu. Các cơ sở dữ liệu, đặc biệt các cơ
sở dữ liệu liên hợp, đóng vai trò quan trọng trong các Grid Dữ liệu, nhất là khi có nhiều
nguồn dữ liệu và xuất hiện nhu cầu kết hợp các thông tin từ các nguồn dữ liệu này. Các
Grid Dữ liệu có thể được sử dụng trong lĩnh vực khai thác dữ liệu(data mining) hoặc các
hệ thống thương mại thông minh. Trong trường hợp này, không chỉ có hệ thống file hay
các cơ sở dữ liệu mà toàn bộ dữ liệu của tổ chức cần tập hợp lại. Ở đây có thể phải kết
hợp giữa Grid Dữ liệu và Grid Tính toán.
1.4.3. Scavenging Grid
Một Scavenging Grid thường được dùng với một lượng lớn các máy tính để bàn.
Các máy tính thường được kiểm tra định kỳ để xem khi nào bộ xử lý và các tài nguyên
khác rảnh rỗi để thực hiện các tác vụ Grid. Chủ nhân của máy để bàn thường có quyền

xác định khi nào thì chia sẻ chiếc máy của mình.
1.5. Kiến trúc Grid
1.5.1. Bản chất Kiến trúc Grid
“Tổ chức ảo”(VO) là đơn vị cơ bản quan trọng trong hệ thống Grid. Việc thiết lập,
quản lý, khai thác, chia sẻ tài nguyên giữa các tổ chức ảo đòi hỏi phải có kiến trúc hệ
thống mới, kiến trúc Grid. Kiến trúc Grid dưới đây được xây dựng dựa trên quan niệm
“để các VO hoạt động hiệu quả đòi hỏi phải thiết lập được các quan hệ chia sẻ với bất kỳ
đơn vị tham gia tiềm năng nào”. Để làm được điều này, vấn đề “liên kết hoạt động”
(interoperability) cần phải được tập trung giải quyết. Trong môi trường mạng, “liên kết
hoạt động” đồng nghĩa với việc sử dụng các protocol chung. Do đó, kiến trúc Grid sẽ là
kiến trúc protocol, với các protocol xác định các cơ chế nền tảng để người dùng và nhà
cung cấp tài nguyên thương lượng, thiết lập, quản lý và khai thác các mối quan hệ chia sẻ
tài nguyên.
9

Kiến trúc Grid phải là kiến trúc dựa chuẩn, hướng mở, để dễ mở rộng, liên kết hoạt
động tốt, có tính khả chuyển (portability) cao. Các protocol chuẩn sẽ giúp định nghĩa các
service chuẩn, nhờ đó có thể xây dựng các service cao cấp hơn một cách dễ dàng. Sau khi
có được kiến trúc Grid, việc tiếp theo là xây dựng các hàm API và các bộ SDK để cung
cấp các công cụ cần thiết để phát triển các ứng dụng chạy trên nền Grid. Sở dĩ vấn đề
“liên kết hoạt động” được xem là vấn đề cơ bản vì các mối quan hệ chia sẻ có thể phải
được thiết lập giữa các bên tham gia khác nhau về các chính sách, giữa các môi trường
khác nhau về nền tảng, ngôn ngữ, môi trường lập trình,…Nếu không có nó, các thành
viên trong VO sẽ thực hiện các chính sách chia sẻ song phương và không chắc rằng các
cơ chế sử dụng cho 2 thành viên này sẽ mở rộng được cho các thành viên khác. Điều này
khiến cho việc thành lập các VO động là không thể thực hiện hoặc cũng chỉ thành lập
được VO theo một kiểu nào đó mà thôi.
Cũng giống như Web đã làm bùng nổ việc chia sẻ thông tin bằng cách cung cấp
các protocol và cú pháp chuẩn (HTTP và HTML) dùng cho việc trao đổi thông tin, ở đây
cũng cần các protocol và cú pháp chuẩn để chia sẻ tài nguyên. Để giải quyết vấn đề “liên

kết hoạt động”, việc xây dựng các protocol là quan trọng. Vì protocol xác định cách các
thành phần phân tán trao đổi với nhau để đạt được một mục đích nào đó, xác định các cấu
trúc thông tin cần thiết trong quá trình trao đổi. Các VO thường hay thay đổi, nên các cơ
chế xác định, chia sẻ và sử dụng tài nguyên cần phải mềm dẻo, gọn nhẹ, để các thỏa thuận
chia sẻ tài nguyên có thể được thiết lập, thay đổi một cách nhanh chóng. Các cơ chế chia
sẻ không được ảnh hưởng đến các chính sách cục bộ, và phải cho phép các thành viên
quản lý được các tài nguyên của họ. Vì các protocol quy định việc giao tiếp giữa các
thành viên chứ không quy định thành viên đó phải như thế nào, nên khi dùng các
protocol, các chính sách cục bộ được giữ lại. Do đó các protocol được cần đến. Khi đã có
các protocol, thì việc xây dựng các service là cần thiết và quan trọng, các service là bản
cài đặt cụ thể của các protocol. Việc xây dựng các service cơ bản phục vụ truy cập đến tài
nguyên tính toán, dữ liệu, tìm kiếm tài nguyên, lập lịch và đồng bộ hoá, sao chép dữ
liệu,… cho phép xây dựng các service cao cấp hơn cho ứng dụng đồng thời trừu tượng
hoá các chi tiết về tài nguyên. Cũng cần phải xây dựng các bộ API và SDK, vì các nhà
phát triển ứng dụng cần phải có công cụ để hỗ trợ phát triển các ứng dụng phức tạp trong
môi trường Grid, người dùng cũng phải có khả năng thực thi được các ứng dụng này. Sức
mạnh, tính đúng đắn của ứng dụng, chi phí phát triển và bảo trì là những mối quan tâm
10

quan trọng. Các API và SDK có thể giúp tăng tốc việc phát triển mã, cho phép chia sẻ mã,
tăng tính khả chuyển cho ứng dụng. Tất nhiên, API và SDK chỉ hỗ trợ thêm chứ không
thể thay thế các protocol được.
1.5.2. Chi tiết Kiến trúc Grid tổng quát
Sau gần 10 năm tập trung nghiên cứu, phát triển, tích luỹ kinh nghiệm, các nhà
phát triển công nghệ Grid đã có những thống nhất đáng kể về kiến trúc Grid. Một trong
những kiến trúc Grid được chấp nhận nhiều nhất được đưa ra bởi Ian Foster,phần dưới
đây sẽ giới thiệu về kiến trúc này. Kiến trúc Grid, theo Ian Foster, là một kiến trúc phân
tầng như trong hình 1.1 . Các thành phần trong một tầng có chung đặc điểm, tính chất, có
thể được xây dựng từ bất cứ tầng dưới nào. Các thành phần được phân tầng dựa theo vai
trò của chúng trong hệ thống Grid. Đây là một kiến trúc mở.Kiến trúc này chỉ quy định

các yêu cầu chung nhất về thiết kế và triển khai với mục đích chính là để tham khảo. Việc
xây dựng, cài đặt cụ thể tuỳ thuộc vào từng dự án, từng lĩnh vực ứng dụng. Dưới đây là
chi tiết của kiến trúc:









Hình 1.1.Grid protocol Architecture
1.5.2.1. Tầng Fabric
Đây là tầng thấp nhất của kiến trúc, đại diện cho các thiết bị vật lý và toàn bộ tài
nguyên của Grid mà các tổ chức, người dùng muốn chia sẻ, sử dụng. Các tài nguyên có
thể tồn tại dưới dạng vật lý như các máy tính, hệ thống lưu trữ, các danh mục, tài nguyên
Application (Ứng dụng)
Collective (Tầng kết hợp)
Resource (Tầng tài nguyên)
Connectivity (Tầng kết nối)
Fabric (Tầng thiết bị)
11

mạng, các loại sensor, cũng có thể là các thực thể logic - một thực thể trừu tượng - đại
diện cho một tập các tài nguyên vật lý, như hệ thống file phân tán, các cluster,… Trong
trường hợp các thực thể logic, việc triển khai có thể liên quan đến các protocol cục bộ (ví
dụ các protocol phục vụ dạng truy cập NFS, hoặc protocol quản lý tài nguyên, tiến trình
trong cluster,…) nhưng các protocol này không liên
quan đến kiến trúc Grid. Các thành phần của tầng Fabric thực hiện các hoạt động cục bộ

trên các tài nguyên cụ thể (vật lý lẫn logic) như là bước tiếp sau của các hoạt động chia sẻ
tài nguyên của các tầng trên. Do đó, có một mối liên hệ phụ thuộc chặt chẽ giữa các chức
năng của tầng Fabric với các hoạt động chia sẻ được hỗ trợ. Các chức năng của tầng
Fabric càng mạnh, càng nhiều sẽ cho phép các hoạt động chia sẻ phức tạp, phong phú
hơn. Kinh nghiệm cho thấy, việc quản lý tài nguyên ở tầng này ít nhất cũng phải có cơ
chế cung cấp thông tin để xác được cấu trúc, trạng thái, năng lực của tài nguyên và cơ chế
điều khiển chất lượng dịch vụ.
1.5.2.2. Tầng Connectivity
Tầng Connectivity định nghĩa các protocol liên lạc và chứng thực cơ bản cần thiết
cho các giao dịch mạng đặc trưng của Grid. Các protocol liên lạc cho phép trao đổi dữ
liệu giữa các tài nguyên tầng Fabric. Các protocol chứng thực xây dựng trên các dịch vụ
liên lạc nhằm cung cấp các cơ chế mã hóa, bảo mật, xác minh và nhận dạng các người
dùng và tài nguyên. Việc liên lạc đòi hỏi các công việc như vận chuyển, định tuyến, đặt
tên. Trong tương lai, việc liên lạc của Grid có thể cần các protocol mới, nhưng hiện nay
nên xây dựng trên các protocol có sẵn của bộ TCP/IP protocol stack, cụ thể là các tầng
Network (IP và ICMP), Transport (TCP,UDP) và
Application (DNS,OSPF,…).
Về khía cạnh bảo mật của tầng Connectivity, các giải pháp phải dựa trên các chuẩn
bảo mật hiện hành khi có thể. Cũng giống như liên lạc, rất nhiều chuẩn bảo mật đã được
phát triển với bộ Internet protocol có thể áp dụng được.Việc chứng thực, phân quyền
trong môi trường Grid là rất phức tạp. Các công nghệ bảo mật truyền thống chủ yếu tập
trung bảo vệ các giao dịch giữa các máy client và server. Trong Grid, việc phân biệt
client/server không tồn tại, vì các mỗi tài nguyên trong một lúc nào đó có thể là server
(khi nó nhận yêu cầu), một lúc khác lại là client (khi nó đề xuất yêu cầu đến các tài
12

nguyên khác). Do đó, các giải pháp chứng thực cho các môi trường VO nên đạt được các
yêu cầu về bảo mật trong Grid như đã giới thiệu.
1.5.2.3. Tầng Resource
Tầng Resource dựa trên các protocol liên lạc và chứng thực của tầng Connectivity

để xây dựng các protocol, API và SDK nhằm hỗ trợ việc thương lượng, khởi tạo, theo dõi,
điều khiển, tính toán chi phí và chi trả cho các hoạt động chia sẻ trên từng tài nguyên
riêng lẻ một cách an toàn. Bản cài đặt các protocol của tầng Resource sẽ gọi các chức
năng của tầng Fabric để truy cập và điều khiển các tài nguyên cục bộ.
Các protocol tầng Resource tập trung toàn bộ vào các tài nguyên riêng lẻ, không quan tâm
đến trạng thái toàn cục và các hoạt động trong các tập tài nguyên phân tán.
Các protocol tầng Resource được phân thành 2 dạng chính như sau:
- Các protocol thông tin
Sử dụng để thu thập thông tin về cấu trúc và trạng thái các tài nguyên ví dụ như
cấu hình hiện tại, tải hiện tại, chính sách sử dụng,…
- Các protocol quản lý
Sử dụng để thương lượng truy xuất đến một tài nguyên chia sẻ, xác định rõ, ví dụ,
các yêu cầu về tài nguyên (bao gồm luôn việc giữ chỗ tài nguyên và chất lượng dịch vụ)
và các thao tác cần được thực hiện như tạo tiến trình, hoặc truy xuất dữ liệu. Do các
protocol quản lý chịu trách nhiệm đại diện cho các quan hệ chia sẻ, đảm bảo các hoạt
động sử dụng tài nguyên phải phù hợp với các chính sách chia sẻ tài nguyên, bao gồm
luôn việc tính toán và chi trả chi phí. Mỗi protocol cũng nên hỗ trợ việc theo dõi trạng
thái và điều khiển các hoạt động. Với những yêu cầu như vậy, tập các protocol tầng
Resource (và Connectivity) nên nhỏ gọn và tập trung. Các protocol này chỉ nên đáp ứng
được các cơ chế chia sẻ với nhiều loại tài nguyên khác nhau (ví dụ, các hệ thống quản lý
tài nguyên cục bộ khác nhau) là đủ. Các chức năng chính của tầng Resource cũng giống
như của tầng Fabric cộng thêm nhiều ngữ nghĩa mới với cơ chế báo lỗi tin cậy khi hoạt
động không thành công.
13

1.5.2.4. Tầng Collective
Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ, tầng Collective chứa
các protocol, service, API, SDK không liên hệ đến bất kỳ một tài nguyên cụ thể nào mà
thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các tập tài nguyên. Tầng
Collective có thể bổ sung thêm nhiều loại hoạt động chia sẻ mới ngoài những gì đã có từ

tầng Resource mà không cần bổ sung thêm các yêu cầu mới cho các tài nguyên đang được
chia sẻ. Các chức năng của tầng Collective có thể được cài đặt như các service (với các
protocol tương ứng), hay như các bộ SDK(với các API tương ứng) được thiết kế để liên
kết với ứng dụng. Trong cả hai trường hợp, các cài đặt này có thể được xây dựng trên các
protocol và API của tầng Resource và Connectivity.
1.5.2.5. Tầng Application
Tầng trên cùng của kiến trúc Grid bao gồm các ứng dụng của người dùng chạy
trong một trường VO. Các ứng dụng được xây dựng theo cách sẽ gọi các dịch vụ định
nghĩa bởi các tầng phía dưới. Ví dụ : một chương trình phân tích bộ gen người cần phải
chạy hàng ngàn tác vụ độc lập, mỗi tác vụ cần nhiều file chứa thông tin từng phần của bộ
gen có thể sử dụng các chức năng Grid sau:
- Lấy các thông tin, thẻ chứng thực (các protocol tầng Connectivity).
- Truy vấn hệ thống thông tin Grid và các danh mục để tìm các tài nguyên thích
hợp và vị trí các file dữ liệu đầu vào. (các dịch vụ tầng Collective).
- Gửi các yêu cầu đến các tài nguyên để thực hiện tính toán, di chuyển dữ liệu,…
và kiểm soát quá trình thực thi công việc, thông báo cho người dùng khi mọi
thứ hoàn tất, dò tìm và phản ứng với các điều kiện gây lỗi (tầng Resource).
1.6. Grid computing đem lại những lợi ích gì ?
1.6.1. Khai thác tối đa tài nguyên xử lý
Lợi ích đầu tiên cần nói đến đó là khả năng chạy một chương trình trên nhiều máy
tính khác nhau . Hay nói một cách khác ,đó là xử lý song song. Trong một mạng lưới gồm
nhiều máy tính ,rất ít khi các máy tính đều được sử dụng một cách tối đa những tài
nguyên của mình ,thường thì với công việc văn phòng ,tính toán đơn giản ,máy tính chỉ sử
dụng tối đa là 20% tài nguyên của máy, như vậy chúng ta nhìn thấy luôn sự lãng phí của
những tài nguyên còn lại. Triên khai hệ thống grid computing sẽ giúp tận dụng những tài
14

nguyên còn chưa được sử dụng kia để xử lý một bài toán chung, trong trường hợp này,
tốc độ xử lý được tối ưu, sự lãng phí tài nguyên được giảm tới mức tối đa.
Không chỉ thế ,grid computing cho phép ảo hóa những đĩa cứng còn trống thành

một đĩa cứng mới , từ đây chúng ta có thể tận dụng tài nguyên lưu trữ dữ liệu.
1.6.2. Khả năng xử lý song song
Khi kết hợp nhiều bộ vi xử lý để giải quyết một bài toán, chúng ta có thể hình tượng
như sau, bài toán lớn được chia làm n phần cho n CPU xử lý, mỗi một CPU sẽ xử lý 1
phần trong đó. Như vậy công việc chúng ta đạt được sẽ nhanh gấp n lần.
Nhưng không phải ứng dụng nào cũng hợp lý nếu được triển khai một cách song
song. Công việc này đòi hoi người thiết ké ứng dụng phải tư duy và sáng tạo
Tuy nhiên xử lý song song sẽ là một phương án cần nghĩ đến đầu tiên trong nghiên
cứu khoa học ,giải quyết những bài toán lớn, có tính độc lập của các thành phần cao.
1.6.3. Chia sẽ tài nguyên ảo và tổ chức ảo
Grid computing cho phép tạo ra một môi trường cộng tác rộng lớn ,đồng nhất. Mỗi
môi trường đó là một tổ chức ảo. Grid computing thậm chí còn cho phép kết hợp các tổ
chức ảo, không đồng nhất với nhau để cộng tác với nhau. Các tổ chức ảo này chia sẽ tài
nguyên với nhau như là một mạng lưới lớn.
Chia sẽ tài nguyên dữ liệu bằng cách trải rộng cơ sở dữ liệu trên nhiều hệ thống tạo
nên dung lượng lớn hơn nhiều so với hệ thống đơn. Cách trải rộng dữ liệu này làm tăng
tốc độ truyền dữ liệu với công nghệ stripping. 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 ra ,còn có thể chia sẽ nhiều tài nguyên khác như thiết bị chuyên dụng, phần
mềm.
1.6.4. Sự truy cập đến các tài nguyên khác
Ngoài CPI và tài nguyên lưu trữ, Grid còn có thể truy cập đến các 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 vào nhau. Trong trường hợp này, khả năng tìm
15

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 được cài đặt nhưng phần mềm đắt tiền, một
số khác thì không. Người sử dụng không cần cài đặt phần mềm đó vẫn có thể sử dụng
phần mềm này bằng cách gửi công việc đến máy đã đượ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 in có thể sử dụng 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òn 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.6.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. Chức năng này có ý nghĩ to 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. Cân bằng có thể được thực hiện bởi 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 để dành cho những
công việc có độ ưu tiên cao hơn.
Đô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ể xử lý được những công việc nhỏ và huy động một lực lượng lớn tài nguyên để xử lý
nó một cách nhanh nhất.
Một lợi ích khác của 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.
16


1.6.6. Độ tin cậy
Trong tương lai, một mạng lưới có thể có khả năng thay thế một hệ thống đáng tin
cậy. 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 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.














17

Chương 2: Globus Toolkit 4

Globus Toolkit là một bộ toolkit mã nguồn mở được sử dụng để xây dựng các hệ
thống và các ứng dụng Grid. Globus Toolkit hiện đang được phát triển bởi tổ chức
Globus Alliance và nhiều tổ chức khắp nơi trên thế giới. Globus Alliance là một cộng

đồng và các cá nhân và tổ chức tham gia phát triển các công nghệ nền tảng cho Grid.
Globus Toolkit cho phép hiện thực hóa các ý tưởng, mục tiêu đằng sau khái niệm
Grid. Bộ toolkit bao gồm các dịch vụ và thư viện phục vụ việc bảo mật, hạ tầng thông tin
Grid, quản lý tài nguyên, quản lý dữ liệu, liên lạc, phát hiện lỗi,… Nó được đóng gói như
một tập các thành phần có thể sử dụng độc lập hoặc kết hợp với nhau. Mỗi tổ chức đều có
những hoạt động, chính sách khác nhau, việc kết hợp, chia sẻ tài nguyên từ nhiều tổ chức
bị cản trở bởi tính không tương thích giữa các tài nguyên. Globus Toolkit được xây dựng
để loại bỏ những trở ngại này. Các service, interface, và protocol của nó cho phép người
dùng truy cập đến các tài nguyên ở xa như thể nó đang nằm trong máy tính của họ trong
khi vẫn cho phép các tổ chức thiết lập chính sách cục bộ của mình như quản lý việc ai
được dùng tài nguyên và khi nào…
Mặc dù Globus được phát triển để phục vụ các dự án về khoa học và kỹ thuật, nhưng hiện
nay Globus cũng đã được áp dụng vào các lĩnh vực thương mại. Từ năm 2000, các công
ty hàng đầu thế giới trong lĩnh vực công nghệ thông tin như Avaki, DataSynapse,
Entropia, Fujitsu, Hewlett-packard, IBM, NEC, Oracle, Platform, Sun, Microsoft ,đã bắt
đầu xây dựng các chiến lược về Grid Computing trên nền tảng Globus.
2.1. Khái niệm về Globus
The Globus Toolkit (GT) đã được phát triển từ cuối những năm 1990 đến nay
nhằm hỗ trợ phát triển các dịch vụ theo định hướng ứng dụng tính toán phân tán và cơ sở
hạ tầng. Các thành phần cơ bản bao gồm an ninh, truy cập tài nguyên, quản lý tài nguyên,
di chuyển dữ liệu, tìm kiếm tài nguyên, và v…. Những công cụ này đã lần lượt được sử
dụng để mở rộng hạ tầng cơ sở của Grid và các ứng dụng phân tán.
 Globus được hiểu theo những quan điểm như sau :
18

- Một cộng đồng những người dùng và phát triển ,những cộng tác viên bằng cách
sử dụng hoặc phát triển những phần mềm mã nguồn mở ,liên kết các tài liệu
cho việc tính toán phân tán và liên kết tài nguyên.
- Là phần mềm GLOBUS TOOLKIT : một tập các thư viện và chương trình cần
thiết để xây dựng một hệ thống phân tán và các ứng dụng được triển khai trên

nó.
- Một nền tảng hỗ trợ cho cộng đồng : mã nguồn ,email … Tất cả đều có thể
được giải quyết khi truy cập vào globus.org
 Globus toolkit cung cấp rất nhiều thành phần ,bao gồm :
- Một tập hợp các dịch vụ được thêm vào tập trung vào việc quản lý cơ sở hạ
tầng.
- Các công cụ để xây dựng những dịch vụ Web bằng Java, C, Python.
- Hạ tầng bảo mật cao.
- Là máy khách API hoặc dòng lệnh cho việc truy cập dịch vụ và tài nguyên.
- Tài liệu đặc tả về các thành phần và cách dùng nó thế nào để xây dựng một ứng
dụng.
2.2. Nguyên nhân thúc đẩy sự phát triển của Globus
Phần mềm Globus được thiết kế để cho phép các ứng dụng sử dụng nguồn lực giữa
các tài nguyên phân tán cho dù đó là máy vi tính, thiết bị lưu trữ, dữ liệu, dịch vụ, mạng
lưới, hoặc cảm biến. Ban đầu, việc phát triển Globus được thúc đẩy bởi nhu cầu của các
"tổ chức ảo" trong khoa học. Trong thời gian gần đây, việc sử dụng Globus trong các ứng
dụng thương mại đã trở nên ngày càng quan trọng. Thương mại và khoa học có cùng một
mối quan tâm là luôn luôn đỏi hỏi xử lý dữ liệu thường xuyên, nhưng không phải là liên
tục. Việc phát triển Globus bắt nguồn từ nhu cầu muốn truy cập và xử lý dữ liệu hay nhân
rộng dữ liệu đó ra các máy tính khác nhau thuộc các tổ chức khác nhau và đặt tại các vị trí
địa lý cách xa nhau. Ví dụ:
 Một nhà khoa học (hoặc một nhà phân tích về kinh tế) cần truy cập dữ liệu nằm
trong cơ sở dữ liệu khác nhau trong một một tổ chức hợp tác khoa học (hoặc doanh
nghiệp).
 Một doanh nghiệp cần phải phân bổ tính toán, lưu trữ, và tài nguyên mạng động để
hỗ trợ thời gian khác nhau thương mại điện tử (hoặc vật lý phân tích dữ liệu
19

 Một kỹ sư có nhu cầu thiết kế và vận hành thử nghiệm trên các thiết bị điều khiển
từ xa, liên kết và so sánh các số liệu và mô phỏng vật lý.

 Một nhà thiên văn học cần nhân rộng một terabyte dữ liệu một ngày đến các đối
tác trên khắp thế giới.
2.3. Kiến trúc Globus
2.3.1. Các thành phần thƣờng trực
2.3.1.1. Java WS Core
Bao gồm các API và các công cụ thi hành chuẩn WSRF và WS-Notification trên
nền ngôn ngữ Java. Các thành phần đó trở thành nền tảng cho một số các dịch vụ Grid.
Ngoài ra, Java WS Core còn cung cấp các thư viện và công cụ cho việc phát triển các dịch
vụ WSRF
2.3.1.2. C WS Core
Bao gồm các API và các công cụ thi hành chuẩn WSRF trên nền ngôn ngữ C
2.3.2. Các thành phần bảo mật
Trong GT, việc bảo mật Grid được đảm trách bởi module Grid Security
Infrastructure (GSI). Như đã biết, yêu cầu về bảo mật, an toàn là một trong những vấn đề
chính trong các thiết kế Grid. Các thành phần bảo mật cơ sở của GT đã đưa ra các cơ chế
khá tốt để thực hiện việc chứng thực, phân quyền, bảo mật liên lạc giữa các node trong
Grid. GSI là một sự mở rộng các protocol và API của các chuẩn về bảo mật hiện
hành.GSI được xây dựng trên các công nghệ, các chuẩn như :
 Mô hình mã hoá khóa công khai (public key infrastructure(PKI))
 X.509 certificate
 Protocol Secure Sockets Layer (SSL)
Tất cả các kết nối liên lạc trong Grid đều được mã hoá theo công nghệ
RSA 1024 bit và truyền tải với protocol SSL.
 Generic Security Service API (GSS-API)
Toàn bộ phần cài đặt của GSI đều tuân theo GSS-API (là một bộ API
chuẩn dành cho các hệ thống bảo mật được tổ chức Internet Engineering
20

Task Force (IETF) đưa ra).
GSI đã mở rộng các chuẩn này để cung cấp thêm chức năng đăng nhập một lần

(single sign-on), ủy quyền (delegation), identity mapping (ánh xạ thực thể).








Hình 2.1. Tóm tắt cấu trúc và chức năng các thành phần của GSI

2.3.2.1. Cơ bản về bảo mật Grid và GSI
 Symmetric Encryption
Mã hoá kiểu Symmetric dựa trên việc sử dụng một khoá bí mật để thực hiện mã hoá và
giải mã dữ liệu. Để đảm bảo dữ liệu chỉ được đọc bởi bên gửi và bên nhận, khoá được
trao đổi một cách bí mật giữa 2 bên. Nếu ai đó lấy được khóa bí mật đã sử dụng để mã
hoá, họ có thể giải mã được thông tin. Phương pháp mã hoá này kém an toàn nhưng tốc
độ mã hóa/giải mã lại nhanh hơn dạng mã hoá Asymmetric trình bày dưới dây.
 Asymmetric Encryption
Phương pháp này được gọi là phương pháp mã hoá khoá công khai, cũng được sử
dụng rất thường xuyên. Phương pháp này sử dụng một cặp khoá để mã hóa (được gọi là
khóa công khai (public key) và khóa bí mật (private key)). Khóa để mã hoá khác với khoá
được sử dụng để giải mã. Phương pháp mã hoá khóa công khai yêu cầu các bên phải bảo
vệ kỹ các khóa bí mật của mình, trong khi khóa công khai của họ không cần được bảo vệ,
có thể được công bố rộng rãi trong cộng đồng.Thông thường, khóa công khai được để
Proxy và ủy quyền
(Phần mở rộng bởi GSI, phục vụ single sign-on)

PKI
(CA và Certificate)

SSL/TSL
(Chứng thực và bảo vệ thông
điệp)

×