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

TÌM HIỂU CÔNG NGHỆ GRID COMPUTING VÀ GIỚI THIỆU BỘ GLOBUS TOOLKIT

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 (774.63 KB, 28 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
o0o
BÁO CÁO TIỂU LUẬN
TÍNH TOÁN LƯỚI
ĐỀ TÀI:
TÌM HIỂU CÔNG NGHỆ
GRID COMPUTING VÀ
GIỚI THIỆU BỘ GLOBUS TOOLKIT
Bộ Môn : TÍNH TOÁN LƯỚI
Giảng viên : TS.NGUYỄN PHI KHỨ
Học viên : NGUYỄN NGỌC TÚ - CH1101053
HUỲNH TUẤN ANH - CH1101004
Lớp : CH CNTTQM - 06
TP. Hồ Chí Minh, tháng 07 năm 2013
1
Lời cảm ơn
Tôi xin chân thành cảm ơn sự giúp đỡ nhiệt tình của thầy TS. NGUYỄN PHI
KHỨ trong suốt thời gian học cũng như quá trình làm đồ án môn học:”TÍNH
TOÁN LƯỚI”, và cũng xin cảm ơn các bạn trong khoa đã có nhiều đóng góp để
chúng tôi hoàn thành môn học này. Tuy nhiên do thời gian hạn hẹp, và sự hiểu biết
của chúng em về môn học này chưa được sâu, cho nên đề tài vẫn còn nhiều thiếu
sót, nhiều vấn đề chưa được giải quyết hoàn chỉnh và phù hợp với thực tế hiện nay.
Vì vậy, chúng tôi mong nhận được sự đóng góp của thầy và các bạn để đồ án được
hoàn thiện hơn.
Học viên thực hiện
Nguyễn Ngọc Tú-Huỳnh Tuấn Anh
2
PHỤ LỤC
I. TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING 3
TÀI LIỆU THAM KHẢO 28


I. TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING
1. 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ô ớ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”
Grid Computing (tính toán lưới) là thực hiện liên kết tài nguyên phân bố theo
địa lý để giải quyết vấn đề quy mô lớn đang trở nên phổ biến. Việc quản lý
các nguồn tài nguyên trong môi trường lưới sẽ trở thành phức tạp khi các tài
nguyên đó phân tán, không đồng nhất. Và cũng vì chúng thuộc sở hữu của cá
nhân / tổ chức khác nhau, được áp dụng các chính sách quản lý tài nguyên,
truy cập và tính toán chi phí trên các mô hình cũng khác nhau. Bài viết này
3
giới thiệu 3 mô hình dùng trong quản lý tài nguyên lưới (grid resource
management): hierarchical model, abstract owner model, và economic mode.
Hierarchical model được áp dụng phổ biến trong các hệ thống grid hiện tại
theo mô hình phân cấp. Abstract owner model tiếp cận theo hướng order and
delivery (yêu cầu và chuyển giao). Economic model áp dụng cả hai mô hình
hierarchical và abstract owner models để phục vụ cho việc giải quyết bài
toán về chi phí cho các nhà cung cấp và người sử dụng tài nguyên.
- Sự phát triển ngày càng phổ biến của Internet, cùng với năng lực tính toán
của máy tính ngày càng mạnh và mạng tốc độ cao cũng như các thiết bị có

chi phí ngày càng thấp đang thay đổi cách tính toán và sử dụng các máy tính.
Các tài nguyên được phân bố theo các vị trí địa lý khác nhau, cần phải được
liên kết kết với nhau để phục vụ các bài toán tính toán lớn. Chính vì vậy cần
áp dụng tính toán lưới để giải quyết việc kết hợp các tài nguyên đó lại.
- Trong môi trường này, nhiều tài nguyên tính toán như các siêu máy tính, các
cụm máy tính, thiết bị trực quan, hệ thống lưu trữ và cơ sở dữ liệu, đặc biệt
các thiết bị khoa học như kính thiên văn kết nối ở mức luận lý với nhau và
thể hiện ra bên ngoài đến người sử dụng như là một tài nguyên tích hợp đơn
(single integrated resource) (xem hình 1).
- Về cơ bản, người sử dụng tương tác với resource broker. Như vậy sẽ không
thấy được những phức tạp của tính toán lưới. Khi Broker phát hiện ra tài
nguyên mà người sử dụng có thể truy cập thông qua một hoặc nhiều hệ thống
quản lý thông tin lưới (grid information server), Broker sẽ thương lượng
(negotiates) với các resource hoặc các agent của chúng bằng cách sử dụng
middleware services. Khi đã đạt được thỏa thuận với các resource, sẽ thực
hiện việc lập lịch (scheduling) bằng cách ánh xạ các task đến các resource,
sắp xếp ứng dụng và dữ liệu để xử lý và cuối cùng trả về tập hợp kết quả.
Trong quá trình đó, cần theo dõi tiến trình thực hiện ứng dụng để việc quản
lý các thay đổi trong cơ sở hạ tầng lưới (grid infrastructure) và resource
failure.
4
- Có một số dự án trên thế giới, đang phát triển các thành phần, các dịch vụ và
các ứng dụng trên hệ thống tính toán lưới: Globus, Legion, NetSolve, Ninf,
Apple, Nimrod/G, và JaWS.

Hình 1: Góc nhìn tổng quát của hệ thống GRID.
- Trong môi trường tính toán lưới, việc truy cập vào các tài nguyên phân bố
theo cơ chế truy cập ngang hàng. Vì vậy cần phải áp dụng các chính sách bảo
mật cũng như xác thực quyền truy cập của người dùng.
- Với việc Internet ngày càng phát triển manh, nhu cầu sử dụng các tài nguyên

sẵn có ngày càng nhiều, và các tài nguyên đó tương tác với nhau để phục vụ
các yêu cầu của người sử dụng. Tuy nhiên, trong môi trường phân bố, các tài
nguyên đó lại được quản lý bởi các tổ chức khác nhau, có chính sách khác
nhau vì vậy sẽ phát sinh các vấn đề rất phức tạp trong việc kết hợp các tài
nguyên này với nhau.
→ Vì vậy cần có mô hình quản lý tài nguyên.
2. TÌM HIỂU CÔNG NGHỆ GRID COMPUTING(TÍNH TOÁN LƯỚI)
 Với những tiến bộ trong nền công nghiệp sản xuất phần cứng máy tính, các
thế hệ máy tính ngay nay đã trở nên mạnh mẽ và rẻ hơn rất nhiều so với các
thế hệ trước đó. Cùng với sự hữu ích, máy tính đã trở nên phổ dụng khắp nơi
trên thế giới, đi sâu vào mọi công việc của con người, từ công việc hàng
5
ngày, công sở, kinh doanh đến sản xuất, nghiên cứu khoa học. Do đó số
lượng máy tính hiện nay trên thế giới là rất lớn với tổng cộng năng lực xử lý
và lưu trữ khổng lồ.
 Tuy nhiên, các ứng dụng ngày nay chỉ mới sử dụng được một phần rất nhỏ
năng lực xử lý và lưu trữ do các ứng dụng chỉ chạy trên máy tính cục bộ, đơn
lẻ, phân tán khắp nơi theo địa lý. Từ đó dẫn đến lãng phí rất lớn. Một câu hỏi
đặt ra là làm sao tận dụng tốt hơn năng lực của máy tính.
 Mặc khác, theo đà phát triển, con người ngày càng đối mặt với nhiều vấn đề
lớn, phức tạp trong khoa học, thương mại đòi hỏi năng lực xử lý tính toán,
lưu trữ lớn :
 Trong khoa học :
 Cách đây 10 năm các nhà sinh học đã rất vui mừng khi họ có thể giả
lập một đơn phân tử trên máy tính. Ngày nay họ muốn giả lập hàng
ngàn phân tử thuốc, protein và tác dụng tương hỗ giữa chúng để tạo ra
các loại thuốc mới.
 Để nghiên cứu các hạt cơ bản và tương tác giữa chúng, hàng năm
ngành vật lý năng lượng cao (High Enegy Physics) tạo ra khoảng 10
Petabyte (dung lượng khoảng 20 triệu đĩa CD-ROM) dữ liệu. hay các

nhà vật lý địa cầu thực hiện theo dõi bầu khí quyển, tầng ozone, hàng
ngày phải lưu trữ và phân tích khoảng 100 Gigabytes dữ liệu ảnh chụp
từ vệ tinh.
 Việc phân tích, giải mã bộ gen người, các dự án nghiên cứu vũ trụ, . . .
. . cũng cần năng lực xử lý rất lớn.
 Vấn đề hợp tác giữa hàng ngàn nhà khoa học trên toàn thế giới, hỗ trợ
việc chia sẻ một lượng lớn dữ liệu, thực hiện các tính toán phức tạp
trực tuyến trên các dữ liệu đó.
6

Hình 1: Grid computing trong khoa học
 Trong thương mại :
 Các bài toán phân tích xử lý số liệu kinh tế của các quốc gia, các công
ty đa quốc gia, . . . .
 Các công ty cung cấp dịch vụ mạng cho hàng triệu người dùng trên
toàn thế giới.
 Các bài toán mô phỏng, giả lập trong thiết kế sản phẩm công nghiệp.
 Bài toán xử lý thông tin trong quản trị mạng, các hệ thống phát hiện
tấn công, xâm nhập mạng.
 Một máy tính đơn, một nhóm các máy tính (cluster) hay thậm chí một siêu
máy tính thông dụng cũng không thể đáp ứng được nhu cầu tính toán, lưu trữ
ngày càng lớn như vậy. Một số bài toán cũng có thể được giải quyết nhưng
rất khó khăn, với chi phí rất cao mà không phải quốc gia, tổ chức nào cũng
thực hiện được (đặc biệt là các nước đang phát triển), còn những bài toán
khác có thể nói là không thể giải quyết được với công nghệ tính toán hiện
nay.
7
 Thực tế khiến người ta nảy sinh ý tưởng phải kết hợp các máy tính phân tán
khắp nơi trên thế giới trở thành một siêu máy tính khổng lồ nhằm tận dụng
năng lực tính toán, lưu trữ hiện đang lãng phí để giải quyết bài toán phức tạp

trên đây với chi phí thấp hơn.
 Trước đây, khi các công nghệ mạng chưa phát triển thì ý tưởng trên hầu như
chưa thực hiện được. Nhưng hiện nay, các công nghệ máy tính đã phát triển
vược bậc, hiệu năng mạng tăng gấp đôi sau mỗi năm, ý tưởng về “siêu máy
tính” toàn cầu đã có cơ sở để trở thành hiện thực. Đến những năm cuối thế
kỷ XX, các dự án nghiên cứu đầu tiên về lĩnh vực này đã khai sinh ra công
nghệ Grid Computing.
 Công nghệ Gird Computing ra đời đượcdự đoán là công nghệ nền tảng của
thế kỷ XXI, làm thay đổi cách thức tính toán của chúng ta, giống như
internet đã từng làm thay đổi cách thức trao đổi thông tin trong thế kỷ XX.
Công nghệ Grid Computing đã mở ra một cơ hội mới cho các nước không có
nền công nghiệp thiết kế, chế tạo phần cứng máy tính mạng, tạo ra các siêu
máy tính để giải quyết các bài toán của riêng mình với chi phí thấp và độ
làm chủ cao.
 Ở việt nam, nhu cầu ứng dụng công nghệ thông tin vào các hoạt động nghiên
cứu khoa học, quản lý kinh tế xã hội ngày càng cao, đòi hỏi phải xử lý những
khối lượng dữ liệu lớn, khối lượng tính toán khổng lồ (vì nước chúng ta còn
nghèo, kinh phí đầu tư cho nghành công nghệ thông tin chưa cao).
Do đó, việc nghiên cứu, phát triển công nghệ Grid Computing vào thực tế
được xem là một giải pháp quang trọng để giải quyết các bài toán trên.
3. GIỚI THIỆU MÔI TRƯỜNG LƯỚI
Một số đặc điểm thường thấy trên hệ thống lưới như:
- Tính không đồng nhất (Heterogeneity): tài nguyên trên lưới là đa dạng, thuộc
nhiều loại khác nhau từ kiến trúc phần cứng (CPU, các loại thiết bị lưu trữ,
thiết bị truyền thông,…) đến phần mềm (hệ điều hành, các thư viện, công
cụ), ngôn ngữ.
8
- Tính quy mô lớn (large-scale): một hệ thống lưới kết hợp nhiều dạng tài
nguyên trên phạm vi cả thế giới cho nên một hệ thống lưới sẽ rất phức tạp và
khó mà có thể biết được một hình thù cụ thể của nó tại một thời điểm

- Một hệ thống lưới phải có tính thích nghi, đáp ứng cao và có khả năng mở
rộng: hệ thống lưới phát triển trên môi trường không đồng nhất đương nhiên
phải có khả năng xử lý ngoại lệ, chịu đựng lỗi tốt, có thể bắt tay với một số
hệ thống khác để thực hiện tác vụ nhưng vẫn đảm bảo vấn đề an toàn thông
tin. Bên cạnh đó, hệ thống lưới phải có khả năng mở rộng, hệ thống phải đảm
bảo là khi gia tăng hay giảm đi các phần tử trên lưới (tăng giảm quy mô) thì
hệ thống không cần phải điều chỉnh lớn lao làm ảnh hưởng đến hoạt động
của cả hệ thống như là cả hệ thống phải sụp đổ tạm thời khi thêm, bớt một
đơn vị lưới nào đó sau đó mới hoạt động trở lại.
Từ đó, cho thấy tính cấp thiết của một thành phần của hệ thống lưới có
thể đáp ứng được các yêu cầu, một nhóm chương trình có chức năng, nhiệm
vụ làm trung gian để tương tác giữa các ứng dụng lưới từ phía người dùng và
môi trường lưới bên dưới, gọi là middleware
Hình 2: Người dùng chỉ cần cắm và sử dụng dịch vụ mà không cần quan tâm
đến phía sau đó là gì.
3.1Định nghĩa Grid Middleware
9
 Grid middleware là gói phần mềm nằm giữa lớp ứng dụng và hệ điều hành.
 Grid middleware quản lý sercurity, truy cập và trao đổi thông tin:
• Cung cấp khả năng kết nối số lượng lớn user
• Che dấu các tài nguyên chia sẽ rời rạc như máy tính, trung tâm dữ
liệu,các thiết bị khác…
Cung cấp các công cụ để quản lý,khởi tạo các liên kết trao đổi thông tin.
3.2Nhiêm vụ và lợi ích của grid middleware
Có 3 mục đích:
• Xây dựng các giao tiếp, và các giao thức có tính mục đích chung, tính mở
và tính chuẩn. Bởi vì hệ thống lưới được xây dưng trên những giao tiếp
và giao thức với rất nhiều mục đích khác nhau. Những giao tiếp và giao
thức này điều chỉ ra được các kết quả cơ bản, mang tính nền tảng như về
việc xác nhận, xác thực, khám phá tài nguyên, truy xuất tài nguyên. Do

đó, việc xây dựng các giao tiếp, giao thức chuẩn và mở là rất quan trọng,
nếu không, chúng ta chỉ xây dựng được những ứng dụng mang tính đặc
thù mà thôi.
• Định nghĩa các giao thức chuẩn: Nó định nghĩa nội dung và chuỗi các sự
kiện trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa. Điều này rất
quan trọng và thiết để thực hiện tính interoperability (nghĩa là khả năng
mà 2 thực thể khác nhau có thể làm việc với nhau, và được thực hiện bởi
các giao thức thông thường) mà hệ thống lưới phụ thuộc vào.
• Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn,
định nghĩa các giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành
phần của Grid bằng cách cho phép các thành phần mã được sử dụng lại.
Khi có grid middleware thì giúp:
 Tránh cho các nhà phát triển ứng dụng không cần lập trình các mức
thấp, tránh error-prone flatform như việc lập trình mạng mức socket.
 Giảm chi phí thời gian phát triển phần mềm khi tập trung phát triển
chuyên môn trước rồi mới phát triển ứng dụng bằng cách tái sử dụng
framework chứ không cần xây dựng lại từ đầu.
10
 Cung cấp các trừu tượng hướng mạng ở mức cao gần với yêu cầu ứng
dụng cho việc phát triển hệ thống rời rạc.
 Cung cấp nhiều dịch vụ phát triển, như đăng nhập và bảo mật giúp
cho việc hoạt động hiệu quả trong môi trường mạng.
I. GIỚI THIỆU BỘ GLOBUS TOOLKIT
1. LỊCH SỬ
 Cuối năm 1994 Rick Stevens (Argonne National Laboratory) và Tom
DeFanti (Electronic Visualization Laboratory, University of Illinois,
Chicago) đề nghị tạo một đường kết nối tạm thời giữa 11 mạng nguyên cứu
tốc độ cao để tạo ra một Grid xuyên quốc gia (I-WAY) trong 2 tuần trước và
trong hội nghị Supercomputing ’95.
 Một đội ngũ phát triển nhỏ đứng đầu là tiến sỹ Lan Foster (Argonne

National Laboratory) đã tạo nên các protocol cho phép người dùng của I-
WAY chạy các ứng dụng trên máy tính nằm rải rác khắp nước Mỹ. Thành
công này đã được sự tài trợ của tổ chức Defense Advance Research Projects
Agency (DARPA) để tiếp tục nguyên cứu và phát triển.
 Đến năm 1997 phiên bản đầu tiên của Globus toolkit ra đời, rồi tiếp
theo là sự phát hành của Globus toolkit Version 1.0 (GT1-1998), Globus
toolkit Version 2.0 (GT2-2002), Globus toolkit Version 3.0 (GT3-2003) và
hiện nay là Globus toolkit Version 4.0 (GT4-2005). GT1 và GT2 là các phiên
bản xây dựng theo các mô hình và giao thức độc quyền của tổ chức Globus,
đến GT3 và GT4 thì chuyển sang xây dựng các Grid Service theo các chuẩn
OGSA và OGSI.
2. GIỚI THIỆU
 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.
11
Globus Alliance là một cộng đồng 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 thực hiện 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 dịch vụ, 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
các chính sách cục bộ của mình như quản lý việc ai được phép 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 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, Hewlett-Packerd, IBM, NEC,
Oracle, Platform, Sun và United device, Microsoft đã bắt đầu xây dựng các
chiến lược về Grid computing trên nền tảng Globus.
3. KIẾN TRÚC CỦA GLOBUS TOOLKIT
 Bộ Globus Toolkit giải quyết các vấn đề của công nghệ Grid
Computing dựa trên 4 thành phần chính: 3 thành phần là Resource
Management, Information Service, Data Management liên kết hoạt động trên
nền tảng bảo mật chung, 1 thành phần là Security Infrastructure. Ngoài ra
Globus Toolkit còn cung cấp một bộ các hàm API và SDK nhằm giúp phát
triển, xây dựng các ứng dụng Grid.
12
 Globus Toolkit 4 được thiết kế để hỗ trợ hoàn toàn OGSI và bao gồm
rất nhiều dịch vụ, chương trình, công cụ, . . . . .Một số trong chúng được xây
dựng trên OGSI và được gọi là WS (Web Service) components, một số khác
không dựa trên OGSI thì được gọi là pre-WS component.
Hình 3: Kiến trúc Globus Toolkit
13
4. OPEN GRID SERVICE ARCHITECTURE (OGSA)
Hình 4: Open Grid Service Architecture
4.1 Định nghĩa OGSA là gì?
Open Grid Services Architecture (OGSA) được phát triển bởi The Global
Grid Forum với mục đích đưa ra kiến trúc chung, chuẩn và mở cho các ứng
dụng tính toán lưới. OGSA hướng đến việc chuẩn hóa các service trong ứng
dụng lưới bằng cách đưa các interface chuẩn cho các service này.
Hình dưới cho thấy mô hình của OGSA:
14
Hình 5: Mô hình OGSA

OGSA gồm 3 thành phần chính:
 Open Grid Services Infrastructure,
 OGSA services
 OGSA schemas
OGSA được xây dựng dựa trên Web services. OGSA có thể được
triển khai trên nhiều môi trường khác nhau, giao tiếp với nhau thông qua các
giao thức (protocol). Ta sẽ tìm hiểu chi tiết hơn các thành phần này trong các
phần tiếp theo.
Web services là công cụ được sử dụng khá phổ biến tuy nhiên bản
thân Web services vẫn còn một số những hạn chế như:
 Khởi tạo webservice
 Thời gian sống của webservice
 Quản lý lỗi
OGSA giải quyết các vấn đề trên và được hiện thực ở lớp cơ sở hạng
tầng (OGSI). Web services tuân theo các chuẩn OGSI được gọi là Grid
Service.
OGSI định nghĩa các chuẩn của giao tiếp và các hành vi phục vụ cho
việc mô tả và tìm kiếm dịch vụ, khởi tao instance, quản lý thời gian sống,
nhóm service…
15
4.2Open Grid Services Infrastructure (OGSI)
Các đặc tính của OGSI
 Grid service descriptions and instances
o Trong mô hình Web services chuẩn, service được tạo ra cũng như bị
hủy nằm ngoài phạm vi của bản thân Web services. Tuy nhiên trong
thực tế, ứng dụng thường xuyên khởi tạo service mới và khi các tác vụ
đã hoàn tất thì Web services bị hủy đi.
o OGSI cung cấp một cơ chế phân biệt giữa phần mô tả và phần
instance của service. Phần mô tả định nghĩa các interface và hành vi
của service. Các service instance sẽ hiện thực các hành vi này.

 Service state, metadata, and introspection
 WSDL chuẩn không có khái niệm “trạng thái” của service. Vì thế OGSI
đưa ra khái niệm service data để biểu diễn siêu dữ liệu và các trạng thái.
Các thông tin này được xem như một phần mô tả của service và có thể
được truy xuất từ service instance.
o Ứng dụng client có thể yêu cầu service instance trả về các thông tin
của chính service đó. Ví dụ: các interface, đặc tả thông tin trạng thái
hiện tại của service, thời điểm kết thúc của service…
o OGSI cung cấp hai cơ chế truy xuất trạng thái ứng dụng: pull và push.
 Pull mode: OGSI cung cấp tác vụ findServiceData kết hợp với service
interface cho phép client có thể query thông tin trạng thái ứng dụng.
 Push mode: client đăng ký các với service thông tin trạng thái mình mong
muốn thông qua các interface NotificationSource,
NotificationSubscription, và NotificationSink. Khi trạng thái service thay
đổi, service sẽ thực hiện hành vi callback thông báo cho client biết.
o Naming và name resolution
 Vì Grid service được khởi tạo động và có trạng thái nên cần phải có cách
thức để phân biệt giữa các instance của grid service. Do đó ta cần phương
thức đặt tên cho các instance này.
o OGSI đưa ra cơ chế đặt tên hai mức. Mỗi grid instance sẽ được gán
một Grid Service Handle(GSH) và được quản lý bởi HandleResolver.
16
GSH là toàn cục và duy nhất tồn tại trong suốt thời gian sống của
instance.
o Client thể giao tiếp với service instance cũng như các service instance
với nhau thông qua Grid Service Reference(GSR).
o Không giống với GSH, GSR được tạo ra, thay đổi, hủy trong suốt thời
gian sống của service instance.
Hình dưới minh họa cơ chế hoạt động của naming.
Hình 6: Cơ chế phân giải tên

 Service life cycle
Một trong những điểm khác biệt chính giữa grid service và Web service là
Grid service có thể transient(tạo và hủy). OGSI cung cấp cơ chế cho phép
các instance khởi tạo, hủy cũng như quản lý thời gian sống của các instance
này.
Service instance có thể quy định thời gian sống bằng các phương thức sau:
• Khởi tạo ban đầu: khi có yêu cầu khởi tạo mới một grid service, client
gửi kèm khoảng thời gian sống cụ thể của service instance.
17
• Kết thúc tường minh(Explicit termination): client chủ động gửi yêu
cầu hủy grid service instance.
• Yêu cầu điều chỉnh thời gian sống(Requesting a lifetime
modification): client có thể yêu cầu điều chỉnh thời gian sống của
service instance bằng cách gửi thông điệp “keepalive” đến server.
 Fault type
OGSI định nghĩa chuẩn các kiểu chuẩn cho tất cả các thông điệp lỗi được trả
về bởi Grid service.
 Service groups
• OGSI cung cấp cơ chế tổ chức service instance theo nhóm.
• OGSI định nghĩa các interface (WSDL portTypes). Mỗi loại portType
đưa ra tập các tác vụ và OGSI quy định hành vi cụ thể cho các tác vụ
này. Bảng dưới liệt kê một số các portType
PortType Mô tả
GridService Cung cấp các hành vi chính bao gồm
phần dữ liệu và quản lý thời gian sống
của service.
HandleResolver Ánh xạ từ GSH sang GSR
NotificationSource Cho phép client đăng ký các thông điệp
notification
NotificationSubscription Quản lý thời gian sống và các thuộc tính

của các subscription.
NotificationSink Định nghĩa tác vụ cho việc phân phối
các thông điệp notification đến
service instance.
Factory Tác vụ chuẩn tạo grid service instance
ServiceGroup Quản lý nhóm các service instance
ServiceGroupRegistration Cho phép thêm hoặc xóa Grid service ra
khỏi ServiceGroup
5. CÁC CORE SERVICE CỦA OGSI
Core service cung cấp các dịch vụ về phân giải tên, tìm kiếm dịch vụ, bảo mật,
chính sách, và truyền thông điệp. Các dịch vụ cơ bản:
 Name resolution and discovery
18
 Service domains
 Security
 Policy
 Messaging, queuing, and logging
 Events
 Metering and accounting
6. DATA AND INFORMATION SERVICES
 Data naming and access
 Replication
 Metadata and provenance
7. RESOURCE AND SERVICE MANAGEMENT
 Provisioning and resource management
 Service orchestration
 Transactions
 Administration and deployment.
8. TỔNG QUAN VỀ WSRF
OGSI cung cấp một cơ cấu cho phép phát triển, triển khai và quản lý thời

gian sống (lifetime management) các dịch vụ lưới. Tuy nhiên, OGSI vẫn còn
để lộ nhiều điểm yếu như:
 Giải quyết quá nhiều vấn đề trong cùng một bản đặc tả.
 GWSDL không theo chuẩn của Web service khiến các công cụ có
sẵn trong Web service không sử dụng được.
 Sự nhập nhằng giữa Web service không trạng thái (stateless) và
Web service có trạng thái (stateful).
WSRF trên cơ sở nhóm lại các tác vụ của OGSI đồng thời sử dụng
các chuẩn mới hình thành của kiến trúc Web services như WS-Addressing,
WS-Notification để giải quyết các nhược điểm của OGSI. WSRF chứa tất cả
các chức năng của OGSI và cải tiến OGSI ở ba bước sau:
 Giới thiệu khái niệm WS-Resource
 Tách biệt giữa chức năng dịch vụ và việc kích hoạt dịch vụ
19
 Dịch vụ notification theo chuẩn WS-Notification của Web
services.
WSRF nhóm lại các chức năng của OGSI thành năm nhóm chính sau:
 WS-ResourceProperties: đặc tả các dữ liệu của tài nguyên, tương
tự như Grid Data Elements của OGSI, và các cơ chế cho phép truy
cập, xóa hoặc thay đổi các thông tin này.
 WS-ResourceLifetime: cơ chế kết thúc một WS-Resource; các đặc
tả về thông tin trao đổi giữa người yêu cầu dịch vụ và WS-
Resource nhằm kết thúc dịch vụ ngay lập tức hoặc là một thời
điểm định sẵn.
 WS-RenewableReferences: dựa trên chuẩn WS-Addressing của
Web service để cập nhật các thông tin mới về địa chỉ dịch vụ
(endpoint references) khi các thông tin hiện tại trở thành không
hợp lệ.
 WS-ServiceGroup: đặc tả giao tiếp cho phép một tài nguyên tham
gia vào nhóm; đặc tả các tác vụ cho phép lấy thông tin tài nguyên

của một thành viên của nhóm cũng như thông tin về các nhóm.
Một nhóm là một tập các Web services và WS-Resources của một
lĩnh vực cụ thể (domain specific).
 WS-BaseFault: định nghĩa các kiểu chuẩn của lỗi và cách sử dụng
chúng trong WSDL.
WSRF tách biệt giữa Web services (không trạng thái) và Resource (có
trạng thái) và định ra một cơ chế cho việc kết hợp giữa hai thành phần này lại
với nhau.
Hình 7 đưa ra một ví dụ về hai thành phần can bản nhất của WSRF:
Web Service cung cấp một giao tiếp cho phép truy cập vào các tài nguyên
(resources) có trạng thái (các file).
20
Hình 7 : Một Web service đại diện cho nhiều resources, mỗi resource là một file
WSRF sẽ quy định cách thức kết hợp để người dùng từ xa, thông qua giao
tiếp Web service có thể truy cập vào tài nguyên yêu cầu. Việc kết hợp này
được mô tả trong Hình.
Hình 8 : Kết hợp giữa Web service và Resources trong WSRF
21
9. HIỆN THỰC WSRF
Hình 9: Hiện thực WSRF
22
II. CÁC CÔNG NGHỆ TRONG GRID COMPUTING
1. SERVICE ORIENTED ARCHITETURE (SOA)
Phần này giới thiệu đôi nét về một số khái niệm và thành phần cơ bản của
kiến trúc Service Oriented Architeture (SOA). SOA là kiến trúc của Web
Service và sau đó là Grid Service.
2. GIỚI THIỆU VỀ SOA
 SOA là một hướng tiếp cận mới trong kiến trúc phần mềm ứng dụng,
trong đó một ứng dụng được cấu thành từ một tập các thành phần độc lập,
phân tán, phối hợp hoạt động với nhau được gọi là service. Các service có

thể được phân tán bất cứ nơi nào, cả bên trong và bên ngoài tổ chức. hay
nói một cách khác các thành phần service có thể tồn tại trên nhiều nền
tảng khác nhau và có thể được cài đặt bởi các ngôn ngữ lập trình khác
nhau.
 Điểm mấu chốt của SOA là các chức năng của service được công bố
dưới dạng một giao diện chuẩn. Chi tiết cài đặt cụ thể các chức năng
được che dấu và người dùng dịch vụ cũng không cần quan tâm đến.
người dùng chỉ gọi sử dụng các chức năng của service thông qua các
phương thức công bố trên giao diện. Có thể thấy tính đóng gói này được
kế thừa từ phương pháp lập trình hướng đối tượng.
 Cùng với sự hỗ trợ của các service cơ bản như lập lịch truy xuất tài
nguyên (scheduler service), chỉ mục (index service), tìm kiếm tài nguyên
(discovery service), . . . . . , ứng dụng có thể xác định thời gian thực thi
các service có chức năng giống nhau từ nhiều nguồn, từ đó chọn ra
service tốt nhất để sử dụng, đáp ứng nhu cầu của ứng dụng.
23
3. KIẾN TRÚC CỦA SOA
Gồm các thành phần và các thông điệp hoạt động trao đổi giữa chúng.
 Các thành phần :
SOA có 3 thành phần cơ bản là : Service Provider, Service Requestor, Service
Registry như trong hình:
• ServiceProvider : Chịu trách nhiệm xây dựng các service, tạo các bản mô
tả cho chúng, đăng ký bản mô tả cho các dịch vụ cho một hoặc nhiều
ServiceRegistry, tiếp nhận, xử lý các thông điệp yêu cầu sử dụng service
từ các ServiceRequestor.
• ServiceRequestor : Là các thực thể sử dụng các service cung cấp bởi
ServiceProvider, ServiceRequestor tìm kiếm các bản đặt tả service trong
các ServiceRegistry, lựa chọn service cần thiết và thích hợp, rồi sau đó
kết nối đến ServiceProvider và sử dụng service mong muốn.
• ServiceRegistry : Chịu trách nhiệm quản bá các ServiceProvider đăng ký

cho nó và cho phép các dịch vụ ServiceRequestor tìm kiếm các đặt tả
service trong danh sách đăng ký của nó.
24
 Các hoạt động chính :
SOA có 3 loại hoạt động chính giữa các thành phần trên : Public, Find và
Bind.
• Public: Là hoạt động giữa ServiceProvider và ServiceRegistry,
ServiceProvider thực hiện đăng ký giao diện service nó cung cấp cho
ServiceRegistry thông qua phương thức public.
• Find: Là hoạt động giữa ServiceRequestor và ServiceRegistry,
ServiceRequestor sử dụng phương thức Find để lấy danh sách service và
ServiceProvider thỏa mản các yêu cầu của nó. Có thể có nhiều điều kiện
tìm kiếm trong phương thức Find, ServiceRegistry sẽ tìm trong danh sách
ServiceProvider rồi trả về thông tin thích hợp.
• Bind : Là hoạt động giữa ServiceRequestor và ServiceProvider. Nó cho
phép ServiceRequestor thực hiện kết nối đến ServiceProvider trước khi
thực hiện các lời gọi sử dụng dịch vụ. Cho phép ServiceRequestor khởi
tạo proxy phía client cho service cung cấp bởi ServiceProvider. Thao tác
kết nối này có thể thực hiện động hay tĩnh. Trong trường hợp kết nối
động, ServiceRequestor phát sinh proxy dựa trên các thông tin lấy được
từ ServiceRegistry, trong trường hợp còn lại, proxy được phát sinh trong
lúc phát triển ứng dụng.
4. WEB SERVICE
• Web Service là một công nghệ được sử dụng rộng rãi để triển khai mô
hình SOA vào thực tế, nó đưa ra mô hình liên lạc, trao đổi giữa ứng dụng
với ứng dụng trên cơ sở ngôn ngữ đặc tả XML. Web Service là nền tảng
của Grid service.
• Web Service sử dụng ngôn ngữ Web Services Description Language
(WSDL) để mô tả nội dung và cách sử dụng service, sử dụng protocol
SOA để trao đổi các thông điệp giữa các Web Service, sử dụng ngôn ngữ

đặc tả Universal Description, Discovery and Interation (UDDI) để cho
phép các nhà cung cấp web service đăng ký service của mình và cho phép
25

×