Tính năng tính toán lưới Tính toán lưới đưa ra một mô hình để giải quyết các vấn đề tính toán khổng lồbằng cách sử dụng các tài nguyên dư thừa chu kỳ CPU hay đĩa lưu trữ của một sốlượng
Trang 2BÁO CÁO CHUYÊN ĐỀ
TÍNH TOÁN LƯỚI
Đề tài:
PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN
CÓ LƯỢNG DỮ LIỆU LỚN TRONG
GRID COMPUTING
GVHD : PGS.TS Nguyễn Phi Khứ HVTH : Bùi Thị Thanh Bình- CH1101067
Trang 5Dự án Distributed Computing System (DCS) tại University of California,Irvine vào đâu thập niên 1970 có thể xem là hệ thống tiền thân của Lưới với các tínhnăng như của Lưới Kiến trúc sư chính của dự án là David Farber Hệ thống này đượcđăng trên tạp chí Business Week với tiêu đề “The ring acts as a single, highly flexiblemachine in which individual units can bid for jobs” (Vòng hoạt động như một chiếcmáy đơn có tính linh hoạt cao mà các đơn vị riêng biệt có thể trả giá để thực hiện cáctác vụ) Trong thuật ngữ hiện đại thì “vòng” chính là “mạng máy tính”, và các “đơnvị” là các “máy tính”, tương tự như cách các năng lực tính toán được sử dụng trênlưới Kết quả cuối cùng của dự án được đưa ra vào năm 1977 Kỹ thuật này hầu như bị
từ bỏ trong thập niên 1980 bởi không giải quyết được được các vấn đề về quản trị vàbảo mật do không thể quản lý được sự tính toán đang ở đâu và ai đang sử dụng việctính toán
Ý tưởng về lưới được đưa ra bởi Ian Foster, Carl Kesselman và Steve Tuecke,
vì vậy họ được tôn vinh là “cha đẻ của lưới” Họ dẫn đầu nhóm tạo ra Globus Tookit
tích hợp không chỉ việc quản lý CPU (ví dụ: quản lý cụm máy tính (cluster) và tậndụng thời gian CPU rảnh) mà còn quản lý lưu trữ, cung cấp an ninh, luân chuyển dữliệu, giám sát và bộ công cụ để phát triển các thêm dịch vụ dựa trên cùng kiến trúc baogồm thoả thuận cấp phép, cơ chế thông báo, các dịch vụ bẫy lỗi và kết hợp thông tin.Ngắn gọn hơn thì giới hạn của lưới đạt xa hơn những giả thiết thông thường đượccông bố Trong khi Globus Toolkit tiếp tục là chuẩn để phát triển các giải pháp lưới,
Trang 6một số lượng các công cụ khác được xây dựng để đáp ứng các tập hợp dịch vụ cầnthiết để tạo một lưới doanh nghiệp.
2. Tính năng tính toán lưới
Tính toán lưới đưa ra một mô hình để giải quyết các vấn đề tính toán khổng lồbằng cách sử dụng các tài nguyên dư thừa (chu kỳ CPU hay đĩa lưu trữ) của một sốlượng lớn các máy tính khác nhau, thông thường là các máy để bàn, được xem như làmột cụm máy tính ảo nhúng vào trong một hạ tầng viễn thông phân tán Tính toán lướitập trung vào tính năng hỗ trợ việc tính toán thông qua các miền quản trị làm cho nókhác hẳn với các cụm máy tính (computer clusters) truyền thống hay tính toán phântán truyền thống
Lưới đưa ra một cách thức để giải quyết các vấn đề lớn như cấu trúc protein,
mô hình tài chính, giả lập động đất và mô hình khí tượng/thời tiết Lưới đưa ra mộtcách thức sử dụng các tài nguyên công nghệ thông tin một cách có lựa chọn bên trongmột tổ chức Nó cũng cung cấp một phương tiện đưa công nghệ thông tin như là một
bộ công cụ tiện ích cho các khách hàng cả thương mại và phi thương mại, mà cáckhách hàng này chỉ trả tiền cho những gì họ sử dụng, giống như là sử dụng điện vànước
Tính toán lưới được thiết kế để giải quyết các bài toán rất lớn ngay cả so vớibất kỳ một siêu máy tính đơn lẻ nào, trong khi vẫn linh động khi làm việc với nhiềubài toán nhỏ Như vậy tính toán lưới cung cấp một môi trường đa người dùng Tiếptheo, nó hướng đến sự khai thác tốt hơn năng lực tính toán sẵn dùng và cung cấp chocác yêu cầu không liên tục của một số lượng lớn các bài toán
Cách tiếp cận này hàm ý việc sử dụng các kỹ thuật cấp phép an toàn cho phépcác người dùng từ xa có thể quản lý các tài nguyên tính toán
Tính toán lưới bao gồm việc chia sẻ các tài nguyên không đồng nhất (dựa trêncác hệ điều hành khác nhau, kiến trúc phần cứng/phần mềm khác nhau và các ngônngữ máy tính khác nhau), được đặt ở các vị trí khác nhau, phụ thuộc vào các miềnquản lý khác nhau thông qua một mạng máy tính sử dụng các tiêu chuẩn mở Nói ngắngọn hơn là nó bao gồm các tài nguyên tính toán ảo
Tính toán lưới thường bị lẫn lộn với cụm máy tính Điểm khác biệt chính làcụm máy tính là một tập các máy nằm trên cùng một vị trí trong khi Lưới thì bao gồmnhiều cụm máy tính và các loại tài nguyên khác nữa (như là các mạng máy tính, cácthiết bị lưu trữ)
Về mặt chức năng có thể phân loại Lưới thành nhiều loại khác nhau như:
Trang 7• Lưới tính toán: (bao gồm cả các loại lưới tận dụng thời gian rảnh củaCPU) tập trung chính vào các hoạt động tính toán chuyên sâu.
• Lưới dữ liệu: hay là điều khiển chia sẻ và quản lý một số lượng lớn các dữ liệuphân tán
• Lưới thiết bị: với một thiết bị chính (như là kính thiên văn) và Lưới bao quanh
nó được dùng để điều khiển thiết bị từ xa và phân tích dữ liệu nó tạo ra
3. Các định nghĩa tính toán lưới
Khái niệm Tính toán lưới phát xuất từ đầu những năm 1990 với ẩn dụ là làmcho việc truy cập nguồn sức mạnh của máy tính có thể dễ dàng giống như sử dụngmạng lưới năng lượng điện
Ngày nay có rất nhiều định nghĩa của Tính toán lưới:
• Định nghĩa cuối cùng về Lưới được lan Foster đưa ra trong bài báo “Thế
nào là Lưới? Danh sách ba điểm cần kiểm tra” Ba điểm cần kiểm tra là:
o Không quản lý tập trung các tài nguyên tính toán
o Sử dụng các chuẩn mở
o Phải có loại “chất lượng dịch vụ” không tầm thường
• Plaszczak/Wellner định nghĩa công nghệ Lưới là “công nghệ cho phép ảo
hoá tài nguyên, cung cấp theo yêu cầu, và chia sẻ dịch vụ (tài nguyên) giữacác tổ chức”
• IBM định nghĩa Tính toán lưới là “là khả năng, bằng cách sử dụng một tập hợpcác tiêu chuẩn và giao thức mở, để truy cập được đến các ứng dụng và dữ liệu,năng lực xử lý, sức chứa kho lưu trữ và một lượng bao la các nguồn tài nguyênmáy tính thông qua mạng Internet Một Lưới là một thể loại của hệ thông songsong và phân tán mà có thể chia sẻ, lựa chọn, và kết hợp các tài nguyên phântán thông qua ‘nhiều’ miền quản trị dựa trên khả năng sử dụng, sức chứa, hiệusuất, giá thành và các yêu cầu chất lượng của dịch vụ người dùng của nó (tàinguyên)”
• Buyya định nghĩa Lưới là “một loại hệ thống song song và phân tán có thểchia sẻ, lựa chọn và kết hợp các tài nguyên tự trị phân tán theo địa lý mộtcách linh động vào thời điểm thực thi phụ thuộc vào khả năng sử dụng, nănglực, hiệu suất giá thành và các yêu cầu chất lượng của dịch vụ người dùngcủa nó”
• CERN một trong những đơn vị sử dụng công nghệ Lưới lớn nhất, phát biểu
về Lưới như sau: “một dịch vụ để chia sẻ năng lực máy tính và sức chứa kho
dữ liệu thông qua Internet”
• Trên thực tế, Tính toán lưới thu hút các nỗ lực nghiên cứu cộng tác phi lợi
Trang 8nhuận trên môi trường địa lý phân tán như là Trung tâm quốc gia ứng dụngSiêu máy tính (NCSA) Các Lưới Tin Sinh học như là hệ thống lưới BIRN(Biomedical Informatics Research Network): gọi là các Lưới bên ngoài
(External Grids).
• Tính toán lưới cũng thu hút các doanh nghiệp thương mại lớn có nhiều bài toántính toán phức tạp, là những doanh nghiệp hướng đến việc khai thác toàn bộcác năng lực tính toán trong nội bộ của nó: gọi là các Lưới nội bộ (InternalGrids)
Các Lưới có thể phân loại thành 3 loại theo phạm vi là Lưới bộ phận
(departmental Grids), Lưới doanh nghiệp (enterprise Grids) và Lưới toàn cầu (global
Grids) Phân loại này tương ứng với một công ty thiết lập tận dụng các tài nguyêntrong một nhóm (ví dụ: một phòng kỹ thuật kết nối các máy tính để bàn, các cụm máytính và các thiết bị lại với nhau) Tiến tới một Lưới doanh nghiệp là các tài nguyênmáy tính của các nhân viên không thuộc bộ phận kỹ thuật cũng có thể được dùng đểlưu trữ và tận dụng thời gian CPU rảnh Một Lưới toàn cầu là kết nối giữa các lướidoanh nghiệp và các lưới bộ phận để có thể sử dụng trong khía cạnh thương mại haycộng tác
4. Các đặc tính của lưới
Lưới được nhìn nhận ở nhiều góc độ khác nhau và có nhiều định nghĩa khácnhau Tuy nhiên một tập các đặc tính được thống nhất cao và được đánh giá là quantrọng
của Lưới như sau:
■ Tính cộng tác (Collaboration)
■ Tính kết hợp (Aggregation)
■ Tính ảo hóa (Virtualization)
■ Hướng dịch vụ (Service orientation)
■ Không đồng nhất (Heterogeneity)
■ Điều khiển không tập trung (Decentralized control)
■ Chuẩn hóa và kết nối hoạt động (Standardization and interoperability)
■ Truy cập trong suốt (Access transparency)
■ Khả năng mở rộng (Scalability)
■ Khả năng tái cấu hình (Reconfigurability)
■ An toàn (Security)
■ Hỗ trợ ứng dụng (Application support)
■ Khuôn mẫu tính toán (Computational model)
■ Khuôn mẫu giấy phép (Licensing model)
■ Thủ tục và chính sách (Procedures and policies)
Cộng tác (Collaboration)
Trang 9Chia sẻ tài nguyên trong môi trường phân tán là một khía cạnh được thốngnhất cao Hơn nữa một Lưới còn “nối các miền quản trị thành một khối duy nhất” Nóphát triển thành định nghĩa Lưới cộng tác (collaboration Grids).
Kết hợp (Aggregation)
Một Lưới không phải chỉ là tổng cộng lại các thành phần Một Lưới kết hợpnhiều tài nguyên lại và từ đó cung cấp một sức chứa kết hợp từ các tài nguyên đơn lậpthành một tài nguyên ảo có sức chứa lớn hơn Sức chứa của từng tài nguyên được giữgìn Hệ quả là đứng từ quan điểm toàn cục thì Lưới cho phép thực thi các ứng dụnglớn nhanh hơn (sự kết hợp sức chứa), trong khi đó đứng ở quan điểm cục bộ thì Lướicho phép chạy những ứng dụng mới Sự kết hợp này thì còn dùng để "tăng hiệu suấtchất lượng dịch vụ, tận đụng tốt hơn và dễ dàng truy cập dữ liệu” Cuối cùng các tàinguyên được thêm vào một cách tĩnh hay động
Ảo hóa (Virtualization)
Các dịch vụ Lưới thường cung cấp các giao diện nào đó nhằm che dấu các tàinguyên phức tạp bên dưới Việc này được gọi là ảo hoá, cũng cung cấp một “tầng”trừu tượng giữa khách hàng và tài nguyên Như vậy, Lưới cung cấp “khả năng ảo hoátổng cộng các phần thành một mô hình lập trình tầm rộng đơn nhất” Việc ảo hoá baogồm cả dữ liệu (các tập tin, cơ sở dữ liệu, …) và tài nguyên tính toán
Hướng dịch vụ (Service orientation)
Lưới cung cấp các dịch vụ, tuân theo khái niệm kiến trúc hướng dịch vụ
(service orient architecture) Trong ý nghĩa rộng nhất thì “tất cả các tập hợp các dịch
vụ có qui mô rộng lớn thì có thể xem như là một Lưới”
Trang 10Không đồng nhất (Heterogeneity)
Lưới thông thường bao gồm các tài nguyên không đồng nhất, vì vậy ở đây cócác thành phần phần cứng và phần mềm đa dạng khác nhau với hiệu suất khác nhau vàcác đặc tính tiềm tàng
Điều khiển không tập trung (Decentralized control)
Các thành phần của Lưới thuộc nhiều người sở hữu khác nhau Khó khănchính của Lưới là không có một người sở hữu duy nhất trên toàn bộ hệ thống Mộttrong những yêu cầu của Lưới là việc sử dụng cơ chế điều khiển phân tán
Chuẩn hóa và kết nối hoạt động (Standardization and interoperability)
Một lưới đẩy mạnh các định nghĩa giao diện chuẩn cho các dịch vụ nhằm kếtnối hoạt động tạo ra một hạ tầng phân tán chung để đáp ứng các tác vụ của người dùng
và cung cấp các tiện ích ở mức người dùng Hệ thống Lưới thực thi một tiêu chuẩnphải động với các Lưới từ đó gia nhập vào một chuẩn chung
Truy cập trong suốt (Access transparency)
Môt Lưới phải cho phép người dùng nó truy cập vào hạ tầng tính toán màkhông cần phải CG kiến thức tường tận về kiến trúc bên dưới hay phương thức kết nối
của mạng Điều này đôi khi được xem “khía cạnh phân biệt nhất của Tính toán lưới là
các mức độ trong suốt được cung cấp cho người dùng thông qua việc ảo hoá các tàinguyên”
Khả năng mở rộng (Scalability)
Ngay cả khi các hạ tầng và các bổ sung của Lưới không giải quyết thêm vấn
đề mới thì nó thường mở rộng dữ liệu, tài nguyên và người dùng vì thế góp phần tăngthêm sự phức tạp của Lưới Điều này cũng được diễn tả là sự thật một Lưới nên
“không định trước phán đoán sớm là cái gì là người dùng không thể giải quyết”
Khẳ năng tái cấu hình (Reconfigurability)
Một Lưới nên “có thể tái cấu hình một cách linh động” như nó được chỉ ratrong định nghĩa của CoreGrid
An toàn (Security)
Truy cập an toàn vào các tài nguyên là tính năng chính của một Lưới Vì thếcác người dùng và các ứng dụng được ủy quyền chỉ được một số lượng hạn chế (hoặc
có thể là không có) các thao tác mà nó thực thi trên các dịch vụ Về cơ bản, an toàn
của Lưới là một trong những điều đầu tiên mà những người dừng Grid thật sự phải đểcập đến và vì vậy nó là điểm chính yếu cho bất kỳ hệ thống Lưới nào mà nó bao gồmnhiều vùng quản trị
Trang 11Hỗ trợ ứng dụng (Application support)
Thông thường một Lưới có thể hỗ trợ một số lượng lớn các ứng dụng khácnhau Các ứng dụng nên là một phần của Lưới và toàn bộ môi trường Lưới (môitrường bao gồm phần cứng, tầng trung gian và các ứng dụng) nên là điều khiển dữliệu (data-driver) Cụ thể hơn, nó nên có thể được tác động trở lại để thay đổi của hệthống và các hành vi của ứng dụng được nắm bắt bởi ứng dụng và dữ liệu hệ thống
Khuôn mẫu tính toán (Computational model)
Thông thường, một Grid hỗ trợ nhiều mô hình tính toán (ví dụ: xử lý khối(batch), tương tác (interactive), phân tán và tính toán song song (distributed andparallel computing)…
Khuôn mẫu giấy phép (Licensing model)
Vì các Lưới khởi nguồn từ cộng đồng học thuật, có sự nhấn mạnh toàn cầuđến phần mềm mở, nó vì vậy cũng được tuân theo bởi nhiều công ty liên quan đếnviệc phát triển Lưới
Thủ tục và chính sách (Procedures and policies)
Người dùng và các nhà cung cấp dịch vụ Lưới tương tác với nhau tương tựnhư trên một thị trường mở tuân thủ một số luật lệ nào đó Vì vậy “các thủ tục và cácchính sách” cần phải có để cho phép cùng chia sẻ tài nguyên
5. Các thành phần của lưới
Grid Fabric: Bao gồm tất cả các tài nguyên phân tán toàn cầu mà có thể truy
cập từ bât kỳ ở đâu thông qua mạng Internet Các tài nguyên này có thể là các máytính (như PC, SMPs, clusters) chạy các hệ điều hành khác nhau (như Unix vàWindows) cũng như các hệ thống quản lý tài nguyên như LSF (Load SharingFacility), Condor, PBS (Portable Batch System) hay SGE (Sun Grid Engine), các thiết
bị lưu trữ, cơ sở dữ liệu, và các thiết bị khoa học đặc biệt như là kính viễn vọng vôtuyến hay bộ cảm ứng nhiệt đặc biệt
Core Grid Middleware: Cung cấp các dịch vụ như quản lý truy cập từ xa,
đồng cấp phát tài nguyên, truy cập kho lưu trữ, đăng ký và tìm kiếm thông tin, anninh, và các khía cạnh của Chất lượng dịch vụ (QoS) như dành riêng và kinh doanhtài nguyên
User-Level Grid Middleware: Bao gồm các môi trường phát triễn ứng dụng,
công cụ lập trình và các môi giới tài nguyên để quản trị các tài nguyên và lập lịchcho các tác vụ của ứng dụng để thực thi trên các tài nguyên toàn cầu
Trang 12Grid Applications and Portals: Các ứng dụng Lưới thông thường được phát
triển bằng cách sử dụng các ngôn ngữ và các tiện ích hỗ trợ Lưới như MPI(message- passing interface) hoặc ngôn ngữ đặc tả tham số Nimrod Một ví dụ ứngdụng, như là một tham số mô phỏng hay một vấn đề thách thức lớn, cần dùng nănglực tính toán truy cập các dữ liệu từ xa, và có thể cần tương tác với các thiết bị khoahọc Grid portal cung cấp các dịch vụ ứng dụng Web, mà người dùng có thể đưacông việc của họ lên và lấy kết quả trên các tài nguyên từ xa thông qua Web
II. Các thành phần phần mềm cho các hệ thống ứng dụng lưới
Phần mềm là phần quan trọng của các dự án Lưới Cộng đồng nguồn mở đãtạo ra một khối lượng lớn các thành phần phần mềm (software components) đa dạng.Hiểu tính năng của từng thành phần, điểm mạnh và yếu của từng thành phần và cácloại vấn đề đã được khắc phục (hoặc chưa được khắc phục) của các thành phần này lànhiệm vụ khó khăn đối với các dự án Lưới mới Hơn nữa, mỗi dự án Lưới mới có cácyêu cầu khác nhau tương ứng với việc kết hợp các thành phần phần mềm khác nhau
Các thành phần phần mềm này có thể chia thành các nhóm như sau:
a Các cơ chế an ninh căn bản
Các thành phần cấp phép và xác thực của Globus Toolkit cung cấp một cách khôngchính thức chuẩn cho phần mềm an ninh “lõi” trong các hệ thống và các ứng dụngLưới Những bộ công cụ phát triển (SDKs) này cung cấp các thư viện lập trình, các lớpJava và các công cụ thiết yếu cho một PKI, hệ thống xác thực dựa trên chứng chỉ vớitính năng đăng nhập một lần (single sign-on) và ủy thác, ngay cả trong khuôn khổWeb Services hay không phải Web Services, (“ủy thác” nghĩa là một khi một ngườitruy cập vào một hệ thống từ xa, anh ta có thể cho hệ thống ở xa đó dùng giấy phépcủa anh ta để truy cập hệ thống khác dưới danh nghĩa của anh ta)
Pre-Web Services Authentication and Authorization - Một hiện thực không
phải Web Service của Grid Security Infrastructure (GSI), chứa các thư viện lõi và cáccông cụ dùng cho an ninh, các ứng dụng sử dụng cơ chế GSI
Trang 13Web Services Authentication and Authorization - Một hiện thực cho Web
service của Grid Security Infrastructure (GSI), chứa các thư viện lõi và các công cụdùng cho an ninh, các ứng dụng sử dụng cơ chế GSI
b Các thành phần dùng cho sự phát sinh ủy nhiệm
Trong khi các phương pháp an ninh Lưới được dùng trong một hệ thống haymột ứng dụng các người dùng hay các dịch vụ phải cung cấp các giấy ủy nhiệm đểchứng thực nhân dạng của họ Giấy chứng thực Lưới chứa dữ liệu được tạo ra bởi cácphương pháp mã hóa, vì vậy chúng phải được cung cấp bởi các chương trình phầnmềm Các công cụ và dịch vụ sau cung cấp nhiều cách để tạo ra các giấy chứng nhận
để sử dụng trong các hệ thống và các ứng dụng Lưới
Globus Certificate Service - Là một dịch vụ trực tuyến tạo ra các giấy chứng
nhận GSI hạng thấp dành cho các người dùng muốn thử nghiệm phần mềm Lưới màkhông có cách nào khác để lấy được một giấy phép
Simple CA - Là một phương thức tiện lợi để đưa ra các giấy phép cho những
người dùng và dịch vụ, nó làm việc với GSI và WS-Security
c Các thành phần để quản lý ủy nhiệm
Các thành phần sau cung cấp các cách thức để tránh (hay đơn giản hoá) việc cầnthiết để người dùng quản lý các giấy ủy nhiệm của họ
MyProxy - Một dịch vụ mạng lưu trữ các giấy phép của người dùng để họ có thểtruy cập từ các hệ thống khác trên mạng
KXS09 and KCA - Hệ thống dùng để cung cấp người dùng Kerberos giấy ủy
quyền Lưới mà không phải thực hiện một Certificate Authority
PKINIT - Một cơ chế cho phép lấy được một thẻ Kerberos bằng cách sử dụng giấyphép Lưới mà không cần phải dùng Kerberos passphrase
Trang 14d Các thành phần để điều khiển truy cập và cấp phép
Shibboleth - Một tập hợp các dịch vụ mà thúc đẩy các hệ thống xác thực và cấp
phép người dùng đã tồn tại tại chỗ để cho các dịch vụ ở xa thông tin chúng cần để racác quyết định cấp phép
Community Authorization Service (CAS) - Là một dịch vụ cho phép các nhà
cung cấp tài nguyên định rõ các chính sách điều khiển truy cập dưới dạng các cộngđồng như là sự quản lý chính sách điều khiển truy cập tổng thể, đại diện đến chính bảnthân cộng đồng
Virtual Organization Membership Service (VOMS) - Là một cơ chế hướng cơ
sở dữ liệu để quản lý vai trò người dùng và tiềm năng dữ liệu tập trung
2. Các thành phần dùng để giám sát và khám phá
a Các cơ chế giám sát và khám phá căn bản
Kiến trúc OGSA và Globus Toolkit cung cấp một kiến trúc lõi và một thể hiện(tách biệt) cho việc xuất bản, định vị và thu nhận thông tin
WS Core Monitoring Features - Các cơ chế cùng hình thức để thu được trạngthái chi tiết từ các Web services và cho việc đăng ký nhận các thuộc tính mong muốn
Globus Index Service - Một điểm thu thập thông tin trạng thái từ các dịch vụkhác trên một Lưới
b Các thành phần giám sát và khám phá chuyên dụng
Cộng đồng Lưới đã phát triển nhiều hệ thống chuyên dụng dùng để giám sát hệthống có thể dùng được cho cả cơ chế hoạt động độc lập và cả cho các yếu tố nằm bêntrong một kiến trúc OGSA
Globus Trigger Service - Là một dịch vụ dùng để giám sát các thuộc tính của tàinguyên WSRF và phát sinh các hành động khi các thuộc tính này đạt được các giá trị
đã được cấu hình trước
Ganglia Cluster Toolkit - Một bộ công cụ chuyên thu thập các dữ liệu giám sát từcác cụm máy tính và các kết hợp theo phân cấp của các cụm máy tính
Inca - Một khuôn mẫu chung để kiểm tra tự động, xác minh và giám sát các thoả
thuận ở mức dịch vụ
MonALISA - Một công cụ giám sát phân tán nổi bật là dịch vụ ủy nhiệm cho phép
sử dụng với firewalls và một tập lớn các giao diện khách hàng khác nhau bao gồm cảJINI và WAP
3. Các thành phần để tính toán
Trang 15Giao diện GRAM của Globus Toolkit kết nối với một bộ lập lịch nội bộ, cung cấpmột cơ chế căn bản cho việc đăng ký công việc từ xa và các yêu cầu về nhập xuất vàdàn dựng các tập tin có liên quan Các thành phần khác trong lĩnh vực này có thể đượcxếp thành 3 loại: lập lịch, khuôn mẫu lập trình phân tán và dữ liệu ảo.
a Các cơ chế tính toán căn bản
GRAM - Dịch vụ GRAM của Globus Toolkit, các giao diện máy khách, và cáccông cụ đã cung cấp nhiều thành tựu trong việc tính toán phân tán tầm rộng Ở hìnhthức đơn giản nhất, GRAM cung cấp một giao diện để đăng ký và điều khiển các côngviệc trên các thành phần tính toán Lưới không đồng nhất
GRAM Scheduler Plugins - Dịch vụ GRAM có thể được dùng chung vói một bộ
lập lịch nhằm cung cấp một dịch vụ tính toán được quản lý Những “bộ nhúng” nàycung cấp giao diện then chốt giữa dịch vụ GRAM và nhiều bộ lập lịch phổ biến
b Khuôn mẫu lập trình phân tán
Các thành phần này cung cấp hỗ trợ lập trình để phát triển các ứng dụng phân tán
sử dụng ba khuôn mẫu quen thuộc là : RPC, message passing và workflow
NetSolve/GridSolve - là một thư viện dựa trên RPC để thực thi các mã giải pháp
trên các tài nguyên Lưới
Ninf-G - cho phép các thư viện lập trình đang tồn tại được dùng theo cách phân tán
trên một Lưới bằng cách sử dụng RPC
MPICH-G2 - là phiên bản MPI (Message Passing Interface) thông dụng có bổ sungtương thích với Lưới
Condor-G, DAGman - Condor-G và DAGman có thể được dùng để thực thi các
workflow phức tạp (bao gồm nhiều tác vụ độc lập hay có quan hệ) sử dụng các nguồntài nguyên tính toán Lưới thông qua GRAM hay Condor
c Các thành phần cho siêu lập lịch
Các bộ siêu lập lịch (metascheduler) đánh giá việc sử dụng của các nhóm trực tiếptính toán phân tán bằng cách nhận các yêu cầu tính toán tại một điểm trung tâm vàphân phối các yêu cầu này đến các tài nguyên sẵn sàng nhằm đạt được mục đích là tậndụng tài nguyên
Community Scheduler Framework (CSF) - là một tập các module có thể tập hợp lại
để tạo thành một hệ thống siêu lập lịch, hệ thống này nhận các yêu cầu công việc và
thực thi chúng bằng cách sử dụng các dịch vụ tính toán Lưới đang sẵn sàng.
GridWay - là một bộ siêu lập lịch đơn giản thực hiện việc quản lý thực thi côngviệc và môi giới tài nguyên
Trang 16d Các thành phần cho dữ liệu ảo
Các công cụ ảo dữ liệu giúp quản lý sự thoả thuận giữa các tài nguyên được yêucầu để lưu dữ liệu và các tài nguyên được yêu cầu để tạo (tái tạo) ra nó
Chimera - bắt giữ các bước trong tiến trình phân tích dữ liệu và lưu trữ chúng trongmột danh sách để sử dụng lại sau đó
4. Các thành phần để quản lý dữ liệu lưới
Xây dựng trên hệ thống lưu trữ có sức chứa lớn và các mạng máy tính, cộng đồngLưới đã tạo ra một tập các thành phần để làm việc với các dữ liệu được quản lý trênLưới
a Cơ chế quản lý dữ liệu cơ bản
Nhiều thành phần trên không gian Lưới nhắm đến việc cung cấp các giao diệnLưới một cách riêng biệt cho các loại dữ liệu khác nhau
GridFTP - Một giao diện có hình thức chung, an toàn, hiệu suất cao dành cho các
hệ thống lưu trữ dựa trên tập tin ở trên Lưới
OGSA-DAI - Giao diện OGSA để truy cập các kho dữ liệu XML hay dữ liệu quanhệ
Metadata Catalog Service (MCS) - Dịch vụ hoạt động độc lập dùng để phân loại
siêu dữ liệu với một giao diện dịch vụ OGSA
b Các thành phần để di dời và di chuyển dữ liệu
Các công cụ này chuyên dùng để di dời và chuyển dữ liệu giữa các hệ thống Lưới.Mỗi công cụ phù hợp cho một ứng dụng hay nhu cầu của người dùng và một vài công
cụ còn cung cấp các giao diện cho các hệ thống lưu trữ chuyên biệt
Globus-url-copy - công cụ dòng lệnh dùng để yêu cầu chuyển dữ liệu bằngGridFTP
Reliable File Transfer (RFT) Service - Một dịch vụ OGSA cho phép các kháchhàng yêu cầu di chuyễn dữ liệu và sau đó đóng kết nối trong khi việc di chuyển đãthiết lập
UberFTP - Một client tương tác dựa trên ký tự dành cho GridFTP.
GSI-SCP/SFTP - Công cụ OpenSSH thông dụng có hỗ trợ xác thực của Lưới
c Công cụ để đánh giá truy cập dữ liệu
Các công cụ này giúp đánh giá việc sử dụng các hệ thống lưu trữ cho các cộngđồng người dùng chuyên biệt
Replica Location Service (RLS) - Một cơ chế phân tán để đánh dấu các vị trí củacác bản sao dữ liệu trên Lưới
Trang 17NeST - Một thiết bị lưu trữ cung cấp truy cập từ xa cho dữ liệu cục bộ khi các côngviệc tính toán đang được thực thi.
DataCutter - Một hệ thống sử dụng các bộ lọc dữ liệu và các luồng đến phân đoạn
dữ liệu bằng các cách thức có hiệu quả trên Lưới
5. Các thành phần để cộng tác
a Các thành phần để xây dựng Web Portals
Các thành phần này làm cho việc bắt đầu xây dựng một giao diện duyệt web dễdàng hơn cho các ứng dụng Lưới phức tạp
Sakai - Một “trang bị ban đầu” để xây dựng các hệ thống có thể truy cập được quatrình duyệt web (“portals”) và nó hỗ trợ học tập và cộng tác phân tán
Open Grid Collaboration Environment (OGCE) - Là một mở rộng đến CHEF/Sakai
cung cấp thêm các dịch vụ và một khởi tạo nhanh để xây dựng một portals Grid
b Không gian hội họp ảo chức năng cao
Access Grid - Không gian cộng tác ảo từ nhóm đến nhóm dành cho các nhóm làmviệc phân tán
6. Các công cụ để đóng gói và phân phối
a Các công cụ phân phối và đóng gói
Các công cụ này hỗ trợ các phần mềm được phân tán và cài đặt giống nhau thôngqua một cộng tác chung Nó giúp tạo ra các bản phân phối tích hợp làm việc được trênnhiều hệ thống khác nhau
PACMAN - Công cụ tạo các triển khai phần mềm phù hợp trên nhiều hệ thống.Grid Packaging Tools (GPT) - Một hệ thống đóng gói phần mềm có thể di chuyểnđược
Trang 18b Các bản phân phối tích hợp
Có nhiều bản phân phối tích hợp của các phần mềm Lưới thông thường được thiết
kế cho yêu cầu của các cộng đồng khác nhau
NSF Middleware Initiative (NMI) - Một phân phối tích hợp của phần mềm Lưới có
thể sử dụng lại được dùng trong chương trình NSF's Cyberinfrastructure
Rocks - một hệ thống quản lý tất cả trong một và bộ phần mềm dành cho máy tínhcụm Linux
Virtual Data Toolkit (VDT) - Một phân phối phần mềm tập trung vào sự cần thiếtcủa các cộng đồng phân tán của Thiên văn học và Vật lý
c Phân loại một số hệ thống quản lý tài nguyên
Dựa vào trọng tâm và mục tiêu ứng dụng, Hệ thống quản lý tài nguyên (Grid
Resource Management Systems - RMSs) được phân loại thành Lưới Tính toán (Computational Grids), Lưới Dữ liệu (Data Grids ) và Lưới Dịch vụ (Service Grids) Trong mỗi loại Hệ thống quản lý tài nguyên được phát triển đó thì được phân loại dựa
vào những thuộc tính kỹ thuật Việc phân loại này chú ý vào loại Lưới, cách tổ chứccác máy tính, các đặc tính của mô hình tài nguyên và các đặc tính của việc lập lịch
Thuộc tính của hệ quản trị
Loại lưới Computational Grids, Data Grids, Service GridsCách tổ chức các máy tính Phẳng (Flat), Ô (cell), Phân cấp
Mô hình tài nguyên Giản đồ, hướng đối tượng
Tổ chức không gian tên Quan hệ, phân cấp, biểu đồ
Lưu trữ thông tin tài nguyên Thư mục mạng và các đối tượng phân tán
Tìm kiếm tài nguyên Truy vấn và đại diện
Phát tán thông tin tài nguyên Gói/Định kỳ, trực tuyến/theo yêu cầu
Cách tổ chức các bộ lập lịch Tập trung, phân cấp, phân tán
Chính sách lập lịch Hệ thống làm trung tâm, người dùng làm trung tâmĐánh giá trạng thái Dự đóan trước và không dự đóan trước
Tái lập lịch Định kỳ, theo sự kiện
Phân loại các hệ thống quản lý tài nguyên lướiHiện tại có nhiều dự án lưới đang được thực hiện, trong số đó bao gồm Globus,Legion, NetSolve, AppLeS, and Condor
AppLeS: bộ lập lịch mạng
AppLeS (Application Level Scheduling) tại đại học California, San Diego chủ yếutập trung vào phát triển các đại diện (agent) lập lịch cho từng ứng dụng riêng biệt trêncác sản phẩm Lưới tính toán Nó dùng các dịch vụ của Network Weather Service
Trang 19(NWS) để kiểm tra các thay đổi của hiệu suất của các tài nguyên một cách linh động.Các đại diện AppLeS sử dụng ứng dụng tĩnh và động và hệ thống thông tin khi lựachọn một tập các tài nguyên có thể tồn tại và các cấu hình của tài nguyên Nó tươngtác với các hệ thống quản lý tài nguyên khác như Globus, Legion và NetSolve để thựcthi các tác vụ ứng dụng Các ứng dụng nhúng đại diện của AppLeS và vì vậy trở thành
có khả năng tự lập lịch trên Lưới Khái niệm của AppLeS được áp dụng cho nhiền lĩnhvực ứng dụng bao gồm Thủy động lực học, so sánh chuỗi gene và X quang
Một nỗ lực khác trong khung dự án AppLeS là phát triễn các khuôn mẫu AppLeS
Nó tương tự như khuôn mẫu Nimrod-G và resource broker, nhưng nó không hỗ trợ lậplịch hướng quality of service vì nó không quan tâm đến Grid economy
Dự án AppLeS tập trung vào việc lập lịch, nó tuân theo mô hình quản lý tài nguyênđược hỗ trợ bởi các hệ thống tầng giữa (middleware) của Lưới Một bộ lập lịchAppLeS là trung tâm ứng dụng thực hiện việc ánh xạ các tác vụ vào các tài nguyên,nhưng các bộ lập lịch tài nguyên nội bộ mới thực hiện các thi hành thực sự của cácđơn vị ứng dụng Bộ lập lịch AppLeS không cung cấp QoS và được xây dựng trên môhình tài nguyên được hỗ trợ bởi hệ thống bên dưới AppLeS có thể coi như là có một
mô hình đánh giá trạng thái theo dự đoán heuristic với các chính sách lập lịch theohướng ứng dụng
Condor: công nghệ tận dụng thời gian CPU
Condor là một môi trường tính toán thông lượng cao (high-throughput) được pháttriển tại University of Wisconsin, Madison, USA Nó có thể quản lý một tập hợp lớn
các máy tính như PC, workstations, và clusters thuộc quyền quản lý của các cá thể
khác nhau Mặc dù nó thường được biết là để khai thác các CPU rảnh rỗi, nó có thểthiết lập để chia sẻ tài nguyên Môi trường Condor tuân theo kiến trúc phân lớp vàcung cấp các dịch quản lý tài nguyên mạnh mẽ và linh động cho các úng dụng tuần tự
và song song Hệ thống Condor đặc biệt chú ý đến quyền của người sở hữu máy tính
và cấp phát các tài nguyên của họ cho Condor pool tuân theo những điều kiện sử dụngđược đặt ra bởi người sở hữu Thông qua các tính năng gọi hàm từ xa đặc biệt của nó,
nó bảo quản môi trường tác vụ nguyên thủy trên máy tính đang thực thi, ngay cả khimáy tính nguyên thủy và máy tính thực thi không có cùng một hệ thống tập tin và/haymột kiểu định danh người dùng Các tác vụ của Condor với một tiến trình xử lý đơnđược đánh dấu một cách tự động và khi cần thiết thì được di trú giữa các trạm làm việc
Trang 20để đảm bảo được hoàn thành Condor đang được mở rộng để hỗ trợ các yêu cầu tác vụđến các tài nguyên Grid-enabled sử dụng các dịch vụ Globus.
Condor có thể có nhiều Condor pool và mỗi pool là một tổ chức các máy tính theodạng phẳng Condor collection lưu trữ thông tin các tài nguyên, lắng nghe các lờiquảng bá của các tài nguyên có thể sử dụng được Đại diện (agent) Condor của tàinguyên chạy trên từng máy tính định kỳ thông báo các dịch vụ của nó cho collector.Các đại diện từ khách hàng thông báo yêu cầu sử dụng tài nguyên cho collector Dịch
vụ mai mối (matchmaker) của Condor truy vấn collector để tìm kiếm tài nguyên và nóxác định các yêu cầu tài nguyên phù hợp và cung cấp cho khách hàng Các đại diệnsau đó sẽ được thông báo về sự tương hợp của chúng Các đại diện tương hợp nhausau đó liên hệ trực tiếp với nhau và nếu chúng đáp ứng được với nhau thì đại diệnkhách hàng sẽ thiết lập việc tính toán trên tài nguyên này
Các yêu cầu về tài nguyên và cung cấp tài nguyên được mô tả trong ngôn ngữCondor classified advertisement (ClassAd) ClassAds dùng một mô hình dữ liệu bán-cấu trúc để mô tả tài nguyên Vì vậy, matchmaker không yêu cầu một giản đồ riêngbiệt nào cho phép nó làm việc một cách tự nhiên trong môi trường không đồng nhất.Ngôn ngữ ClassAd bao gồm một ngôn ngữ truy vấn là một phần của mô hình dữ liệucho phép các đại diện thông báo chỉ ra sự tương hợp của nó bằng cách bao gồm cả cácràng buộc trong việc cung cấp và yêu cầu tài nguyên của nó
Matchmaker thực hiện việc lập lịch trong một Condor pool Matchmaker có nhiệm
vụ thiết lập liên hệ giữa các đại diện phù hợp với nhau Đại diện người dùng có thểthông báo các yêu cầu tài nguyên cho nhiều pool với một cơ chế gọi là flocking, chophép một tính toán sử dụng các tài nguyên phân tán thông qua nhiều Condor pool khácnhau
Hệ thống Condor gần đây được mở rộng để hỗ trợ việc tạo ra các condor pool cánhân Nó cho phép người dùng bao gồm cả node Globus-enabled vào Condor pool đểtạo một pool “condor cá nhân” song song với các nodes condor pool công cộng Cácnode Lưới được thêm vào một pool condor cá nhân chỉ được truy cập bởi người tạo rapool đó
Condor có thể xem như là một Lưới tính toán với một tổ chức hẹp Nó dùng mộtgiản đồ mở rộng với một namespace lắp ghép Nó không có hồ trợ QoS và thông tinlưu trữ là một thư mục mạng không phải là sử dụng công nghệ X.500/LADP Sự khám
Trang 21phá tài nguyên đạt được thông qua các truy vấn tập trung với việc phát tán thông tinbằng cách đẩy thông tin lên định kỳ Chương trình lập thời biểu được tập trung.
Data Grid
CERN, tổ chức nghiên cứu hạt nhân châu Âu và cộng đồng Vật lý Năng lượng cao
đã thiết lập dự án International Data Grid với mục đích cung cấp kết quả cho các cộngđồng khoa học khác như Nghiên cứu Trái đất hay Sinh-Tin học Các mục tiêu của dự
án là thiết lập một mạng lưới nghiên cứu để phát triển công nghệ data grid, trình diễnhiệu quả của data grid thông qua sự triển khai thực tế ở tầm rộng của các ứng dụng thửnghiệm đầu cuối, và để trình diễn khả năng sử dụng các thành phần rẻ tiên đế xâydựng, kết nối và quản lý một số lượng lớn các chuỗi máy tính đa dụng, chuyên sâu về
dữ liệu
Dự án Data Grid tập trung vào sự phát triển các dịch vụ middleware nhằm có khả
năng phân tích phân tán các dữ liệu vật lý Lõi của hệ thống middleware là Globus
tookit với các mở rộng cho data Grid Dữ liệu với hàng Petabytes sẽ được phân tán
trong một mô hình phân cấp ở nhiều sites trên khắp thế giới Không gian tên toàn cầuđược yêu cầu để quản lý sự khởi tạo, truy cập, phân phối và tái tạo các thành phần đữliệu Các chức năng phân phối khối lượng công việc sẽ cân bằng phân tích của cáccông việc trong Lưới để đạt tối đa thông lượng từ hàng trăm nhà vật lý Chức nănggiám sát ứng dụng và người dùng truy cập sẽ được dùng để đánh giá hiệu quả sự phântán dữ liệu
Các dự án Data Grid tổ chức các máy theo phân cấp với dữ liệu được lưu trữ ở mứccàng thấp thì càng ít CERN, là Tầng 0, lưu trữ hầu như các dữ liệu có liên quan, cácTầng 1 là trung tâm theo vùng ở Ý, Pháp, Anh, Mỹ và Nhật hỗ trợ lượng dữ liệu íthơn Nó có một mô hình tài nguyên dựa trên giản đồ có thể mở rộng với tổ chức khônggian tên phân cấp Nó không cung cấp bất kỳ QoS nào và việc lưu trữ thông tin tàinguyên thì được mong đợi là dựa trên thư mục mạng LDAP Sự phát tán thông tin tàinguyên là dạng đóng gói và định kỳ được đẩy đến các phần khác của Lưới Việc tìmkiếm tài nguyên trong Data Grid là không tập trung và dựa vào truy vấn Bộ lập lịch sửdụng cấu trúc phân cấp với một chính sách lập lịch có thể mở rộng
Globus: Bộ công cụ phát triển Tính toán Lưới
Globus cung cấp một kiến trúc phần mềm cho phép các ứng dụng xem các tàinguyên máy tính không đồng nhất như là một máy tính ảo duy nhất Dự án Globus là