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

tính toán lưới grid computing management

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.28 MB, 31 trang )

Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
MỤC LỤC
1. Introduction 2
2. Công nghệ Grid Computing ( tính toán lưới ) 3
3. Mục tiêu của đề tài 5
4. Giới thiệu môi trường lưới 5
6
2.1 Định nghĩa Grid Middleware 6
4.2 Nhiêm vụ và lợi ích của grid middleware 6
5.1 Giới thiệu 7
5.2 Lịch sử phát triển 7
a) OGSA là gì? 9
b) Open Grid Services Infrastructure 10
5.5 Các Core Service của OGSI 12
5.7Resource and Service Management 12
5.8 Tổng quan về WSRF 12
5.9 Hiện thực WSRF : 15
6. Các công nghệ 15
6.1 Service Oriented Architeture (SOA) 15
6.2 Giới thiệu về SOA 15
6.3 Kiến trúc của SOA 16
SV : Đào Anh Vũ | Trương Mạc Cường
1/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
Tóm tắt: 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 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
1. Introduction
- 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.
- 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.
SV : Đào Anh Vũ | Trương Mạc Cường
2/31
MSSV : |

Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
- 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. 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 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.

SV : Đào Anh Vũ | Trương Mạc Cường
3/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
 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 đó.
 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.
 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
SV : Đào Anh Vũ | Trương Mạc Cường
4/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
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. Mục tiêu của đề tài
Nhằm tìm hiểu, góp phần vào việc phát triển và ứng dụng công nghệ Grid Computing vào
thực tiễn, đề tài :
“ Xây dựng một ứng dụng chia sẽ tài nguyên dựa trên Grid Computing”
được thực hiện với một số mục tiêu như sau :
 Tìm hiểu về công nghệ Grid Computing hiện nay để có một bức tranh tổng quan
về công nghệ, các vấn đề, các hướng giải quyết chủ yếu của nó nhằm làm tiền

đề tham khảo cho việc ứng dụng, phát triển công nghệ Grid Computing trong
tương lai.
 Cài đặt, tìm hiểu mô hình, kiến trúc môi trường, cách thức lập trình và phát
triển ứng dụng của bộ Globus Toolkit, một bộ công cụ xây dựng Grid hàng đầu
hiện nay.
4. 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ữ.
- 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.
SV : Đào Anh Vũ | Trương Mạc Cường
5/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
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 4:
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ì.

2.1 Định nghĩa Grid Middleware
 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.
4.2 Nhiê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.
SV : Đào Anh Vũ | Trương Mạc Cường
6/31
MSSV : |

Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
• 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.
 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.

5. Giới thiệu bộ Globus toolkit
5.1 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. 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.
5.2 Lịch sử phát triển
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
SV : Đào Anh Vũ | Trương Mạc Cường
7/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
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.
5.3 Kiến trúc Globus toolkit
Hình 5: Kiến trúc 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.
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.
5.4 Open Grid Service Architecture (OGSA)
SV : Đào Anh Vũ | Trương Mạc Cường
8/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
Hình 6 : Open Grid Service Architecture (OGSA)
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
Hình 7: Mô hình OGSA
OGSA gồm 3 thành phần chính:
SV : Đào Anh Vũ | Trương Mạc Cường
9/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạ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…
b) Open Grid Services Infrastructure
Các đặc tính của OGSI
Grid service descriptions and instances
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.
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.
Ứ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…
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.
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.
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. 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.
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).
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.
SV : Đào Anh Vũ | Trương Mạc Cường
10/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
Hình dưới minh họa cơ chế hoạt động của naming.
Hình 8: 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.
 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.
SV : Đào Anh Vũ | Trương Mạc Cường
11/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
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.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
 Service domains
 Security
 Policy

 Messaging, queuing, and logging
 Events
 Metering and accounting
5.6 Data and Information Services
1. Data naming and access
2. Replication
3. Metadata and provenance
5.7Resource and Service Management
 Provisioning and resource management
 Service orchestration
 Transactions
 Administration and deployment
5.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
SV : Đào Anh Vũ | Trương Mạc Cường
12/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
 Tách biệt giữa chức năng dịch vụ và việc kích hoạt dịch vụ
 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 11 đư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).
Hình 9 : 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.
SV : Đào Anh Vũ | Trương Mạc Cường
13/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
Hình 10 : Kết hợp giữa Web service và Resources trong WSRF
SV : Đào Anh Vũ | Trương Mạc Cường
14/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh

