Khái niệm Tiến sĩ Iran Foster đưa ra định nghĩa về Grid khá hoàn chỉnh 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
Trang 1PHÒNG ĐÀO TẠO SAU ĐẠI HỌC
TIỂU LUẬN ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY
TÌM HIỂU VỀ CÔNG NGHỆ GRID COMPUTING VÀ GRID MIDDLEWARE
Giảng viên hướng dẫn: PGS TS NGUYỄN PHI KHỨ
Học viên thực hiện: NGUYỄN VĂN KIỆT
Khóa: CAO HỌC KHÓA 08
Mã số học viên: CH1301095
TP Hồ Chí Minh, tháng 6 năm 2014
Trang 2Tôi xin chân thành gửi lời cám ơn chân thành đến PGS TS Nguyễn Phi Khứ, người
thầy hướng dẫn khoa học nghiêm túc và nhiệt tâm Thầy là người đã truyền đạt cho tôi
những kiến thức quý báu trong môn học “Điện toán lưới và đám mây” Nhờ có những kiến
thức của thầy mà tôi có thể có đủ kiến thức cùng những công cụ cần thiết để thực hiện được bài tiểu luận của môn học này
Trong bài báo cáo này, tôi đã tìm hiểu về công nghệ Grid Computing và Grid Middleware
Xin cảm ơn tất bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn thành tiểu luận của môn học này
TP Hồ Chí Minh, tháng 6 năm 2014
Nguyễn Văn Kiệt
Trang 5Chương 1 TỔNG QUAN VỀ GRID COMPUTING
1.1. Khái quát về Grid Computing
tự như một hệ thống cung cấp điện, nước hiện đang dùng trong cuộc sống hàng ngày Người dùng khi muốn sử dụng tài nguyên tính toán để xử lý công vệc, chỉ cần cắm thiết bị vào hệ thống cung cấp, sử dụng và trả tiền giống như cắm thiết bị điện vào lưới điện
Nguồn gốc của Grid chính thức được xác định vào năm 1990, khi thuật ngữ “siêu máy tính” (metacomputing) ra đời, dùng để mô tả các dự án kết nối các trung tâm siêu máy tính của Mỹ nhằm kết hợp sức mạnh xử lý của nhiều siêu máy tính lại với nhau
Khái niệm Grid ra đời ở phòng thí nhiệm Argonne National Laboratory vào tháng 7/1997, sau đó được đưa vào quyển sách “The Grid: Blueprint for a New Computing Infrastructure” viết bởi tiến sĩ Ian Foster (Argonne National Laboratory) và Carl Kesselman (University of Southern California) năm 1998
Từ đó đến nay, việc phát triển công nghệ Grid trở nên rất sôi động với sự tham gia, nghiên cứu, đầu tư của nhiều tổ chức, tập đoàn công nghệ thông tin, nhiều quốc gia và đã thu được nhiều thành tựu bước đầu
1.1.2 Khái niệm
Tiến sĩ Iran Foster đưa ra định nghĩa về Grid khá hoàn chỉnh như sau:
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại Từ đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”
Trang 6Đặc điểm của một hệ thống Grid như sau:
- Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung
- Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng
- Đáp ứng yêu cầu cao về chất lượng dịch vụ
1.1.3 Tài nguyên
Tài nguyên Grid gồm các loại tài nguyên:
- Tài nguyên tính toán: là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles) được cung cấp bởi bộ vi xử lý của các thiết bị trong Grid Các
bộ vi xử lý không cần phải cùng loại mà có thể có tốc độ, kiến trúc, chạy phần mềm khác nhau Có 3 cách để khai thác tài nguyên tính toán Grid:
+ Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid thay
vì chạy trên máy tính cục bộ
+ Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ để có thể thực thi song song trên nhiều bộ xử lý khác nhau
+ Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid
- Tài nguyên lưu trữ: là tài nguyên phổ biến thứ hai Mỗi thiết bị trong Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng dụng trên Grid Tài nguyên lưu trữ có thể là bộ nhớ trong, ô đĩa cứng hoặc các thiết bị lưu trữ khác
Bộ nhớ trong thường dùng để lưu trữ dữ liệu tạm thời cho ứng dụng, trong khi các thiết bị lưu trữ ngoài có thể được sử dụng để tăng không gian lưu trữ, tăng hiệu suất, khả năng chia sẻ và đảm bảo tính tin cậy của dữ liệu
- Phương tiện liên lạc: Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho công nghệ Grid trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng, bao gồm việc liên lạc, trao đổi dữ liệu giữa các thành phần trong Grid và giao tiếp giữa Grid với bên ngoài Một số công việc đòi hỏi một lượng dữ liệu lớn nhưng các dữ liệu này thường không nằm trên máy đang thực thi công việc Khả năng về băng thông trong những trường hợp như vậy là một tài nguyên then chốt, ảnh hưởng đến khả năng của Grid Việc giao tiếp với bên ngoài được thực hiện thông qua Internet Grid có thể sử dụng các kết nối Internet để liên lạc giữa các node Vì các kết nối này không chia sẻ một đường truyền nên làm tăng băng thông truy cập Internet
- Phần mềm, ứng dụng: Grid có thể được cài đặt các phần mềm mà có thể quá mắc để cài trên tất cả mọi máy tính trong Grid Các phần mềm này chỉ cần được cài trên một số node Thông qua Grid, khi một công việc cần đến chúng, nó sẽ gửi dữ liệu đến node đã được cài đặt phần mềm và cho thực thi Đây có thể là một giải pháp tốt
để tiết kiệm chi phí về bản quyền phần mềm
Trang 7- Các thiết bị đặc biệt: Là các thiết bị dùng trong khoa học, kỹ thuật như kính viễn vọng, các bộ cảm biến (sensor), … Các thiết bị này chủ yếu thu thập các dữ liệu khoa học, phục vụ cho các bước phân tích xử lý sau này.
Các tài nguyên này có thể sử dụng tự do, trong khi một số khác được sử dụng dưới những chính sách nhất định Các tài nguyên được “ảo hóa” (virtualize) để che dấu sự phức tạp, đa dạng nhằm đưa ra một cái nhìn thống nhất, đơn giản về toàn bộ tài nguyên trên Grid sao cho dưới mắt của người dùng, các tài nguyên Grid là một khối thống nhất
Các tài nguyên ảo được tổ chức lại thành các “tổ chức ảo”, đến lượt nó, các tổ chức
ảo lại thực hiện chia sẽ tài nguyên của mình để hình thành Grid lớn hơn, tạo thành một kho tài nguyên khổng lồ
1.2. Phân loại Grid và Grid Topology
1.2.1 Các kiểu Grid
Công nghệ Grid Computing có thể được sử dụng theo nhiều cách khác nhau để giải quyết các loại ứng dụng Thông thường Grid được phân loại bởi kiểu của ứng dụng cần giải quyết Tuy nhiên, không có ranh giới phân biệt rõ ràng giữa các loại Grid và trong thực tế, các giải pháp Grid thường là sự kết hợp 2 hay nhiều loại khác nhau
Computation Grid
Là loại grid chủ yếu tập trung vào việc sử dụng năng lực tính toán Ở Grid này, phần lớn các node là các máy tính hay các nhóm máy tính (cluster) có năng lực xử lý, tính toán rất lớn
Hình thức thực hiện là chia tác vụ tính toán lớn thành nhiều công việc nhỏ thực thi song song trên các node của Grid Việc phân tán các tác vụ tính toán trong Grid sẽ giảm rất đáng kể toàn bộ thời gian xử lý và tăng khả năng tận dụng hệ thống Thông thường một hệ thống chính sẽ chia khối dữ liệu cần xử lý thành các phần nhỏ, sau đó phân phối đến các node trên Grid Mỗi node sẽ thực hiện xử lý dữ liệu và trả kết quả về hệ thống chính để hệ này tổng hợp và trình diễn kết quả toàn cục cho người dùng Hình 1.1 minh họa quá trình này
Trang 8Hình 1.1 – Hình thức hoạt động của Grid tính toán
Data Grid
Ở đây, không gian lưu trữ là tài nguyên Một Grid dữ liệu chịu trách nhiệm lưu trữ
và cung cấp khả năng truy cập dữ kiệu cho nhiều tổ chức khác nhau Người dùng không cần biết chính xác vị trí dữ liệu khi thao tác với dữ liệu
Các cơ sở dữ liệu, đặc biệt các cơ sở dữ liệu liên hợp, đóng vai trò quan trọng trong các Grid dữ liệu, nhất là khi có nhiều nguồn dữ liệu và xuất hiện nhu cầu kết hợp các thông tin từ nguồn dữ liệu này
Các Grid dữ liệu có thể được sử dụng trong lĩnh vực khai phá dữ liệu (data mining) hoặc các hệ thống thương mại thông minh Trong trường hợp này, không chỉ có hệ thống file hay các cơ sở dữ liệu mà toàn bộ dữ liệu của t63 chức cần tập hợp lại Ở đây có thể phải kết hợp giữa Grid dữ liệu và Grid tính toán
Scavenging
Một Scavenging Grid thường được dùng với một lượng lớn các máy tính để bàn Các máy tính thường được kiểm tra định kỳ để xem khi nào bộ xử lý và các tàinguyên khác rảnh rỗi để thực hiện các tác vụ Grid Chủ nhân của máy để bàn thường có quyền xác định khi nào thì chia sẻ chiếc máy của mình
Trang 91.2.2 Grid Topology (Đồ hình Grid)
Grid có thể được xây dựng theo nhiều kích cỡ khác nhau, từ một nhóm vài máy tính đặt trong một phòng ban đến hàng trăm nhóm máy tính tổ chức theo kiểu phân cấp trải rộng khắp thế giới Đồ hình Grid đơn giản nhất là SimpleGrid, chỉ bao gồm một số máy tính đồng nhất ở cùng một vị trí Độ phức tạp của đồ hình Grid tương ứng với số lượng tổ chức tham gia Grid và các ràng buộc về địa lý Phần này sẽ giới thiệu sơ nét về một số đồ hình Grid cơ bản Hình 1.2 cho thấy độ lớn của các đồ hình Grid
Trang 10Hình 1.3: Đồ hình SimpleGrid
Intragrid
Mở rộng hơn một chút so với SimpleGrid là IntraGrid Lúc này xuất hiện các hệ thống không đồng nhất, nhiều loại tài nguyên mới trong Grid Sử dụng cùng một chính sách bảo mật, sử dụng mạng nội bộ để kết nối các hệ thống trong Grid là các đặc tính quan trọng của đồ hình này
Trang 11Hình 1.4: Đồ hình IntraGrid
Hệ thống Grid cần có các module lập lịch Việc chia sẻ file có thể sử dụng các hệ thống file mạng (network filesytem) Các máy tính tham gia Grid có thể thuộc nhiều phòng ban khác nhau nhưng vẫn trong cùng một tổ chức
Khi Grid mở rộng ra nhiều phòng ban, các chính sách mới về cách sử dụng Grid cần phải được xác lập và áp dụng Ví dụ: cần phải có chính sách quy định những công việc nào được thực hiện trên Grid, vào thời điểm nào; độ ưu tiên của các phòng ban,… Bên cạnh đó vấn đề bảo mật cũng cần được quan tâm, các dữ liệu nhạy cảm của một phòng ban cần được bảo vệ khỏi sự truy cập từ các công việc của các phòng ban khác
Các máy tính dành riêng cho Grid bắt đầu được đưa vào để làm tăng chất lượng dịch vụ của Grid, thay vì phải trông chờ vào các tài nguyên rảnh rỗi
Cần có các dịch vụ cung cấp thông tin (information service) để tìm kiếm tài nguyên
Hình 1.5: Đồ hình ExtraGrid
Trang 12 Intergrid
Theo thời gian, các Grid mở rộng ra khỏi một tổ chức và bắt đầu liên kết nhiều tổ chức với nhau, được dùng để phối hợp giữa các tổ chức trong các dự án lớn Một InterGrid đòi hỏi việc liên kết động các ứng dụng, tài nguyên và dịch vụ Khách hàng hay bất kỳ tổ chức hợp lệ nào khác đều có thể truy cập Grid thông qua các kết nối Internet và WAN
Trong dạng Grid này, cấp độ bảo mật cao nhất cần được áp dụng để ngăn ngừa các khả năng bị tấn công và gián điệp InterGrid cung cấp khả năng trao đổi, mua bán, tìm kiếm tài nguyên ở mức toàn cầu Các tài nguyên có thể được mua từ các nhà cung cấp tin cậy
Hình 1.6: Minh họa về đồ hình InterGrid
1.3. Các thành phần cơ bản của một cơ sở hạ tầng Grid
Một cơ sở hạ tầng (infrastructure) là một công nghệ cho phép chúng ta thực hiện các hoạt động của mình, ví dụ hệ thống đường giao thông cho phép đi lại bằng xe, hệ thống ngân hàng cho phép chuyển tiền một cách nhanh chóng Để có thể hữu dụng, cơ sở hạ tầng cần phải được triển khai rộng rãi, điều đó cũng có nghĩa là nó phải đơn giản hoặc có giá trị
to lớn hoặc cả hai Vì vậy, cơ sở hạ tầng Grid cần phải vừa đơn giản, vừa hỗ trợ được nhiều dạng tài nguyên khác nhau
Một số thành phần có thể không cần thiết và đôi khi trong một số trường hợp, có thể kết hợp nhiều thành phần lại thành một thành phần phức hợp
1.3.1 Portal (Giao diện người dùng)
Trang 13Truy cập thông tin trên Grid là việc rất quan trọng, thành phần giao diện người dùng đảm nhiệm chức năng này Giao diện người dùng có 2 dạng:
- Giao diện cung cấp bởi ứng dụng đang chạy của người dùng
- Giao diện cung cấp bởi các nhà quản trị Grid giống như portal cho phép khả năng truy xuất đến các ứng dụng và tài nguyên trong Grid như một không gian ảo duy nhất Một Grid portal đưa ra một giao diện cho người dùng để chạy các ứng dụng sử dụng các tài nguyên và dịch vụ của Grid Giao diện kiểu portal cũng có thể giúp người dùng học cách sử dụng Grid
1.3.2 Bảo mật
Các máy tính trong Grid đều được nối mạng và chạy các ứng dụng; chúng có thể phải xử lý các dữ liệu nhạy cảm hoặc có giá trị lớn, do đó thành phần bảo mật của Grid là hết sức quan trọng Ở mức cơ sở, bất kỳ môi trường Grid nào cũng phải có các cơ chế bảo mật
1.3.3 Broker
Khi đã được chứng thực, người dùng sẽ thực thi ứng dụng Tùy thuộc vào ứng dụng
và các thông số cung cấp bởi người dùng, bước tiếp theo là phải xác định được các tài nguyên thích hợp để sử dụng Việc này đòi hỏi các chức năng của một broker
1.3.4 Scheduler (Bộ lập lịch)
Khi các tài nguyên đã được xác định và cấp phát, bước tiếp theo là lập lịch điều phối các công việc chạy trên đó Cần có các bộ lập lịch để xác định các node thực thi ứng dụng và gửi các công việc được yêu cầu đến các node Việc này có thể đơn giản là lấy tài nguyên sẵn sàng tiếp theo trong hệ thống, nhưng thường thì nó liên quan đến các hàng đợi công việc ưu tiên, quản lý tải, tìm kiếm các tài nguyên đã đăng ký sử dụng, theo dõi tiến trình Nếu có một tập các công việc riêng lẻ, không phụ thuộc vào nhau thì không cần các
bộ lập lịch phức tạp Tuy nhiên, nếu muốn giữ chỗ các tài nguyên đặc biệt hay chắc chắn rằng các công việc chạy song song thì nên sử dụng các bộ lập lịch để phối hợp hoạt động của các công việc Lưu ý, các cluster có thể được xem là một tài nguyên đơn lẻ, chúng có
bộ lập lịch riêng để quản lý các node của nó Một bộ lập lịch cấp cao hơn dùng để quản lý các công việc cần thực hiện trên cluster trong khi bộ lập lịch cục bộ của cluster sẽ điều phối các công việc cụ thể trên từng máy tính con
1.3.5 Thành phần quản lý công việc và tài nguyên
Nếu bất cứ dữ liệu nào, bao gồm cả các module thực thi của ứng dụng, cần phải di chuyển thì cần phải có các phương pháp an toàn, tin cậy để di chuyển các file và dữ liệu qua lại giữa các node trong Grid Do đó, cần phải có thành phần này
1.3.6 Các thành phần khác
Trang 14Còn có nhiều thành phần khác để đưa vào môi trường Grid và cần được xem xét khi thiết kế và cài đặt ứng dụng Ví dụ : Các tiện ích như liên lạc giữa các tiến trình (Inter Process Communication) và các dịch vụ hỗ trợ tính toán chi phí và chi trả là những tiện ích được yêu cầu nhiều nhất.
Trên đây là giới thiệu vắn tắt và tổng quan về các thành phần chính của môi trường Grid Tuỳ thuộc vào việc triển khai Grid và các yêu cầu của ứng dụng, có nhiều cách khác nhau để kết hợp các thành phần này lại với nhau để tạo nên một giải pháp Grid
1.4. Kiến trúc Grid
1.4.1 Bản chất kiến trúc của Grid
“Tổ chức ảo”(VO) là đơn vị cơ bản quan trọng trong hệ thống Grid Việc thiết lập, quản lý, khai thác các quan hệ chia sẻ tài nguyên giữa các tổ chức ảo đòi hỏi phải có kiến trúc hệ thống mới, kiến trúc Grid Kiến trúc Grid dưới đây được xây dựng dựa trên quan niệm “để các VO hoạt động hiệu quả đòi hỏi phải thiết lập được các quan hệ chia sẻ với bất
kỳ đơn vị tham gia tiềm năng nào” Để làm được điều này, vấn đề “liên kết hoạt động” (interoperability) cần phải được tập trung giải quyết Trong môi trường mạng, “liên kết hoạt động” đồng nghĩa với việc sử dụng các protocol chung Do đó, kiến trúc Grid sẽ là kiến trúc protocol, với các protocol xác định các cơ chế nền tảng để người dùng và nhà cung cấp tài nguyên thương lượng, thiết lập, quản lý và khai thác các mối quan hệ chia sẻ tài nguyên
Kiến trúc Grid phải là kiến trúc dựa chuẩn, hướng mở, để dễ mở rộng, liên kết hoạt động tốt, có tính khả chuyển (portability) cao Các protocol chuẩn sẽ giúp định nghĩa các service chuẩn, nhờ đó có thể xây dựng các service cao cấp hơn một cách dễ dàng
Sau khi có được kiến trúc Grid, việc tiếp theo là xây dựng các hàm API và các bộ SDK để cung cấp các công cụ cần thiết để phát triền các ứng dụng chạy trên nền Grid
Sở dĩ vấn đề “liên kết hoạt động” được xem là vấn đề cơ bản vì các mối quan hệ chia sẻ có thể phải được thiết lập giữa các bên tham gia khác nhau về các chính sách, giữa các môi trường khác nhau về nền tảng, ngôn ngữ, môi trường lập trình,…Nếu không có nó, các thành viên trong VO sẽ thực hiện các chính sách chia sẻ song phương và không chắc rằng các cơ chế sử dụng cho 2 thành viên này sẽ mở rộng được cho các thành viên khác Điều này khiến cho việc thành lập các VO động là không thể thực hiện hoặc cũng chỉ thành lập được VO theo một kiểu nào đó mà thôi Cũng giống như Web đã làm bùng nổ việc chia
sẻ thông tin bằng cách cung cấp các protocol và cú pháp chuẩn (HTTP và HTML) dùng cho việc trao đổi thông tin, ở đây cũng cần các protocol và cú pháp chuẩn để chia sẻ tài nguyên
Để giải quyết vấn đề “liên kết hoạt động”, việc xây dựng các protocol là quan trọng
Vì protocol xác định cách các thành phần phân tán trao đổi với nhau để đạt được một mục đích nào đó, xác định các cấu trúc thông tin cần thiết trong quá trình trao đổi Các VO thường hay thay đổi, nên các cơ chế xác định, chia sẻ và sử dụng tài nguyên cần phải mềm dẻo, gọn nhẹ, để các thỏa thuận chia sẻ tài nguyên có thể được thiết lập, thay đổi một cách nhanh chóng Các cơ chế chia sẻ không được ảnh hưởng đến các chính sách cục bộ, và phải
Trang 15cho phép các thành viên quản lý được các tài nguyên của họ Vì các protocol quy định việc giao tiếp giữa các thành viên chứ không quy định thành viên đó phải như thế nào, nên khi dùng các protocol, các chính sách cục bộ được giữ lại Do đó các protocol được cần đến.
Khi đã có các protocol, thì việc xây dựng các service là cần thiết và quan trọng, các service là bản cài đặt cụ thể của các protocol Việc xây dựng các service cơ bản phục vụ truy cập đến tài nguyên tính toán, dữ liệu, tìm kiếm tài nguyên, lập lịch và đồng bộ hoá, sao chép dữ liệu,… cho phép xây dựng các service cao cấp hơn cho ứng dụng đồng thời trừu tượng hoá các chi tiết về tài nguyên
Cũng cần phải xây dựng các bộ API và SDK, vì các nhà phát triển ứng dụng cần phải có công cụ để hỗ trợ phát triển các ứng dụng phức tạp trong môi trường Grid, người dùng cũng phải có khả năng thực thi được các ứng dụng này Sức mạnh, tính đúng đắn của ứng dụng, chi phí phát triển và bảo trì là những mối quan tâm quan trọng Các API và SDK
có thể giúp tăng tốc việc phát triển mã, cho phép chia sẻ mã, tăng tính khả chuyển cho ứng dụng Tất nhiên, API và SDK chỉ hỗ trợ thêm chứ không thể thay thế các protocol được
1.4.2 Chi tiết Kiến trúc Grid tổng quát
Sau gần 10 năm tập trung nghiên cứu, phát triển, tích luỹ kinh nghiệm, các nhà phát triển công nghệ Grid đã có những thống nhất đáng kể về kiến trúc Grid Một trong những kiến trúc Grid được chấp nhận nhiều nhất được đưa ra bởi Ian Foster, phần dưới đây sẽ giới thiệu về kiến trúc này
Kiến trúc Grid, theo Ian Foster, là một kiến trúc phân tầng như trong hình 1.7 Các thành phần trong một tầng có chung đặc điểm, tính chất, có thể được xây dựng từ bất cứ tầng dưới nào Các thành phần được phân tầng dựa theo vai trò của chúng trong hệ thống Grid Đây là một kiến trúc mở
Dưới đây là chi tiết của kiến trúc:
Trang 16Hình 1.7: Kiến trúc Grid tổng quát
Tầng Fabric
Đây là tầng thấp nhất của kiến trúc, đại diện cho các thiết bị vật lý và toàn bộ tài nguyên của Grid mà các tổ chức, người dùng muốn chia sẻ, sử dụng Các tài nguyên có thể tồn tại dưới dạng vật lý như các máy tính, hệ thống lưu trữ, các danh mục, tài nguyên mạng, các loại sensor, cũng có thể là các thực thể logic - một thực thể trừu tượng - đại diện cho một tập các tài nguyên vật lý, như hệ thống file phân tán, các cluster,… Trong trường hợp các thực thể logic, việc triển khai có thể liên quan đến các protocol cục bộ (ví dụ các protocol phục vụ dạng truy cập NFS, hoặc protocol quản lý tài nguyên, tiến trình trong cluster,…) nhưng các protocol này không liên quan đến kiến trúc Grid
Các thành phần của tầng Fabric thực hiện các hoạt động cục bộ trên các tài nguyên
cụ thể (vật lý lẫn logic) như là bước tiếp sau của các hoạt động chia sẻ tài nguyên của các tầng trên Do đó, có một mối liên hệ phụ thuộc chặt chẽ giữa các chức năng của tầng Fabric với các hoạt động chia sẻ được hỗ trợ Các chức năng của tầng Fabric càng mạnh, càng nhiều sẽ cho phép các hoạt động chia sẻ phức tạp, phong phú hơn Kinh nghiệm cho thấy, việc quản lý tài nguyên ở tầng này ít nhất cũng phải có cơ chế cung cấp thông tin để xác được cấu trúc, trạng thái, năng lực của tài nguyên và cơ chế điều khiển chất lượng dịch vụ
Tầng Connectivity
Trang 17Tầng Connectivity định nghĩa các protocol liên lạc và chứng thực cơ bản cần thiết cho các giao dịch mạng đặc trưng của Grid Các protocol liên lạc cho phép trao đổi dữ liệu giữa các tài nguyên tầng Fabric Các protocol chứng thực xây dựng trên các dịch vụ liên lạc nhằm cung cấp các cơ chế mã hóa, bảo mật, xác minh và nhận dạng các người dùng và tài nguyên Việc liên lạc đòi hỏi các công việc như vận chuyển, định tuyến, đặt tên Trong tương lai, việc liên lạc của Grid có thể cần các protocol mới, nhưng hiện nay nên xây dựng trên các protocol có sẵn của bộ TCP/IP protocol stack, cụ thể là các tầng Network (IP và ICMP), Transport (TCP,UDP) và Application (DNS,OSPF,…).
Về khía cạnh bảo mật tầng Connectivity, các giải pháp phải dựa trên các chuẩn bảo mật hiện hành khi có thể Cũng giống như liên lạc, rất nhiều chuẩn bảo mật đã được phát triển với Internet protocol có thể áp dụng được
Việc chứng thực, phân quyền trong môi trường Grid là rất phức tạp Các công nghệ bảo mật truyền thống chủ yếu tập trung bảo vệ các giao dịch giữa các máy client và server Trong Grid, việc phân biệt client/server không tồn tại, vì các mỗi tài nguyên trong một lúc nào đó có thể là server (khi nó nhận yêu cầu), một lúc khác lại là client (khi nó đề xuất yêu cầu đến các tài nguyên khác) Do đó, các giải pháp chứng thực cho các môi trường VO nên đạt được các yêu cầu về bảo mật trong Grid như đã giới thiệu ở trên
Tầng Resource
Tầng Resource dựa trên các protocol liên lạc và chứng thực của tầng Connectivity
để xây dựng các protocol, API và SDK nhằm hỗ trợ việc thương lượng, khởi tạo, theo dõi, điều khiển, tính toán chi phí và chi trả cho các hoạt động chia sẻ trên từng tài nguyên riêng
lẻ một cách an toàn Bản cài đặt các protocol của tầng Resource sẽ gọi các chức năng của tầng Fabric để truy cập và điều khiển các tài nguyên cục bộ
Các protocol tầng Resource tập trung toàn bộ vào các tài nguyên riêng lẻ, không quan tâm đến trạng thái toàn cục và các hoạt động trong các tập tài nguyên phân tán
Các protocol tầng Resource được phân thành 2 dạng chính như sau:
+ Các protocol thông tin: Sử dụng để thu thập thông tin về cấu trúc và trạng thái các tài nguyên ví dụ như cấu hình hiện tại, tải hiện tại, chính sách sử dụng,…
+ Các protocol quản lý: Sử dụng để thượng lượng truy xuất đến một tài nguyên chia
sẻ, xác định rõ, ví dụ, các yêu cầu về tài nguyên (bao gồm luôn việc giữ chỗ tài nguyên và chất lượng dịch vụ) và các thao tác cần được thực hiện như tạo tiến trình, hoặc truy xuất dữ liệu Do các protocol quản lý chịu trách nhiệm đại diện cho các quan hệ chia sẻ, đảm bảo các hoạt động sử dụng tài nguyên phải phù hợp với các chính sách chia sẻ tài nguyên, bao gồm luôn việc tính toán và chi trả chi phí Mỗi protocol cũng nên hỗ trợ việc theo dõi trạng thái và điều khiển các hoạt động
Với những yêu cầu như vậy, tập các protocol tầng Resource (và Connectivity) nên nhỏ gọn và tập trung Các protocol này chỉ nên đáp ứng được các cơ chế chia sẻ với nhiều loại tài nguyên khác nhau (ví dụ, các hệ thống quản lý tài nguyên cục bộ khác nhau) là đủ
Trang 18Các chức năng chính của tầng Resource cũng giống như của tầng Fabric cộng thêm nhiều ngữ nghĩa mới với cơ chế báo lỗi tin cậy khi hoạt động không thành công.
Tầng Collective
Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ, tầng Collective chứa các protocol, service, API, SDK không liên hệ đến bất kỳ một tài nguyên cụ thể nào mà thực hiện quản lý toàn cục, tập trung vào các giao tác giữa các tập tài nguyên Tầng
Collective có thể bổ sung thêm nhiều loại hoạt động chia sẻ mới ngoài những gì đã có từ tầng Resource mà không cần bổ sung thêm các yêu cầu mới cho các tài nguyên đang được chia sẻ Ví dụ:
+ Directory service: Cho phép các thành phần tham gia VO phát hiện sự tồn tại và/hoặc
đặc tính của các tài nguyên trong VO Một directory service có thể cho phép người truy vấn tài nguyên qua tên và/hay các thuộc tính như kiểu, khả năng, tải, …
+ Co-allocation, scheduling, và broker service: Cho phép các thành phần tham gia VO
yêu cầu cấp phát các tài nguyên cho các mục đích cụ thể và lập lịch cho các tác vụ trên các tài nguyên tương ứng
+ Monitoring ang dianostics sevice: Hỗ trợ việc kiểm soát các tài nguyên của VO, kiểm
tra xem có bị lỗi, bị tấn công, bị quá tải,… hay không
+ Data replication service: Hỗ trợ quản lý tài nguyên lưu trữ của VO để tối ưu hiệu suất
truy cập dữ liệu theo các độ đo như thời gian đáp ứng, tính toàn vẹn, tin cậy, chi phí,…
+ Grid-enable programming system: Cho phép các sử dụng các mô hình lập trình hiện tại
trong môi trường Grid, sử dụng nhiều loại dịch vụ Grid để giải quyết các vấn đề như phát hiện, tìm kiếm tài nguyên, bảo mật, cấp phát tài nguyên,…
+ Workload management system and collaboration framework: Cung cấp khả năng đặc
tả, sử dụng, quản lý các luồng công việc đa thành phần, bất đồng bộ và qua nhiều bước
+ Software discovery service: Tìm kiếm và chọn ra các cài đặt phần mềm tốt nhất và môi
trường thực thi dựa theo ứng dụng cần được giải quyết
+ Community authorization server: Thực hiện các chính sách công cộng quản lý truy cập
tài nguyên, cho phép các thành viên của cộng đồng truy cập đến các nguyên dùng chung Các server này sử dụng các dịch vụ xây dựng trên các protocol thông tin, quản lý tài nguyên của tầng Resource và protocol bảo mật ở tầng Connectivity
+ Community accounting and payment service: Thu thập các thông tin sử dụng tài
nguyên để tính toán chi phí, thực hiện chi trả và/hoặc giới hạn việc sử dụng tài nguyên của người dùng trong cộng đồng
+ Collaboratory service: Hỗ trợ việc trao đổi thông tin đồng bộ và bất đồng bộ trong cộng
đồng người dùng Các ví dụ trên đây cho thấy các protocol và dịch vụ tầng Collective rất phong phú, đa dạng Lưu ý rằng trong khi các protocol tầng Resource phải là các protocol tổng quát và triển khai rộng rãi, thì các protocol tầng Collective có thể trải dài từ việc phục
vụ các vấn đề chung trong Grid đến việc phục vụ cho các lĩnh vực ứng dụng cụ thể, có thể
Trang 19chỉ tồn tại trong các VO cụ thể Theo nguyên tắc, càng phục vụ nhiều người dùng thì các protocol và API của tầng Collective càng phải được dựa theo chuẩn
Các chức năng của tầng Collective có thể được cài đặt như các service (với các protocol tương ứng), hay như các bộ SDK(với các API tương ứng) được thiết kế để liên kết với ứng dụng Trong cả hai trường hợp, các cài đặt này có thể được xây dựng trên các protocol và API của tầng Resource và Connectivity
Tầng Application
Tầng trên cùng của kiến trúc Grid bao gồm các ứng dụng của người dùng chạy trong một trường VO Hình 1.8 minh hoạ quan điểm của các lập trình viên về kiến trúc Grid Các ứng dụng được xây dựng theo cách sẽ gọi các dịch vụ định nghĩa bởi các tầng phía dưới
Ví dụ: Một chương trình phân tích bộ gen người cần phải chạy hàng ngàn tác vụ độc lập, mỗi tác vụ cần nhiều file chứa thông tin từng phần của bộ gen có thể sử dụng các chức năng Grid sau:
+ Lấy các thông tin, thẻ chứng thực (các protocol tầng Connectivity)
+ Truy vấn hệ thống thông tin Grid và các danh mục để tìm các tài nguyên thích hợp
và vị trí các file dữ liệu đầu vào (Các dịch vụ tầng Collective)
+ Gửi các yêu cầu đến các tài nguyên để thực hiện tính toán, di chuyển dữ liệu, …
và kiểm soát quá trình thực thi công việc, thông báo cho người dùng khi mọi thứ hoàn tất,
dò tìm và phản ứng với các điều kiện gây lỗi (tầng Resource)
Trang 20Hình 1.8: Quan điểm của các lập trình viên về kiến trúc Grid
Các hàm API được cài đặt bằng các bộ công cụ phát triển phần mềm SDK Các hàm API được cài đặt bằng các bộ công cụ phát triển phần mềm (SDK), tới lượt nó, các bộ SDK
sử dụng các Grid protocol để giao tiếp với các service cung cấp các chức năng cho người dùng cuối Các SDK cấp cao có thể cung cấp các chức năng mà không cần gọi trực tiếp một protocol cụ thể nào, chúng có thể kết hợp nhiều hoạt động của các protocol khác nhau bằng cách gọi các hàm API cũng như cài đặt các chức năng cục bộ Các mũi tên đặc đại diện cho các lời gọi trực tiếp, các mũi tên ngắt quãng đại diện cho việc giao tiếp giữa các protocol
Các tầng trong kiến trúc trên có thể được hiện thực hóa bằng nhiều sản phẩm khác nhau, được phát triển bở nhiều nhà phát triển phần mềm, các tổ chức, cộng đồng mã nguồn
mở, các nhà sản suất máy tính trên khắp thế giới
1.4.3 Kiến trúc Grid trong thực tế
Trong thực tế, kiến trúc Grid tổng quan đã được cài đặt và xây dựng như hình 1.9 Kiến trúc gồm 4 tầng tương ứng với các tầng của kiến trúc tổng quát:
Trang 21Hình 1.9: Kiến trúc Grid trong thực tế với các thành phần
Kiến trúc Grid trong thực tế với các thành phần:
- Tầng Fabric (tầng Fabric): Giống với tầng Fabric trong kiến trúc tổng quát.
- Tầng Core Middleware (Connectivity và Resource và nửa dưới của Collective):
Cung cấp các dịch vụ như quản lý tiến trình ở xa, kết hợp, phân phối các tài nguyên, quản lý truy cập không gian lưu trữ, đăng ký và tìm kiếm thông tin, bảo mật và các khía cạnh của QoS như đặt trước, mua bán và trao đổi tài nguyên,… Các dịch vụ này là sự trừu tượng hoá tính phức tạp và đa dạng của các tài nguyên bằng cách cung cấp một phương pháp chung để truy cập tài nguyên
- Tầng User-level Middleware (Collective): Tận dụng các giao diện ở tầng Core
Middleware để cung cấp các dịch vụ có mức độ trừu tượng cao hơn Tầng này bao gồm các môi trường phát triển phần mềm, công cụ lập trình, resource broker, bộ lập lịch,…
Trang 22- Tầng Application và Portal (Aplication): Giống như tầng Fabric trong kiến trúc
tổng quát
1.5. Lợi ích và ứng dụng
Sử dụng Grid Computing có những lợi ích sau:
- Khai thác và tận dụng tài nguyên nhàn rỗi
- Sử dụng CPU song song
- Cho phép hợp tác trên toàn thế giới
- Cho phép chia sẻ và sử dụng tất cả các loại tài nguyên
- Tăng tính tin cậy cho các hệ thống máy tính
- Tăng khả năng quản trị các hệ thống
1.6. Các chuẩn Grid
1.6.1 Open Grid Services Architecture (OGSA)
Chuẩn Open Grid Services Architecture (OGSA) xác định toàn bộ các kết cấu, cấu trúc, dịch vụ cơ bản của một ứng dụng Grid và có thể được áp dụng trong bất kỳ một hệ thống Grid nào Về thực chất, OGSA định nghĩa các dịch vụ Grid (Grid service) là gì, chúng cần có những khả năng gì, được xây dựng trên những công nghệ nào Nó cũng xác định mô hình lập trình cho Grid service Tuy nhiên, OGSA không đi sâu vào mặt kỹ thuật của vấn đề, nó chỉ giúp phân biệt cái gì là Grid và cái gì không phải
OGSA xác định Grid service phải được xây dựng dựa trên các chuẩn về Web service hiện hành, xem Grid service như là các Web service được chỉnh sửa để đáp ứng các yêu cầu mới Ví dụ, bản thân các Grid service được định nghĩa bằng chuẩn WSDL (Web Services Definition Language) với một số mở rộng Điều này rất quan trọng, vì nó cung cấp một loạt các công nghệ dựa theo một chuẩn chung và mở để truy cập nhiều loại Grid service dựa trên các chuẩn hiện hành như SOAP, XML, và WS-Security Với điều kiện như vậy, có thể thêm và tích hợp các Grid service mới một cách đơn giản, dễ dàng Nó cung cấp một phương pháp chung nhất để tìm kiếm, xác định, sử dụng các service mới khi chúng có mặt
Từ đó, giải quyết được vấn đề liên kết hoạt động giữa các Grid và các tài nguyên
1.6.2 Open Grid Services Infrastructure (OGSI)
OGSI là một bản đặc tả chính thức các khái niệm được mô tả trong OGSA OGSI version 1.0 xác định một một tập các service cơ bản, xác định cách xây dựng một Grid service, định nghĩa các hoạt động chung nhất của tất cả các Grid service, vạch ra các cơ chế
để tạo lập; quản lý các Grid service, cơ chế trao đổi thông tin giữa các Grid service
Chuẩn OGSI dựa trên các chuẩn khác như XML, Web service, WSDL, … do đó, nó cũng là một chuẩn mở
1.6.3 Web Services Resource Framework (WSRF)
Trang 23Là một bước phát triển của OGSI, nó kết hợp kiến trúc Grid vào công nghệ Web service hiện hành Thay vì xây dựng một kiểu Grid service mới, những đặc tả này cho phép các service xác định trong OGSI được xây dựng hoàn toàn dựa trên Web service.
Các hệ thống Grid đều cần phải được xây dựng trên một chuẩn chung Hiện nay chỉ
có một chuẩn chung đang được phát triển và được khuyến cáo là nên sử dụng khi xây dựng các hệ thống Grid Chuẩn đó là OGSA và bản đặc tả của nó, OGSI Theo chuẩn OGSA, các
hệ thống Grid được xây dựng xung quanh khái niệm Grid service Grid service cần phải xây dựng dựa trên các công nghệ chuẩn hiện hành, do đócông nghệ Web service được chọn trong hàng loạt các công nghệ như CORBA, RMI, RPC,… Và hiện nay, toàn bộ bản đặc tả OGSI version 1.0 đã được cài đặt cụ thể trong bộ Globus Toolkit từ version 3.0 trở đi, và UNICORE cũng bắt đầu cài đặt lại theo OGSA, OGSI
Trang 24Chương 2 GRID MIDDLEWARE
2.1. Giới thiệu về Grid Middleware
Hệ thống Grid là một tập hợp những tài nguyên tính toán, tài nguyên lưu trữ, tài nguyên kết nối, và thiết bị khoa học Những tài nguyên này là những yếu tố tạo nên phần fabric của Grid Tài nguyên tính toán có thể là siêu máy tính, máy chủ, hệ thống cụm máy tính hoặc là máy tính cá nhân thường là được phân bố trên những vùng địa lí khác nhau, những tổ chức khác nhau Những dụng cụ khoa học như kính thiên văn hoặc mạng cảm biến cung cấp dữ liệu thời gian thực để lưu trữ vào cơ sở
dữ liệu Những thiết bị khoa học này thường không tập trung, không đồng nhất và lai ghép Để sử dụng những tài nguyên này một cách hiệu quả, ta cần phải có một số middleware để truy cập tới tài nguyên trên Grid, điều phối sử dụng tài nguyên theo chính sách của các VO và bảo vệ cho người cung cấp dịch vụ
Grid Middleware cung cấp cho người dùng khả năng tính toán giống nhau trên mọi nền tảng, truy cập đồng nhất vào các tài nguyên không đồng nhất trên Grid Quá trình phát triển phần grid middleware cần phải có khả năng chia sẻ, khả năng sử dụng lại, và khả năng mở rộng để làm giàm thiểu thời gian cần thiết cho việc phát triển và triển khai lại Grid middleware là một tập hợp những API, giao thức, và phần mềm cho phép tạo ra và sử dụng hệ thống Grid Mặc dù grid thường được sử dụng bên trong một hoặc một số tổ chức, và việc phát triển các API như là một phần của các middleware là có thể nhưng nó không cung cấp một giao diện trừu tượng cho những dự án thực tế Bởi vì sự phức tạp trong kiến trúc của Grid và sự đa dạng
về tính năng nên sự tương tác giữa middleware và những phần mềm khác là rất cần thiết Để dễ dàng ứng dụng vào thực tế, một grid middleware thường có kiến trúc phân tầng
Trang 25Trong kiến trúc chung của một Grid, tầng dưới cùng, là tầng fabric – tập hợp các nguồn tài nguyên trên Grid, tầng trên cùng là lớp ứng dụng Tầng middleware là tầng nằm giữa hai tầng trên Ngoài ra tầng middleware còn có thể chia thành hai tầng con tách biệt Theo cách tiếp cận này thì toàn bộ grid gồm bốn thành phần: fabric, core middleware, user-level middleware, ứng dụng và portal Hình dưới đây minh họa kiến trúc của Grid và Grid middleware ở trong đó.
Hình 2.1: Mô hình Grid
Trong mô hình này, tầng middleware được chia làm hai thành mức: core middleware và useer-level middleware Core middleware cung cấp những dịch vụ cơ bản như là quản lý công việc từ xa, đăng ký tài nguyên, truy xuất dữ liệu, đăng ký thông tin
Trang 26dịch vụ, phát hiện dịch vụ, bảo mật và chất lượng dịch vụ như đặt chỗ tài nguyên Những dịch vụ này có nhiệm vụ trừu tượng hóa, che dấu sự phức tạp và không đồng nhất của tầng fabric bằng cách cung cấp một phương thức duy nhất và ổn định để truy cập tới những tài nguyên phân bố trên Grid User-level middleware là một dạng middleware mà trong đó có
sử dụng những giao diện đã được cung cấp ở lớp dưới để tạo nên những dịch vụ ở mức cao hơn Đó là những bộ công cụ phát triển, môi trường phát triển, quản lý tài nguyên và định thời cho những ứng dụng chạy trên một tài nguyên chung
2.2. Những chức năng của Grid Middleware
Những thành phần trong Grid Middleware cung cấp cho người dùng những chức năng cần thiết để tối ưu việc sử dụng Grid Những chức năng này gồm có chức năng cơ bản như: xác thực, cấp quyền, truy cập tài nguyên, truyền tải dữ liệu và giám sát Ngoài ra còn
có những chức năng phức tạp khác như quản lý tài nguyên, đăng ký tài nguyên, quản lý công việc, quản lý thông tin có thể được phát triển dựa trên những chức năng cơ bản
2.2.1 Những chức năng cơ bản trong Grid Middleware
Những chức năng cơ bản trong Grid middleware gồm có thực thi công việc, bảo mật, dịch vụ thông tin và truyền tải file
Dịch vụ thực thi công việc hỗ trợ việc nhận công việc để chạy trên một tài nguyên ở xa Trên tài nguyên này đã được thiết lập những yếu tố bảo mật do dịch vụ bảo mật cung cấp để những người có đúng thẩm quyền mới được sử dụng Cơ chế bảo mật có liên quan đến xác thực người dùng, cấp quyền, và truy xuất thông tin an toàn đến tài nguyên trên lưới Trong quá trình thực thi, dịch vụ này phải cung cấp được thông tin về tiến độ và trạng thái của công việc Do đó việc quản lý các công việc này đều dựa vào một mã số duy nhất ở trong tài nguyên grid nhằm tạo thuận lợi cho việc quản lý cũng như là lập lịch để chạy chúng
Dịch vụ bảo mật cung cấp cơ chế xác thực và cấp quyền cho người sử dụng
để truy xuất tới tài nguyên trên grid Những cơ chế này được dựa trên nền bảo mật của mạng máy tính Những giao thức và phương thức cổ điển của bảo mật mạng đã được ứng dụng vào Grid như mã hóa, chữ ký số và nhiều cơ chế bảo mật cơ bản khác Đối với việc xác thực người dùng thì PKI và Kerberos là hai cơ chế được sử dụng nhiều nhất Ngoài ra hệ thống Grid cần phải hỗ trợ chế độ đăng nhận một lần
Trang 27(single sign-on) để hỗ trợ việc thực thi các công việc cần sử dụng những tài nguyên trên grid ở nhiều site khác nhau, trường hợp này người ta thường sử dụng một chứng nhận ủy quyền để thực hiện.
Dịch vụ thông tin: thông tin trên môi trường grid luôn luôn biến động như trạng thái của tài nguyên, một tài nguyên có thể được kết nối hoặc ngắt kết nối ra khỏi grid bất kì lúc nào, địa chỉ của những dịch vụ có thể bị thay đổi Một dịch vụ thông tin cung cấp khả năng truy vấn thông tin về tài nguyên và những dịch vụ, ví
dụ như mức độ hoạt động của CPU, tổng dung lượng bộ nhớ còn trống hay đã sử dụng, trạng thái của một dịch vụ Những thông tin này sẽ được ghi lại và được phân tích nhờ những dịch vụ mức cao hơn như thực thi công việc Gần đây, dịch vụ thông tin thường được gắn kèm với web ngữ nghĩa để cung cấp khả năng truy vấn thông tin hiệu quả hơn
Truyền tải dữ liệu: cung cấp khả năng truyền dữ liệu an toàn và hiệu quả mà một công việc cần từ địa chỉ gốc tới nút tính toán, truy xuất cần thiết Người sử dụng chỉ cần ra một lệnh đơn giản kiểu như: “chuyển file A từ máy chủ X tới máy chủ Y với tên mới là file B một cách nhanh nhất có thể” Một số chức năng phụ như chia nhỏ file lên nhiều nơi hoặc truyền tải dữ liệu song song thường được áp dụng khi có lượng dữ liệu lớn
2.2.2 Những chức năng nâng cao của Grid Middleware
Dựa trên những chức năng cơ bản được cung cấp bởi Grid Middleware, một
số lượng các dịch vụ cấp cao hơn, phức tạp hơn được phát triển thêm Dịch vụ quản
lý file, dịch vụ quản lý thông tin và dịch vụ quản lý công việc có thể được coi là các thành phần chính của các dịch vụ loại này
Dịch vụ quản lý file: cho phép người sử dụng điều khiển quá trình truyền tải file và giám sát trạng thái của chúng Grid Middleware cần phải cung cấp những chức năng này cho người sử dụng và che giấu hiện thực phức tạp bên trong Dịch vụ
Trang 28replica là một phương pháp để tăng cường dư thừa dữ liệu nhằm mục đích giảm bớt chi phí chuyển đổi file Một tập hợp các dịch vụ liên replica được cung cấp bởi middleware như dịch vụ theo dõi vị trí của replica, quản lý replica.
Quản lý thông tin cho phép truy vấn thông tin về dung lượng lưu trữ và tài nguyên tính toán cũng như thông tin xuất ra từ những thành phần khác trong Grid
Nó cũng bao gồm trạng thái thực thi các công việc để sử dụng cho việc thu thập, lưu trữ và phân tích Thông tin về tài nguyên và cách truy cập các tài nguyên đó sẽ cung cấp cho người sử dụng một cái nhìn tổng quát về sự chiếm dụng tài nguyên trên Grid Ngoài ra, dịch vụ thông tin này thường đi kèm với dịch vụ giám sát Dịch vụ thông tin và giám sát giúp cho người sử dụng tìm kiếm tài nguyên và thông tin liên quan tới tài nguyên đó nên nó giữ một vai trò rất quan trọng trong hệ thống Grid
Quản lý công việc là một dịch vụ khá quan trọng khác nhằm giải quyết sự liên quan giữa những dịch vụ với nhau như bảo mật, truyền tải dữ liệu và dịch vụ thông tin Một công việc được người dùng nhập vào thường có nhiều công việc con bên trong và sử dụng dữ liệu lớn, và có thể là khối lượng tính toán lớn, khả năng chịu lỗi
2.3. Một số Grid Middleware tiêu biểu