Tải bản đầy đủ (.docx) (57 trang)

Tiểu luận môn điện toán lưới và đám mây TÌM HIỂU VỀ CÔNG NGHỆ GRID COMPUTING VÀ GRID MIDDLEWARE

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.43 MB, 57 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

PHÒ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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
TP. Hồ Chí Minh, tháng 6 năm 2014
LỜI CẢM ƠN
Tô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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Mục Lục
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
DANH MỤC HÌNH


GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 5
Chương 1
TỔNG QUAN VỀ GRID COMPUTING
1.1. Khái quát về Grid Computing
1.1.1. Lịch sử hình thành
Công nghệ Grid Computing được nhắc đến rất nhiều trong thời gian gần đây, nhưng
thực ra nhiều ý tưởng cơ bản về Grid đã xuất hiện dưới dạng này hay dạng khác trong lịch
sử tính toán.
Những năm 60 – 70 của thế kỷ XX, ý tưởng “chia sẻ năng lực tính toán” đã xuất
hiện. Khi đó, năng lực tính toán được chia sẽ từ các máy mainframe.
Năm 1965, những người phát triển hệ điều hành Multics (tiền thân của hệ điều hành
Unix) đã đề cập đến việc sử dụng năng lực tính toán như một tiện ích, một quan điểm rất
gần với quan điểm về Grid hiện nay. Đó là một hệ thống cung cấp năng lực tính toán tương
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”.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây 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.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây 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.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 8
Hì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.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 9
1.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.
Hình 1.2: Các đồ hình của Grid
 Simple Grid
Như trên Hình 1.3, một SimpleGrid chỉ bao gồm vài máy tính, tất cả đều có cùng
kiến trúc phần cứng, chạy cùng một hệ điều hành, kết nối vào mạng cục bộ. Dạng Grid này
sử dụng các hệ thống đồng nhất nên ít phức tạp, thường chỉ dùng để thử nghiệm, làm quen
với các phần mềm Grid. Các máy tính thuộc một phòng ban trong tổ chức nên việc sử dụng
chúng cho Grid không cần các chính sách đặc biệt về quản lý cũng như bảo mật. Các máy
tính chạy cùng hệ điều hành, cùng kiến trúc phần cứng nên việc chọn các phần mềm ứng
dụng khá đơn giản, dễ dàng. Đồ hình này khiến người ta liên tưởng đến các cluster hơn là
Grid.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 10
Hì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.

GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 11
Hì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.
 Extragrid
Vẫn trong cùng một tổ chức, ExtraGrid là sự kết hợp 2 hay nhiều IntraGrid. Như
trong Hình 1.5, ExtraGrid liên quan đến nhiều vùng quản lý khác nhau, phân tán theo địa
lý, sử dụng các kết nối truy cập từ xa hay WAN, do đó độ phức tạp trong quản lý tăng lên
rất nhiều. Đối với ExtraGrid, các tài nguyên mang tính động hơn, Grid cần phải linh động
trong việc quản lý các tài nguyên, cần có cơ chế kiểm soát và phục hồi lỗ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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây 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)
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 13
Truy 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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 14
Cò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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt

Điện toán lưới và đám mây Trang 15
cho 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:
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 16
Hì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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 17
Tầ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à đủ.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 18
Cá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ể
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 19
chỉ 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).
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 20
Hì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:
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 21
Hì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,…
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây 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)
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 23
Là 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.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 24
Chươ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.
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt
Điện toán lưới và đám mây Trang 25
Trong 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
GVHD: PGS. TS. Nguyễn Phi Khứ HVTH: Nguyễn Văn Kiệt

×