5.9 Hiện thực WSRF :
Hình 11: Hiện thực WSRF
6. Các công nghệ
6.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.
6.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
SV : Đào Anh Vũ | Trương Mạc Cường
15/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
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.
6.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.
o 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.
SV : Đào Anh Vũ | Trương Mạc Cường
16/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
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ó.
o 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.
7. 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 người sử dụng web service tìm được nhà cung cấp thỏa điều kiện
mong muốn. Ngoài ra còn một số chuẩn về định nghĩa và triển khai chất lượng dịch vụ
của web service đang được xây dựng như SW-Security, WS-Repliable Messaging,
WS-Coordination và WS-Transsaction, . . . . .
Về bản chất, Web Service cũng là một công nghệ tính toán phân tán như các cong
nghệ : CORBA, RMI, EJB, . . . Tuy nhiên, Web Service có một số lợi điểm mà các
công nghệ khác không có.
Web Service độc lập với ngôn ngữ lập trình, độc lập với nền tảng thực thi ứng dụng do
được xây dựng trên chuẩn XML. Đây cũng là lý do chính để chọn công nghệ Web
Service làm nền tảng cho Grid Service để giải quyết thách thức lớn nhất của công nghệ
Grid Computing là quản lý và sử dụng các tài nguyên phân tán, đa dạng, phức tạp, trên
nhiều nền tảng khác nhau.
Hầu hết các Web Service đều sử dụng protocol HTTP để truyền thông điệp (các yêu
cầu service và kết quả trả về từ service), nên hỗ trợ xây dựng các ứng dụng tầm cở toàn
SV : Đào Anh Vũ | Trương Mạc Cường
17/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
cầu qua nhiều site, nhiều vùng bảo mật, nhiều vùng quản trị khác nhau trên nền tảng
internet, do các lưu thông dạng HTTP thường không bị chặn lại khi gặp firewall hoặc
proxy. Trong khi đó việc ttruyền thông của các công nghệ khác thường gặp vấn đề với

firewall.
Một số khác biệt nữa là cáccông nghệ như : CORBA và EJB hướng đến các hệ thống
phân tán có độ kết hợp cao (highly coupled), trong đó client và server phải phụ thuộc
chặt chẽ vào nhau. Công nghệ này thường lý tưởng cho các ứng dụng trong mạng cục
bộ. Còn với công nghệ Web Service thì ngược lại hoàn toàn, client không cần biết
thông tin về server và service cho đến khi nó thực sự cần sử dụng service. Do đó công
nghệ Web Service thường thích hợp nhất để xây dựng các ứng có phạm vi rộng trên
internet, như các ứng dụng hướng Grid. Công nghệ Web Service có thể được sử dụng
để quản lý tài nguyên thay đổi động theo thời gian.
8. Cài đặt ứng dụng
Triển khai dịch vụ Grid sử dụng môi trường lập trình tích hợp Eclipse. Nền tảng được chọn là
Windows
Bước 1 : Cài đặt các gói phần mềm
Các gói phần mềm cần thiết:
Sun Java SDK V1.6.0_09
* Eclipse IDE V3.6.0
* Apache Jakarta Tomcat V6.0.29
* Sysdeo Eclipse Tomcat Launcher Plug-in V3.1
* Apache Ant 1.8.1
* GT4 WS Core 4.0.1
* globus-build-service 0.2.5
* Netbean
Cài đặt và Cấu hình Java:
1. Cài đặt gói j2sdk vào 1 thư mục (ví dụ: C:\j2sdk1.4.2_11)
2. Tạo biến môi trường JAVA_HOME=<Đường dẫn tới thư mục chứa j2sdk> (vd:
JAVA_HOME=C:\j2sdk1.4.2_11)
Click chuột phải lên biểu tượng "My Computer", chọn "Properties", chọn tab "Advanced", và
nhấn nút "Environment
Variables ", cuối cùng thêm biến JAVA_HOME và giá trị cho nó.
3. Thêm đường dẫn "%JAVA_HOMEBIN%" vào biến môi trường PATH

Cài đặt và Cấu hình Ant:
1. Tải gói apache-ant-1.8.1-bin.zip từ />2. Bung gói apache-ant-1.8.1-bin.zip này vào 1 thư mục (vd: D:\Project\apache-ant-1.8.1)
3. Tạo biến môi trường ANT_HOME=<Đường dẫn tới thư mục chứa ant> (vd: ANT_HOME=
D:\Project\apache-ant-1.8.1)
4. Thêm đường dẫn "%ANT_HOMEBIN%" vào biến môi trường PATH
Cài đặt và Cấu hình WS Core của Globus Toolkit 4.0:
1. Tải gói ws-core-4.0.1-src.zip từ ownloads/4.0.1/
2. Bung gói ws-core-4.0.1-src.zip này vào 1 thư mục (vd: D:\Project\ws-core-4.0.1)
3. Tạo biến môi trường GLOBUS_LOCATION=<Đường dẫn tới thư mục chứa gtk> (vd:
GLOBUS_LOCATION=D:\Project\ws-core-4.0.1)
4. Chuyển tới thư mục ws-core-4.0.1 vừa bung
5. Chạy lệnh:"ant all"
Cài đặt globus-build-service:
1. Tải gói globus-build-service-gt4_0.2.5.tar.gz từ rcefo ent/view/28/46/
2. Bung gói globus-build-service-gt4_0.2.5.tar.gz này vào thư mục "etc" trong GLOBUS_LOCATION
(vd: D:\Project\ws-core-4.0.1\etc)
SV : Đào Anh Vũ | Trương Mạc Cường
18/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
Cài đặt và Cấu hình Eclipse:
1. Tải gói eclipse-SDK-3.6.0-win32.zip từ />2. Bung gói eclipse-SDK-3.6.0-win32.zip này vào 1 thư mục (vd: D:\Project\eclipse)
3. Chạy file eclipse.exe trong thư mục này
Cài đặt Sysdeo Eclipse Tomcat Launcher Plug-in V3.1:
1. Tải gói tomcatPluginV31.zip từ se/tomcatplugin
2. Bung gói này vào thư mục "plugin" của Eclipse(vd: D:\Project\eclipse\plugins)
3. Khởi động lại Eclipse
Cài đặt và Cấu hình Apache Tomcat 6.0.29
1. Tải gói apache-tomcat-6.0.29.exe từ che download-55.cgi
2. Chạy file apache-tomcat-6.0.295.exe

