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 n
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÁO CÁO TIỂU LUẬN TÍNH TOÁN LƯỚI
-o0o -ĐỀ 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
Trang 2Lờ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
Trang 3PHỤ LỤC
Lời cảm ơn 2
I TỔNG QUAN VỀ CÔNG NGHỆ GRID COMPUTING 4
1 KHÁI NIỆM 4
2 TÌM HIỂU CÔNG NGHỆ GRID COMPUTING(TÍNH TOÁN LƯỚI) 6
3 GIỚI THIỆU MÔI TRƯỜNG LƯỚI 9
I GIỚI THIỆU BỘ GLOBUS TOOLKIT 12
1 LỊCH SỬ 12
2 GIỚI THIỆU 12
3 KIẾN TRÚC CỦA GLOBUS TOOLKIT 13
4 OPEN GRID SERVICE ARCHITECTURE (OGSA) 15
5 CÁC CORE SERVICE CỦA OGSI 20
6 DATA AND INFORMATION SERVICES 20
7 RESOURCE AND SERVICE MANAGEMENT 20
8 TỔNG QUAN VỀ WSRF 20
9 HIỆN THỰC WSRF 23
II CÁC CÔNG NGHỆ TRONG GRID COMPUTING 24
1 SERVICE ORIENTED ARCHITETURE (SOA) 24
2 GIỚI THIỆU VỀ SOA 24
3 KIẾN TRÚC CỦA SOA 25
4 WEB SERVICE 26
III KẾT LUẬN 28
TÀI LIỆU THAM KHẢO 29
Trang 4Chương 1: 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àinguyê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
Trang 5- 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 đượcliê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ệtcá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
Trang 6Hì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ảomậ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àinguyên đó lại được quản lý bởi các tổ chức khác nhau, có chính sách khácnhau 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àinguyê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ácthế 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ácthế hệ trước đó Cùng với sự hữu ích, máy tính đã trở nên phổ dụng khắp nơitrê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àngngà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ồ
Trang 7 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àngngàn phân tử thuốc, protein và tác dụng tương hỗ giữa chúng để tạo racá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ămngành vật lý năng lượng cao (High Enegy Physics) tạo ra khoảng 10Petabyte (dung lượng khoảng 20 triệu đĩa CD-ROM) dữ liệu hay cácnhà vật lý địa cầu thực hiện theo dõi bầu khí quyển, tầng ozone, hàngngày phải lưu trữ và phân tích khoảng 100 Gigabytes dữ liệu ảnh chụp
Trang 8Hì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êntoà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ệntấ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êumá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ưngrấ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ũngthực hiện được (đặc biệt là các nước đang phát triển), còn những bài toánkhác có thể nói là không thể giải quyết được với công nghệ tính toán hiệnnay
Trang 9 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ánkhắ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ụngnă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ạptrê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ểnvượ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áytí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ôngnghệ Grid Computing
Công nghệ Gird Computing ra đời đượcdự đoán là công nghệ nền tảng củathế 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êumá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êncứ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ữngkhố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ònnghè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ôngcụ), ngôn ngữ
Trang 10- 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ênphả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ôngtin Bên cạnh đó, hệ thống lưới phải có khả năng mở rộng, hệ thống phải đảmbả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 độngcủ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
Trang 11 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.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à giaothứ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 đặcthù 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ởicá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ànhphầ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ểnchuyê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.
Trang 12 Cung cấp các trừu tượng hướng mạng ở mức cao gần với yêu cầu ứngdụ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úpcho việc hoạt động hiệu quả trong môi trường mạng
I GIỚI THIỆU BỘ GLOBUS TOOLKIT
Cuối năm 1994 Rick Stevens (Argonne National Laboratory) và TomDeFanti (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ứutố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 (ArgonneNational 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ànhcông này đã được sự tài trợ của tổ chức Defense Advance Research ProjectsAgency (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ếptheo là sự phát hành của Globus toolkit Version 1.0 (GT1-1998), Globustoolkit 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ênbả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ẩnOGSA và OGSI
Globus toolkit là một bộ toolkit mã nguồn mở được sử dụng để xâydựng các hệ thống và các ứng dụng Grid Globus toolkit hiện đang được pháttriển bởi tổ chức Globus Alliance và nhiều tổ chức khắp nơi trên thế giới
Trang 13Globus Alliance là một cộng đồng các cá nhân và tổ chức tham gia phát triểncá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 saukhái niệm grid Bộ toolkit bao gồm : các dịch vụ và thư viện phục vụ việcbả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 đượcxây dựng để loại bỏ những trở ngại này, các dịch vụ, interface và protocolcủ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ậpcá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àinguyê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ươngmạ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ácchiến lược về Grid computing trên nền tảng Globus
Bộ Globus Toolkit giải quyết các vấn đề của công nghệ GridComputing dựa trên 4 thành phần chính: 3 thành phần là ResourceManagement, Information Service, Data Management liên kết hoạt động trênnền tảng bảo mật chung, 1 thành phần là Security Infrastructure Ngoài raGlobus Toolkit còn cung cấp một bộ các hàm API và SDK nhằm giúp pháttriển, xây dựng các ứng dụng Grid
Trang 14 Globus Toolkit 4 được thiết kế để hỗ trợ hoàn toàn OGSI và bao gồmrất nhiều dịch vụ, chương trình, công cụ, Một số trong chúng được xâydựng trên OGSI và được gọi là WS (Web Service) components, một số kháckhông dựa trên OGSI thì được gọi là pre-WS component.
Hình 3: Kiến trúc Globus Toolkit