3. Chọn thư mục chứa Tomcat (c:\tomcat)
4. Đặt mật khẩu cho người quản trị Tomcat Server: "admin"
Bước 2 : Cấu hình Eclipse
Bước 2.1 Thay thế JRE bằng JDK trong Eclipse (cần để chạy Tomcat)
1. Chạy chương trình Eclipse (trong D:\Project\eclipse)
2. Click Window/Preferences
3. Chọn Java/Installed JREs
4. Click Add
5. Nhập vào ô "JRE Name" = "jdk1.5.0_06"
6. Nhập vào ô "JRE Home directory" = đường dẫn tới thư mục chứa " jdk1.6.0_11"
(C:\Program Files\Java\jdk1.6.0_11)
7. Click OK, Chọn check box = " jdk1.6.0_11", Click OK
Bước 2.2 Cấu hình Tomcat trong Eclipse
1. Chạy chương trình Eclipse (trong D:\Project\eclipse)
2. Click Window/Preferences
3. Chọn Tomcat
4. Chọn "Tomcat version" = "Version 6.0"
5. Nhập vào ô "Tomcat Home" = đường dẫn tới thư mục chứa "Tomcat" (c:\tomcat)
6. Chọn Tomcat/JVM Settings, Chọn JRE= jdk1.6.0_06
7. Click OK
9. Giới thiệu chương trình Demo
Tên ứng dụng File Sharing Management System: áp dụng công nghệ WSRF, gồm 3
Component
 2 Service Component: Service dùng công nghệ Globus toolkit WSRF
 GridDatabaseService: service quản lý người dùng
 ProvisionDirService: service quản lý chia sẻ file với máy tính từ xa
 File Sharing Management System: window application, dùng quản lý việc chia sẻ file với máy
tính khác thông qua việc gọi service GridDatabaseService, ProvisionDirService
SV : Đào Anh Vũ | Trương Mạc Cường
19/31

MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
Mô hình hệ thống File Sharing System
 2 Services component: áp dụng công nghệ Grid WSRF
SV : Đào Anh Vũ | Trương Mạc Cường
20/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
GridDatabaseService: Cung cấp service về quản lý user login
 Dùng công nghệ Globus toolkit WSRF, gồm các chức năng:
 Checklogin: kiểm tra user đăng nhập
 ListUsers: liệt kê danh sách user
 DeleteUser: xóa user
 UpdateUser: cập nhật user
 AddNewUser: thêm mới user
 ChangeUserName: thay đổi username
 ChangePassword : thay đổi mật khẩu
ProvisionDirService: service quản lý chia sẻ file với máy tính từ xa
 Dùng công nghệ Globus toolkit WSRF gồm các chức năng:
 transfer: Gởi 1 file đến máy tính từ xa
 getImage: Lấy 1 file từ máy tính từ xa
 listDir: lấy danh sách file và thư mục từ máy tính từ xa
 listDirRoot: lấy danh sách ổ đĩa máy tính từ xa
File Sharing Management System: window application, dùng quản lý việc chia sẻ file với
máy tính khác thông qua việc gọi service GridDatabaseService, ProvisionDirService
SV : Đào Anh Vũ | Trương Mạc Cường
21/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
 Màn hình khởi động

 Màn hình đăng nhập
 Màn hình thao tác chính
SV : Đào Anh Vũ | Trương Mạc Cường
22/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
 Màn hình chia sẻ file với máy tính từ xa
 Xem danh sách user
SV : Đào Anh Vũ | Trương Mạc Cường
23/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
 Thêm, Cập nhật, xóa user
10. Kiến trúc chương trình
 Services component: áp dụng công nghệ Grid WSRF
 buildservice.xml: đây là file dùng build Grid WSRF services package
SV : Đào Anh Vũ | Trương Mạc Cường
24/31
MSSV : |
Tính toán lưới: Grid Computing Management GV: TS. Tân Hạnh
 buildservice.properties: đây là file dùng build ProvisionDirService service
 buildserviceDB.properties: đây là file dùng build GridDatabaseService service
 ProvisionDir.wsdl: đây là file định nghĩa hàm, thuộc tính cho server, dùng ngôn ngữ WSDL
SV : Đào Anh Vũ | Trương Mạc Cường
25/31
MSSV : |

×