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

Tiểu luận môn tính toán lưới Các mô hình Cloud Computing

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.06 MB, 40 trang )

Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Mục lục
Trần Quang Phát – CH1101119 1 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Chương I
TỔNG QUAN VỀ TÍNH TOÁN LƯỚI
I. Khái niệm về tính toán lưới
Cũng như các công nghệ tính toán khác, tính toán lưới (grid computing) ra đời xuất phát từ nhu cầu tính
toán của con người. Thực tế, ngày càng có nhiều bài toán phức tạp hơn được đặt ra và do đó các tổ chức
cũng cần phải có những năng lực tính toán mạnh mẽ hơn. Có thể giải quyết vấn đề này bằng hai cách:
• Cách thứ nhất: đầu tư thêm trang thiết bị, cơ sở hạ tầng tính toán (mua thêm máy chủ, máy trạm,
siêu máy tính, cluster ). Rõ ràng là cách làm này hết sức tốn kém.
• Cách thứ hai: một cách thực hiện hiệu quả hơn là phân bố lại hợp lý các nguồn tài nguyên trong tổ
chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (dĩ nhiên là với chi phí rẻ hơn nhiều so
với việc đầu tư cho cơ sở hạ tầng tính toán). Thực tế cho thấy có một phần lớn các nguồn tài
nguyên của chúng ta đang bị sử dụng lãng phí, ví dụ như các máy để bàn công sở thường chỉ hoạt
động khoảng 5% công suất, ngay cả các máy chủ cũng có thể chỉ phải hoạt động với 20% công
suất. Việc tận dụng hiệu quả các nguồn tài nguyên này có thể mang lại một sức mạnh tính toán
khổng lồ.
Cách giải quyết thứ hai này chính là mục tiêu của tính toán lưới. Tính toán lưới hướng đến việc chia sẻ và
sử dụng hiệu quả các nguồn tài nguyên thuộc về nhiều tổ chức trên một quy mô rộng lớn (thậm chí là quy
mô toàn cầu). Chính các công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm qua đã
biến những khả năng này dần trở thành hiện thực. Các nghiên cứu về tính toán lưới đã và đang được tiến
hành nhằm tạo ra một cơ sở hạ tầng lưới cho phép dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và
phân tán trong môi trường lưới.
1. Các thách thức mà công nghệ tính toán lưới đang phải giải quyết:
• Các tài nguyên hết sức đa dạng, không đồng nhất. Tài nguyên ở đây được hiểu theo nghĩa hết sức
tổng quát. Đó có thể là các tài nguyên phần cứng: tài nguyên tính toán, tài nguyên lưu trữ, các
thiết bị đặc biệt khác các tài nguyên phần mềm: các CSDL, các phần mềm đặc biệt và đắt giá
các đường truyền mạng Các tài nguyên này có thể rất khác nhau về mặt kiến trúc, giao diện, khả
năng xử lý Việc tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các


nguồn tài nguyên này hoàn toàn không dễ dàng. Ban đầu tính toán lưới được đặt ra chủ yếu là để
tận dụng các nguồn tài nguyên tính toán nhưng hiện nay mục tiêu của nó đã được mở rộng sang
rất nhiều nguồn tài nguyên khác như đã kể trên.
• Các tài nguyên không chỉ thuộc về một tổ chức mà thuộc về rất nhiều tổ chức tham gia lưới. Các
tổ chức phải tuân thủ một số quy định chung khi tham gia vào lưới còn nhìn chung là hoạt động
độc lập tức là các tài nguyên này đều có quyền tự trị. Các tổ chức khác nhau thường có chính sách
sử dụng hay cho thuê tài nguyên của họ khác nhau và do vậy cũng gây khó khăn cho việc quản lý.
• Các tài nguyên phân tán rộng khắp về mặt địa lý do vậy phải có các cơ chế quản lý phân tán.
• Đảm bảo an toàn thông tin cho một môi trường phức tạp như môi trường lưới là rất khó khăn
trong khi đây là một trong những điểm ưu tiên hàng đầu.
Trần Quang Phát – CH1101119 2 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
2. Các định nghĩa tính toán lưới
Khái niệm Tính toán lưới đã bắt đầu xuất hiện vào đầu thập niên 90 với nghĩa ẩn dụ là làm cho việc sử
dụng sức mạnh của máy tính dễ dàng như là việc sử dụng điện năng. Ngày nay có rất nhiều định nghĩa về
tính toán lưới.
Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau:
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân
tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêu
cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy mô 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à 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”.
Một hệ thống Grid có 3 đặc điểm chính:
• 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ụ.
Hình: Mô hình Grid Computing (Presented by Nazia leyla)
Ngoài ra còn rất nhiều định nghĩa khác về tính toán lưới như:

• Plaszczak/Weller định nghĩa kỹ thuật lưới là “kỹ thuật cho phép ảo hoá tài nguyên dự trữ theo yêu
cầu, và chia sẻ dịch vụ, tài nguyên giữa các tổ chức”.
• IBM thì định nghĩa: lưới là khả năng sử dụng một tập các nguồn mở và giao thức để có thể truy
cập tới các ứng dụng và dữ liệu, năng lực xử lý, khả năng lưu trữ và một loạt các tài nguyên tính
toán khác trên Internet. Một lưới là một loại hệ thống song song và phân tán cho phép chia sẻ giữa
nhiều khu vực dựa trên sự sẵn có, dung lượng, hiệu năng, giá cả và các yêu cầu về chất lượng dịch
vụ của người sử dụng.
• Buyya định nghĩa lưới là “một kiểu hệ thống song song và phân tán cho phép chia sẻ, lựa chọn và
kết hợp động các tài nguyên phân tán theo địa lý tại thời điểm thực thi dựa trên sự sẵn sàng, dung
lượng, hiệu năng, giá và những yêu cầu về chất lượng dịch vụ.
Trần Quang Phát – CH1101119 3 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
• CERN, một trong những tổ chức lớn nhất sử dụng công nghệ lưới, nói về lưới như sau: một dịch
vụ để chia sẻ năng lực của máy tính và dung lượng lưu trữ dữ liệu qua Internet.
Bản chất của tính toán lưới giống một nền tảng dạng khái niệm hơn là một tài nguyên vật lý. Lưới được
tận dụng để cung cấp tài nguyên cho một nhiệm vụ tính toán. Mục tiêu của công nghệ lưới liên quan tới
những yêu cầu của việc cung cấp tài nguyên linh hoạt vượt ra khỏi các khu vực cục bộ.
II. So sánh tính toán lưới với một số mô hình tính toán khác
• World Wide Web (Web computing): WWW hiện nay đang phát triển mạnh mẽ và được sử dụng
rộng khắp. Sử dụng các chuẩn mở và các giao thức mở (TCP, HTTP, XML, SOAP), WWW có
thể được sử dụng để xây dựng các tổ chức ảo tuy nhiên nó thiếu một số đặc tính quan trọng như
các cơ chế chứng thực một lần, ủy nhiệm, các cơ chế phối hợp sự kiện
• Các hệ thống tính toán phân tán (Distributed computing systems): các công nghệ tính toán phân
tán hiện tại bao gồm CORBA, J2EE và DCOM rất thích hợp cho các ứng dụng phân tán tuy nhiên
chúng không cung cấp một nền tảng phù hợp cho việc chia sẻ tài nguyên giữa các thành viên của
tổ chức ảo. Một số khó khăn có thể kể ra trong việc khai phá tài nguyên, đảm bảo an ninh và xây
dựng động các tổ chức ảo. Thêm nữa việc tương tác giữa các công nghệ này cũng gặp phải khó
khăn. Tuy nhiên cũng đã có một số nghiên cứu nhằm mở rộng những công nghệ này cho môi
trường lưới, ví dụ như Java JINI.
• Các hệ thống tính toán ngang hàng (Peer - to - peer Computing Systems): Tính toán ngang hàng

cũng là một lĩnh vực của tính toán phân tán. Những điểm khác biệt chính giữa tính toán ngang
hàng và tính toán lưới là:
• Tính toán lưới có cộng đồng người sử dụng có thể nhỏ hơn tuy nhiên tập trung nhiều vào
các ứng dụng và có yêu cầu cao hơn về an ninh cũng như tính toàn vẹn của ứng dụng.
Trong khi đó các hệ thống mạng ngang hàng có thể có số người sử dụng rất lớn bao gồm
cả các người dùng đơn lẻ và các tổ chức tuy nhiên không đòi hỏi cao về an ninh và mô
hình chia sẻ tài nguyên cũng đơn giản hơn.
• Môi trường lưới liên kết các nguồn tài nguyên mạnh hơn, đa dạng hơn và chặt chẽ hơn.
• Tính toán phân cụm: tính toán lưới thường bị nhầm lẫn với tính toán phân cụm. Tuy nhiên sự khác
biệt chính giữa hai kiểu tính toán này là: một cụm tính toán là một tập đơn các nút tính toán tập
trung trên một khu vực địa lý nhất định, trong khi một lưới bao gồm nhiều cụm tính toán và những
loại tài nguyên khác như: mạng, các thiết bị lưu trữ,
III. Những ưu điểm khi sử dụng Grid Computing
1. Khai thác, tận dụng các tài nguyên nhàn rỗi
Hầu hết các tổ chức đều có một lượng lớn các tài nguyên tính toán nhàn rỗi, các máy tính cá nhân thường
chỉ sử dụng hết 5% thời gian xử lý CPU, ngay cả các server cũng thường “rảnh rỗi”. Grid có thể tối ưu sử
dụng các tài nguyên nhàn rỗi này theo nhiều cách khác nhau, ví dụ: gửi một công việc trên một máy tính
đang bận rộn đến một máy khác rảnh rỗi hơn để xử lý, hoặc phân nhỏ một công việc thành các công việc
con rồi gửi các công việc con đến các máy tính nhàn rỗi khác cho xử lý song song, …
Một chức năng của Grid nữa là cân bằng sử dụng tài nguyên tốt hơn. Một tổ chức thường gặp các vấn đề
khó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn. Với Grid, có thể chuyển hoạt động đến
các tài nguyên nhàn rỗi khác, hoặc có thể thêm các tài nguyên mới một cách dễ dàng, từ đó làm tăng khả
năng chịu đựng của hệ thống.
Trần Quang Phát – CH1101119 4 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
2. Sử dụng CPU song song
Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid, ngoài việc hỗ trợ các nhu cầu
tính toán của các nhà khoa học, sức mạnh tính toán do Grid cung cấp có thể giúp giải quyết các bài toán
đòi hỏi năng lực xử lý lớn trong các ngành khác như: y dược, tính toán tài chính, kinh tế, khai thác dầu
hoả, dự báo thời tiết, công nghiệp vũ trụ, thiết kế sản phẩm, … và rất nhiều lĩnh vực khác.

3. Cho phép hợp tác trên toàn thế giới
Một trong những đóng góp quan trọng của công nghệ Grid Computing là cho phép và đơn giản hoá hợp
tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên toàn thế giới. Các công nghệ tính toán phân tán
trước đây cũng cho phép hợp tác nhưng chỉ trong một phạm vi nhỏ, còn Grid cho phép mở rộng trên
phạm vi toàn cầu khi đưa ra những chuẩn quan trọng cho phép các hệ thống không đồng dạng làm việc
chung với nhau để tạo nên một hệ thống tính toán ảo cung cấp rất nhiều dạng tài nguyên khác nhau.
4. Cho phép chia sẻ, sử dụng tất cả các loại tài nguyên
Không chỉ cho phép chia sẻ các chu kỳ tính toán, dữ liệu, Grid có thể cho phép chia sẻ tất cả các loại tài
nguyên mà trước đây chưa được chia sẻ, như băng thông mạng, các thiết bị đặc biệt, phần mềm, bản
quyền, các dịch vụ, … Ví dụ: nếu một người dùng muốn tăng băng thông kết nối Internet của mình lên để
thực hiện một ứng dụng khai thác dữ liệu,thì anh có thể có thể gửi ứng dụng đó đến nhiều máy tính trong
Grid có các kết nối Internet riêng, từ đó băng thông truy cập Internet của anh ta tăng lên rất nhiều lần,…
5. Tăng tính tin cậy cho các hệ thống máy tính
Hiện nay, các hệ thống tính toán sử dụng các phần cứng chuyên dụng, đắt đỏ để tăng độ tin cậy. Ví dụ:
một máy tính có thể sử dụng các bộ vi xử lý đôi (lõi kép) hoặc lõi tứ, cho phép “cắm nóng”, để khi có
một vi xử lý bị hỏng, có thể thay thế cái khác mà không làm ngưng hoạt động của hệ thống. Các giải pháp
này làm tăng độ tin cậy của hệ thống, tuy nhiên với chi phí quá đắt khi phụ kiện đi kèm cũng phải nhân
lên. Trong tương lai, các hướng tiếp cận mới để giải quyết vấn đề độ tin cậy dựa nhiều hơn vào các công
nghệ phần mềm hơn là các phần cứng đắt tiền. Grid là sự khởi đầu cho các công nghệ đó. Các hệ thống
trong Grid thường rẻ và phân tán theo địa lý, do đó, nếu có sự cố về nguồn điện hay các lỗi hệ thống khác
tại một vị trí, toàn bộ phần còn lại không bị ảnh hưởng. Các phần mềm quản trị Grid có khả năng thực thi
lại công việc trên một node khác khi phát hiện có lỗi hệ thống. Nếu quan trọng hơn nữa, trong các hệ
thống theo thời gian thực, nhiều bản dự phòng của các các công việc quan trọng có thể được chạy trên
nhiều máy tính khác nhau trong Grid để đảm bảo độ tin cậy tối đa.
6. Tăng khả năng quản trị các hệ thống
Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các hệ thống hỗn tạp đem
lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạ tầng công nghệ thông tin lớn, phân tán.
Trần Quang Phát – CH1101119 5 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
www.it.uom.gr

Ở trên chúng ta giới thiệu một số ưu điểm khi sử dụng công nghệ Grid Computing, Grid còn mang lại rất
nhiều lợi ích và ưu điểm khác mà không thể kể hết ở đây, tùy vào tình huống cụ thể mà đem lại các lợi
ích khác nhau. Vấn đề là phải hiểu rõ bản chất Grid, sử dụng tốt các công cụ nhằm khai khác tốt nhất
trong các tình huống cụ thể.
IV. Các thành phần cơ bản của một hệ thống 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ác 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. Do đó, 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.
Phần này sẽ giới thiệu tổng quan về các thành phần chính yếu của một môi trường Grid. Tuỳ theo thiết kế
và cách sử dụng Grid, 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. Portal/Giao diện người dùng
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 thuộc một trong hai 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 trong Grid như trong 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.
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.
Trần Quang Phát – CH1101119 6 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
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.
4. Quản lý phân tán
Các lưới được cài đặt trên phạm vi rộng lớn thường có cấu trúc hình cây hay các dạng hình phù hợp với
dạng kết nối. Theo đó, các máy tính được kết nối thông qua mạng LAN tạo thành các cluster. Các lưới có
thể được tạo nên từ các cluster của các cluster này. Vì thế đòi hỏi phải có các thủ tục quản lý các lưới
phân tán sao cho đạt hiệu quả tính toán cao nhất. Các thao tác trên lưới cũng như các thủ tục chia sẻ dữ
liệu và lập lịch phải phù hợp với cấu hình của lưới. Ví dụ: bộ lập lịch trung tâm sẽ không gán trực tiếp
công việc cho một máy cụ thể mà gán cho một cluster ở dưới nó, sau đó bộ lập lịch của cluster này mới
thực hiện gán công việc cho một máy cụ thể trong cluster đó. Tương tự như thế khi một máy đệ trình một
công việc nào đó, công việc này sẽ được chuyển tới bộ quản lí của cluster chứa máy thành phần, sau đó
được tiếp tục chuyển lên bộ quản lí cao hơn để từ đó thực hiện lập lịch cho công việc này.
5. Bộ lập lịch
Phần lớn các lưới tính toán đều có các phần mềm lập lịch, các phần mềm này có nhiệm vụ chọn ra các
máy thành phần để thực thi các công việc được đệ trình tại một máy nào đó. Cơ chế lập lịch đơn giản nhất
là cơ chế round-robin, tức là hệ thống sẽ chọn máy tiếp theo có các tài nguyên đáp ứng như cầu của công
việc để thực thi. Tuy vậy trong các hệ thống tiên tiến thì cơ chế lập lịch phức tạp và hiệu quả hơn sẽ được
áp dụng.
Một số bộ lập lịch thực hiện gán ưu tiên cho từng công việc. Điều này được thực hiện bằng cách duy trì
các hàng đợi công việc, mỗi hàng đợi chứa một tập các công việc với cùng mức ưu tiên. Khi một máy đã
thực hiện xong công việc của mình, nó sẽ chọn tiếp một công việc ở hàng đợi có mức độ ưu tiên cao nhất.
Cơ chế này sẽ được kết hợp với một số quy định khác dựa trên cơ sở là các tài nguyên người sử dụng …
Ví dụ như một tài nguyên trong tổ chức có thể bị hạn chế sử dụng trong khoảng thời gian nào đó trong
ngày.
Bộ lập lịch phải dựa vào các thông tin như tải của lưới, các thông tin được đo lường như tỉ lệ tài nguyên
được sử dụng để có thể quyết định xem máy thành phần có bận không trước khi đệ trình một công việc.
Cũng như tổ chức của mạng, bộ lập lịch cũng có thể được tổ chức theo cấu trúc cây. Ví dụ: bộ siêu lập
lịch (meta-scheduler) sẽ đệ trình một công việc tới một bộ lập lịch ở mức dưới chứ không phải là một
máy thành phần cụ thể.
Các bộ lập lịch tiên tiến hơn còn có các chức năng theo dõi quá trình thực hiện của các công việc trong

lưới, từ đó có thể quản lí được luồng công việc của toàn bộ hệ thống. Nếu một công việc bị ngừng do
thiếu tài nguyên hệ thống, bộ lập lịch tốt phải có nhiệm vụ đệ trình lại công việc tại một nơi khác trong hệ
thống. Tương tự như vậy, khi tiến trình rơi vào trạng thái lặp vô hạn và đạt tới thời gian giới hạn thì công
việc đó sẽ không được thực hiện lại nữa. Thường thì mỗi công việc sẽ có một mã trả về khi kết thúc. Điều
này sẽ giúp thực hiện các hoạt động sau này ( ví dụ có phải thực hiện lại hay không).
Việc đặt trước các tài nguyên để phục vụ cho việc thực hiện các công việc sau này được thực hiện bởi các
hệ thống đặt trước chuyên dụng. Đây thực chất không phải bộ lập lịch thông thường, mà trước hết nó như
bộ lịch công tác quy định các công việc cụ thể trong một khoảng thời gian nhất định và bảo vệ các tài
nguyên được sử dụng khỏi sự chiếm dụng của các tiến trình khác. Nó còn có khả năng dừng các công
việc đang thực hiện khi tới thời gian được đặt từ trước.
Trần Quang Phát – CH1101119 7 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
6. Các thành phần truyền thông
Hệ thống lưới có thể có các phần mềm giúp các tiến trình có thể liên lạc với nhau. Ví dụ: trong trường
hợp một công việc được chia thành nhiều công việc nhỏ khác nhau, các công việc này được thực hiện
riêng lẻ trên lưới. Tuy vậy, có thể các công việc này phải sử dụng kết quả của công việc khác. Điều này
dẫn đến việc các công việc phải có khả năng liên kết với nhau. Các phần mềm truyền thông sẽ giúp một
tiến trình có khả năng liên lạc với các tiến trình khác, gửi và nhận các dữ liệu cần thiết. Trong hệ thống có
thể sử dụng chuẩn giao diện MPI (Message Passing Interface) và một số chuẩn khác để thực hiện các liên
kết này.
7. Các thành phần quản lý, theo dõi và đo lường
Như ta đã đề cập trên các hoạt động lập lịch đòi hỏi phải có các thông tin về hệ thống hiện tại như các
máy nào sẵn dùng, tỉ lệ tài nguyên được sử dụng, tải của các nút lưới … Thông thường các phần mềm
donor sử dụng một số công cụ của hệ điều hành hoặc trực tiếp đo các thông số này. Các phần mềm này
đôi khi còn được gọi là “sensor tải”. Các thông tin này không những có giá trị với việc lập lịch mà nó đo
lường được khả năng sử dụng lưới. Các thông số này có thể dự báo cho người quản trị thấy được xu
hướng của lưới và các thiết bị có thể cần thiết phải thêm vào hệ thống.
Các thông tin đo lường có thể tiết kiệm cho mục đích kế toán, là cơ sở cho thủ tục môi giới tài nguyên,
quản lý ưu tiên dễ dàng hơn. Người ta có thể thể hiện các thông tin đo lường dưới các dạng biểu diễn
khác nhau sao cho trực quan đối với người sử dụng nhất.

V. Kiến trúc Grid
1. Bản chất Kiến trúc 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 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 hai 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.
Trần Quang Phát – CH1101119 8 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Để 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 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.
2. Chi tiết Kiến trúc Grid tổng quát
Sau nhiều 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 bên dưới. 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 kỳ tầng lướ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ở.
Kiến trúc này chỉ quy định các yêu cầu chung nhất về thiết kế và triển khai với mục đích chính là để tham
khảo. Việc xây dựng, cài đặt cụ thể tuỳ thuộc vào từng dự án, từng lĩnh vực ứng dụng.
Hình: Kiến trúc Grid tổng quát
Trần Quang Phát – CH1101119 9 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
2.1. 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 bên dưới 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 tập tin 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 tập
tin 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).
Hình: Quan điểm của các lập trình viên về kiến trúc Grid
Theo hình trên, 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 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 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 prtocol khác nhau bằng các 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.
2.2. Tầng Collective
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, …
Trần Quang Phát – CH1101119 10 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
• 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 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 tài 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 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ể 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.
2.3. 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 hai 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
Trần Quang Phát – CH1101119 11 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
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à đủ.
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.
2.4. Tầng Connectivity
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 của 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 bộ 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ì 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.
2.5. 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 tập tin 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 thự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ụ.
3. Chuẩn hoá Grid
Một trong những vấn đề lớn của bất kỳ công nghệ tính toán nào là làm sao để các thành phần khác nhau
có thể “nói chuyện” được với nhau. Không có gì quan trọng hơn việc làm cho các nền tảng khác nhau
giao tiếp được với nhau. Đây cũng là một trong những thách thức của công nghệ Grid Computing. Bởi vì
công nghệ Grid computing cần phải đáp ứng nhiều nhu cầu khác nhau, hỗ trợ nhiều loại công nghệ, tài
Trần Quang Phát – CH1101119 12 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
nguyên, trải rộng khắp thế giới, do nhiều tổ chức tham gia xây dựng, nên để các thành phần Grid, ứng
dụng Grid tương thích được với nhau cần phải có một chuẩn chung, một ngôn ngữ chung thống nhất cho
toàn bộ nền công nghệ.
Trong công nghệ Grid Computing, việc thiếu chuẩn hóa sẽ dẫn đến toàn bộ các công ty, tổ chức, nhà phát

triển xây dựng, phát triển công nghệ với các kỹ thuật và giải pháp khác nhau. Trong thế giới riêng của
mỗi nhóm phát triển Grid thì có thể không là vấn đề lớn, nhưng khi mở rộng môi trường Grid, liên kết các
nhóm vào thế giới rộng hơn thì đây lại là vấn đề lớn, nó sẽ gây ra sự chia cắt, bất đồng và nhiều hạn chế
khác.
Việc xây dựng và áp dụng các chuẩn trong Grid mang lại lợi ích rất lớn, cơ bản nhất là mang lại khả năng
mở rộng các số lượng tài nguyên sẵn sàng cho Grid. Bên cạnh đó, còn mang lại nhiều lợi ích khác như:
• Liên kết hoạt động: cho phép các hệ thống Grid có thể được thiết kế và phát triển theo nhiều
ngôn ngữ lập trình, nhiều môi trường, nhiều nền tảng khác nhau một cách dễ dàng và hiệu quả.
• Tăng tính mềm dẻo: với sự chuẩn hóa, người dùng có thể chuyển đổi qua lại giữa các hệ thống
Grid, có nhiều lựa chọn hơn trong việc xây dựng các dự án.
• Tăng năng lực của Grid: khi có nhiều môi trường và nền tảng được hỗ trợ hơn, khả năng phát
triển các dịch vụ sẽ dễ dàng hơn, và từ đó sẽ làm tăng năng lực của hệ thống Grid.
• Tăng tốc độphát triển ứng dụng: sử dụng các bộ toolkit được chuẩn hóa sẽ làm giảm thời gian
xây dựng, phát triển các hệ thống Grid. Thay vì dành nhiều thời gian cho việc xây dựng các chức
năng giao tiếp, các hệ thống quản lý, với việc sử dụng các hệ thống chuẩn hoá có sẵn, các nhà
phát triển ứng dụng sẽ có nhiều thời gian hơn để tối ưu các chức năng xử lý dữ liệu.
Phân tích như trên cho thấy việc xây dựng các chuẩn là cần thiết. Để đáp ứng nhu cầu đó, tổ chức Global
Grid Forum (GGF) ra đời với thành viên là hầu hết các nhà nghiên cứu, các tổ chức hàng đầu trong việc
xây dựng công nghệ Grid Computing. GGF đã và đang phát triển các chuẩn về Grid Computing như:
Open Grid Services Architecture (OGSA), Open Grid Services Infrastructure (OGSI), Web Services
Resource Framework (WSRF).
Mục tiệu của OGSA và OGSI nhằm xây dựng một nền tảng để hỗ trợ việc xây dựng một tập các dịch vụ
có thể được tìm thấy và được gọi bởi bất kỳ hệ thống nào trong Grid. Mục tiêu chính là định nghĩa được
các giao diện dịch vụ (service interface) hoàn toàn độc lập với các cài đặt cụ thể bên dưới, điều đó sẽ giúp
cung cấp các dịch vụ OGSA trên bất kỳ thiết bị tính toán nào kết nối với Grid.
3.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.
Trần Quang Phát – CH1101119 13 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
3.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ở.
3.3. Web Services Resource Framework (WSRF)
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.
Nhìn chung, 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.
Hình: Mối quan hệ giữa các chuẩn về Grid Service

Theo hình trên , OGSA định nghĩa và dựa trên Grid service, OGSI đặc tả Grid service theo OGSA, Grid
service là một mở rộng của Web service, một công nghệ cho phép các thành phần phân tán giao tiếp với
nhau, GT là một bản cài đặt hoàn chỉnh OGSI với ngôn ngữ Java.
VI. Cơ chế bảo mật trong Grid Computing
1. Những thách thức bảo mật trong tính toán lưới
An ninh trong môi trường tính toán lưới phải đáp ứng được những yêu cầu về tính toán diện rộng, tính
“động” của hệ thống, và phân phối những “tổ chức ảo”. Từ góc độ an ninh, một thuộc tính quan trọng của
các “tổ chức ảo” là những thành viên và tài nguyên được điều phối bởi các quy định và chính sách của tổ
chức trước đó mà họ là thành viên.
Trần Quang Phát – CH1101119 14 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Mặt khác, trong khi một số “tổ chức ảo”, như tổ chức hợp tác khoa học trong nhiều năn, có thể rất lớn và
tồn tại lâu dài, thì một số “tổ chức ảo” chỉ tồn tại thời gian ngắn, để hỗ trợ một nhiệm vụ nhỏ duy nhất
nào đó, ví dụ như hai các nhân chia sẽ tài liệu, dữ liệu. Trong những trường hợp nhỏ như vậy, những yêu
cầu về điều khiển và an ninh trong “tổ chức ảo” không được quá lớn.
Một yêu cầu cơ bản như vậy là để cho phép các “tổ chức ảo” truy cập vào tài nguyên tồn tại trong các tổ
chức trước đó. Khi đó đã có chính sách giữa những người sử dụng. Một “tổ chức ảo” phải được thiết lập
và phối hợp thông qua các sự tin tưởng giữa những người dùng địa phương với tổ chức của họ, và của
những “tổ chức ảo” với người sử dụng. Chúng ta không thể khẳng định sự tin cậy giữa những tổ chức
trước đây và những “tổ chức ảo” hay những thành viên bên ngoài. Như trong hình bên dưới, hệ thống an
ninh trong tính toán lưới giải quyết yêu cầu đó bằng cách xem một “tổ chức ảo” là một lớp phủ với chính
sách khu vực và lưới địa chỉ các cơ chế bảo mật những thách thách bằng cách cho phép một VO được đối
xử như một lớp phủ chính sách miền. Nhiều nguồn tài nguyên đang thuê hoặc các tổ chức hỗ trợ bên
ngoài sẽ cấp phát một số quyền cho tổ chức thứ ba: một “tổ chức ào” điều phối các chính sách nguồn tài
nguyên bên ngoài nhằm thống nhất cách thức phối hợp tài nguyên và chia sẻ sử dụng.
Hình: Các Domain trong tổ ảo VO
Hệ thống an ninh trong tính toán lưới rất phức tạp vì trên thực tế, có rất nhiều dịch vụ mới (tài nguyên)
được phát triển và vận hành trong suốt quá trình chạy của một “tổ chức ảo”. Ví dụ như người dùng có thể
thiết lập một giao diện cá nhân để truy xuất vào các tài nguyên hay “tổ chức ảo” có thể tự sinh ra một thư
mục để lưu lại lịch sử làm việc của các thành viên trong tổ chức. Sự kết hợp của các lớp phủ (và chính

sách liên quan) với các thự thể (được tạo ra liên tục) cần ba yếu tố quan trọng trong một mô hình an ninh
dành cho tính toán lưới.
• Cơ chế bảo mật đa thành phần
Những tổ chức tham gia các “tổ chức ảo” thường đã đầu tư đáng kể cho cơ chế an ninh và cơ sở
hạ tầng. Hệ thống bảo mật mới thích ứng với các đang có, thay vì thay thế chúng.
• Linh động tạo ra những dịch vụ
Người sử dụng phải có quyền tạo ra các dịch vụ mới (tài nguyên) một cách tự động mà không cần
sự can thiệp của người quản quản trị. Những dịch vụ này phải được phối hợp được và phải tương
tác an toàn với các dịch vụ khác. Những người tham gia phải định danh được những dịch vụ đó để
cấp quyền tương ứng và phù hợp với những quy tắc chung.
• Linh động thiết lập các khu vực tin cậy
Để phối hợp các nguồn tài nguyên, những “tổ chức ảo” cần thiết lập sự tin cậy, không chỉ giữa
những người sử dụng với các nguồn tài nguyên của hệ thống mà còn giữa chính cách nguồn tài
nguyên với nhau. Những khu vực tin cậy này có thể mở rộng ra và phải linh động thích ứng với
những cá nhân hay tổ chức mới gia nhập vào, hoặc rời khỏi hệ thống. Những cơ chế quản lý an
ninh truyền thống không thể giải quyết các vấn vấn đề cấp phát động của hệ thống tính toán lưới.
Chúng ta cần một mô hình linh động hướng đến người sử dụng để họ có thể tạo ra những thực thể
Trần Quang Phát – CH1101119 15 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
và những khu vực quy định chung, từ đó tham gia vào và cùng chia sẽ tài nguyên trong những “tổ
chức ảo”.
2. Những yêu cầu an ninh trong hệ thống tính toán lưới
“Tổ chức ảo” là một trong những khái niệm cơ bản trong tính toán lưới. Một “tổ chức ảo” được định
nghĩa là một nhóm linh động (có thể thanm gia vào hoặc rời khỏi nhóm trong quá trình vận hành) của
nhiều cá nhân, nhóm, hoặc các tổ chức thỏa mãn các điều kiện và quy định chia sẽ tài nguyên. Một môi
trường tính toán lưới rất cần thiết để phối hợp quản lý tài nguyên và chia sẽ chúng trong một “tổ chức
ảo”, và tổ chức ảo này có thể mở rộng, tích hợp thêm nhiều tổ chức khác nữa. Điều này cho thấy một ứng
dụng tính toán lưới có thể bao trùm lên nhiều khu vực được cấp quyền khác nhau. Mỗi khu vực cấp
quyền đó sẽ có những yêu cầu và chính sách riêng. Một cơ sở hạ tầng an ninh cho tính toán lưới là cần
thiết để bảo vệ cho những chính sách của từng khi vực cũng như những chính sách do “tổ chức ảo” đặt ra.

Để đạt được yêu cầu về cơ sở hạ tầng an ninh tính toán lưới thì cần phải có khả năng tương tác giữa các
khu vực khác nhau trong khi vẫn duy trì một sự tách biệt rõ ràng về các chính sách an ninh và cơ chế triển
khai của hai tổ chức ảo và thực.
2.1. Tích hợp
Cơ sở hạ tầng an ninh của lưới cần phải tích hợp với cơ sở hạ tầng hiện tại thông qua nền tảng và môi
trường lưu trữ. Các kiến trúc an ninh tổng thể cần phải được hiện thức độc lập và có khả năng mở rộng để
kết hợp các dịch vụ bảo mật mới.
2.2. Khả năng cộng tác
Các dịch vụ tính toán lưới di chuyển qua nhiều khu vực và các môi trường lưu trữ cần có khả năng tương
tác với nhau để trao đổi các thông điệp (ví dụ, thông qua SOAP / HTTP), cho phép mỗi tổ chức xác định
chính sách an ninh áp dụng cho mỗi giao dịch, và xác nhận một người sử dụng của một khu vực cho một
khu vực khác.
2.3. Mối quan hệ tin cậy
Một yêu cầu dịch vục trên lưới có thể bao trùm nhiều khu vực an ninh khác nhau. Những khu vực an ninh
liên quan đáp ứng một yêu cầu dịch vụ sẽ thiết lập một cơ chế tin cậy với nhau. Do tính chất năng động
của môi trường tính toán lưới, đó là không thể thiết lập toàn bộ các mối tin cậy trước khi thực hiện các
ứng dụng. Vấn đề cơ sở tin cậy trở nên phức tạp trong hệ thống tính toán lưới.
3. Bảo mật của hệ thống tính toán lưới
Các hệ thống tính toán lưới cao cấp yêu cầu mức độ bảo mật có các đặc điểm sau:
• Chứng thực: các giao thức “cung cấp chứng thực” cần có để tích hợp các cơ chế bảo mật và cách
thức để cơ chế này hoạt động với nhau.
• Ủy quyền: những cơ chê cung cấp “ủy quyền” để cho phép người được ủy quyền có quyền yêu
cầu các dịch vụ, đồng thời đảm bảo rằng các quyền truy cập được giới hạn cho các dịch vụ đó phù
hợp với chính sách của toàn hệ thống.
• Đăng nhập một lần: điều này đảm bảo cho việc xác thực người sử dụng xuyên suốt trong quá trình
làm việc, dù cho công việc này cần phải qua nhiều khu vực tài nguyên khác nhau tại các khoảng
thời gian khác nhau.
• Làm mới một chứng thực: hệ thống có khả năng làm mới lại một chứng thực nếu thời gian thực
hiện tác vụ lớn hơn thời gian sống của một chứng thực đã được cấp.
• Xác minh danh tính: để khẳng định đúng người sử dụng được cấp quyền truy cập vào hệ thống.

Trần Quang Phát – CH1101119 16 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
• Tính riêng tư: yêu cầu cả người yêu cầu dịch vục và nhà cung cấp chấp hành chính sách về riêng
tư.
• Bí mật: bảo vệ bí mật nội dung các thông điệp bên trong quá trình truyền tải, các thành phần
OGSA trong tất cả mà chúng xuất hiện.
• Kiểm định thông điệp: bảo đảm rằng việc thay đổi trái phép nội dung thông điệp hoặc dữ liệu sẽ
phát hiện tại điểm nhận.
• Đàm phán chính sách: cho phép ngữ cảnh bảo mật đàm phán cơ chế giữa các yêu cầu dịch vụ và
các nhà cung cấp dịch vụ tùy vào các thông tin của chính sách an ninh.
• Bảo mật đăng nhập: cung cấp cơ sở cho việc “không thể chối bỏ” đăng nhập và kiểm tra đăng
nhập để tất cả các dịch vụ sẽ được định dấu thời gian mà không làm gián đoạn thông tin.
• Khả năng quản lý: cung cấp những công cụ có thể giám sát và quản lý ở các mức và các môi
trường lưu trữ.
• Thông qua tường lửa: để giải quyết vấn đề bảo mật khi có nhiều dịch vụ cần mức độ bảo mật khác
nhau và các vấn đề như quản lý danh tính, chính sách quản lý.
• Đảm bảo cơ sở hạ tầng OGSA.
4. Bảo mật thông tin
Bảo mật thông tin là khoa học nghiên cứu các nguyên lý và phương pháp cho phép mã hóa thông tin sao
cho chỉ người có khóa giải mã mới có thể giải giải mã để hiểu được thông tin gốc.
Ví dụ: Nếu một người gửi tới một mật mã “ULFW NZFXZ”, dựa vào khóa đã có bạn có thể giải mã được
thông tin đó “VIDU BAOMAT” vì theo khóa giải mã thì chữ U thay bằng chữ V, chữ L thay bằng chữ I,

Trong bảo mật thông tin hai vấn đề cần nghiên cứu về mặt nguyên lý lẫn phươn pháp là:
• Bảo mật (Encryption): nhằm ngăn cản không cho người lạ trích chọn thông tin từ các thông điệp
được gửi trên các kênh truyền phổ biến.
• Chứng thực (CA – Certification Authority): nhằm đảm bảo chỉ có đúng người nhận mới có thể
đọc được thông điệp, đồng thời người gửi không thể phủ nhận thông điệp mình gửi.
Có thể chia các hệ mã thành 2 loại chính:
4.1. Hệ mã hóa bí mật

Quá trình mã hóa và giải mã đều sử dụng một khóa gọi là khóa bí mật, hay còn gọi là hệ mã đối xứng.
Trong quá trình trao đổi thông tin giữa A và B nếu dùng hệ mã khóa bí mật ek. Thì A là người gửi sẽ mã
hóa thông điệp bằng khóa ek này. Như vậy, một người khác đánh cắp được khóa ek thì họ có thể giải mã
và xem được nội dung thông điệp của người gửi. Điển hình thuật toán khóa bí mật là mã hóa khối với n
byte đầu vào thành một khối byte ở đầu ra, các phương pháp mã hóa khối đã được đưa vào ứng dụng như:
RC2 (8 byte), DES (8 byte), TRIPPLE DES (24 byte), … thuật toán mã hóa bí mật có tốc độ nhanh hơn
so với hệ mã hóa công khai.
4.2. Hệ mã hóa công khai
Quá trình mã hóa sử dụng một khóa có thể công khai và khi giải mã thì sử dụng một khóa khác. Vì sử
dụng một cặp khóa trong đó có một khóa có thể được công khai nên gọi là hệ mã hóa công khai, hay còn
gọi là hệ phi đối xứng. Thực chất của hệ mã hóa công khai là sử dụng hai khóa có liên quan với nhau:
• Khóa công khai (Public key) được sử dụng để mã hóa những thông tin mà bạn muốn chia sẽ với
bất cứ ai. Chính vì vậy bạn có thể tự do phân phát nó cho bất cứ ai mà bạn cần chia sẻ thông tin ở
dạng mã hóa.
Trần Quang Phát – CH1101119 17 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
• Khóa riêng (Private key) khóa này thuộc sở hữu riêng tư của người được cấp và nó được sử dụng
để giải mã thông tin.
5. Mô hình bảo mật trong Grid
Mô hình bảo mật trong Grid được phân làm hai loại:
• Xây dựng một mô hình hoàn toàn mới để bảo mật cho Grid.
• Xây dựng dịch vụ bảo mật dựa trên những yêu cầu cần thiết: điều đó có nghĩa là dịch vụ bảo mật
được xây dựng cung cấp một tập các service cho các ứng dụng bên phía host trong môi trường
OGSA. Hình bên dưới mô tả các chức năng một mô hình bảo mật có thể có trong Grid gồm các
chức năng Binding Security, Audit & Non-Repudiation, Mapping Rules, …
Hình: Mô hình an ninh mạng lưới
5.1. Binding Security
SOAP và IIOP thường được sử dụng trong lớp Binding Security. Bảo mật Binding dựa trên bảo mật của
giao thức hoặc kiểu định dạng dữ liệu được sử dụng. Khi một giao thức hay một định dạng dữ liệu mới
được đưa ra cần phải có các yêu cầu bảo mật đi kèm và phải đảm bảo tối thiểu ba yêu cầu: xác thực, toàn

vẹn và bảo mật. HTTP là một giao thức quan trong vì nó “trong suốt” với firewall và được chấp nhận
rộng rãi. Trong trường hợp liên kết dựa trên HTTP, các request có thể được gửi thông qua SSL, SSL hỗ
trợ cơ chế xác thực, toàn vẹn và bảo mật. Tuy nhiên SSL chỉ đảm bảo chất lượng dịch vụ nếu các
endPoint tham gia sử dụng kết nối SSL. Nếu một request cần traverse thông qua các điểm trung gian thì
tại mỗi end-to-end các vấn đề bảo mật cũng cần phải được đưa ra tại lới phía giao thức SSL.
Trong trường hợp dữ liệu sử dụng cơ chế SOAP, thông tin bảo mật có thể được đính kèm trong chính dữ
liệu SOAP này. Ngoài ra dữ liệu SOAP còn được bảo mật và toàn vẹn khi sử dụng XML Digital
Signature và XML Encryption.
5.2. Policy expression ans Exchange
Web Sercives cần phải đưa ra các yêu cầu để những ai sử dụng phải tuân thủ, các yêu cầu này cần phải
được giải quyết trước khi user tương tác được với service. Ví dụ, khi một requester muốn sử dụng một
service thì requester đó cần đưa ra các chứng thực đảm bản rằng mình có quyền sử dụng service này đồng
thời các message phải đúng định dạng do service này yêu cầu… Điều quan trọng đối với service requester
là làm thế nào để biết được requirement đi kèm với target service. Ngay khi service requester biết được
Trần Quang Phát – CH1101119 18 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
các yêu cầu và khả năng mà target service hỗ trợ, nó sẽ tính toán và cả service requester lẫn service
provider sẽ lựa chọn một tập các binding tối ưu nhất để giao tiếp với một service khác. WS-policy sẽ mô
tả làm thế nào để cả service provider và service requester có thể đưa ra các yêu cầu và khả năng cung cấp
của mình. Như vậy lớp policy expression and exchange sẽ giải quyết yêu cầu về trao đổi chính sách giữa
các end-point tham gia. Xa hơn nữa, nó cho phép service requester và service provider khám phá policy
của service khác.
5.3. Secure Association
Service requester và service provider cần phải trao đổi nhiều thông tin, để bảo mật thông tin khi truyền
trên mạng cần có cơ chế thực thi việc xác thực và thiết lập kết nối trong ngữ cảnh an toàn. Có nhiều giao
thức (IPSEC, SSL, IIOP…) và cơ chế (Kerberos…) được hỗ trợ bảo mật trong ngữ cảnh này. WS-
SecureConversation là một đặc tả Web service được đưa ra bởi IBM và các tổ chức khác, làm việc cùng
với WS-Security, WS-Trust và WS-Policy cho phép tạo ra ngữ cảnh bảo mật khi trao đổi dữ liệu SOAP,
WS-SecureConversation sẽ mô tả làm thế nào một web service có thể xác thực các thông điệp được gửi
từ service requester, làm thế nào service requester có thể xác thực được service provider, và làm thế nào

để thiết lập được cơ chế xác thực lẫn nhau trong ngữ cảnh bảo mật. WS-SecureConversation được thiết
kế để hoạt động trên lớp thông điệp SOAP bởi vì thông điệp SOAP có thể sẽ traverse thông qua nhiều
service trung gian.
5.4. Authorization Enforcement
Chính sách authorization là một phần quan trọng trong mô hình bảo mật lưới. Mỗi một domain sẽ sở hữu
một dịch vụ cấp quyền (authorization service). Trong môi trường internet, authorization thường kết hợp
với service provider để điều khiển truy cập vào resource dựa trên ID của service requester. Client hay
service requester thông thường phải tin tưởng vào server hoặc service provider. Trong trường hợp không
có sự tin tưởng này thì service provider sẽ cung cấp cơ chế xác thực thông qua giao thức SSL, đây là cơ
chế thiết lập giao tiếp tin tưởng giữa service requester và service provider. Authorization trong mỗi
domain có các mô hình khác nhau:
• Role based authorization.
• Rule based authorization.
• Capabilities, access control list…
5.5. Identity and Credential Mapping/Translation
Môi trường Grid là sự kết hợp của nhiều tổ chức, mỗi tổ chức lại có domain bảo mật khác nhau.
Operations giữa các entity trong domain khác nhau cần yêu cầu cơ chế xác thực lẫn nhau (mutual
authentication). Tuy nhiên, việc giả sử tất cả các domain cùng chia sẻ một nơi đăng ký (global yser
registry) là phi thực tế. Bởi vậy, khi một operation giữa các entities vượt quá domain hay ranh giới của
VO, ID của service requester và provider tương ứng như các credential được mô tả trong domain này có
thể không còn đúng về cú pháp cũng như ngữ nghĩa trong domain của đối tác. Chính vì vậy cần có thành
phần có chức năng ánh xạ ID/credentials để chuyển các hàm trong domain này tương ứng với các hàm
trong domain khác.
5.6. Secure Logging
Đây là chức năng cơ bản nhất của một service. Khi bạn muốn sử dụng một service nào đó, điều đầu tiên
là bạn cần phải đăng nhập để xác thực quyền mà bạn đã đăng ký để sử dụng service này hay chưa. Chức
năng này khá đơn giản nên có thể được áp dụng vào mọi thành phần trong mô hình.
Trần Quang Phát – CH1101119 19 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
5.7. Management of Security

Mô hình bảo mật Grid sẽ nhóm các chức năng quản lý bảo mật dựa theo các khía cạnh về binding, policy
và federation. Mỗi một khía cạnh sẽ đưa ra các giải pháp bảo mật như: sử dụng hàm mã hóa, quản lý đăng
ký user, chính sách authorization, privacy… Ngoài ra còn phát hiện khả năng xâm phạm, đưa ra các anti-
virus service…
6. Cơ sở hạ tầng bảo mật lưới
6.1. Cơ chế xác thực GSI
Khi bạn đã xây dựng được Grid host, làm thế nào để bạn có thể yêu cầu CA xác thực (cấp certificate) cho
Grid host này?
• Sao chép public key của CA lên grid host.
• Tạo private key và certificate cho grid host.
• Gửi certificate vừa được tạo cho CA.
• Sau khi nhận được yêu cầu, CA sẽ sử dụng private key để chứng thực lên certificate này và gửi
ngược trở lại.
Sau khi bước xác thực được hoàn tất trên grid host sẽ có ba tập tin quan trọng:
• Public key của CA
• Private key của grid host.
• Digital certificate mà CA đã chứng thực cho grid host.
6.2. Authentication và authorization
Giả sử chúng ta là host A và muốn sử dụng một ứng dụng nào đó trên host B. Liệu chúng ta có đảm bảo
rằng ứng dụng chúng ta yêu cầu có phải xuất phát từ chính host B hay không? Cơ chế authentication sẽ
giúp chúng ta xác thực được host B có phải đang giao tiếp với host A hay không.
Cơ chế hoạt động như sau:
1. User bên host A sẽ gửi certificate sang host B.
2. Host B sẽ lấy public key của A và sử dụng public key này để lấy thông tin trên certificate (bằng
cách sử dụng public key của CA).
3. Host B tạo một số ngẫu nhiên và gửi cho host A.
4. Host A nhận số ngẫn nhiên này và mã hóa sử dụng private key của mình. Sau đó gửi thông điệp
đã được mã hóa này cho host B.
5. Host B nhận thông điệp được mã hóa, sử dụng public key để giải mã xem số ngẫn nhiên đó có
trùng với số ngẫu nhiên mà host B tạo ra để gửi cho host A trước đó hay không? Sau đó host B đã

xác thực được certificate thực sự là từ bên host A gửi tới bởi vì chỉ có host A mới có thể mã hóa
được.
6. Chứng chỉ của người dùng trên host A đã được host B chứng thực. Sau đó, host B sẽ ánh xạ
subject (là một dạng của DN, là tên được sử dụng bởi LDAP để phân biệt các điểm vào trong
directory service) lấy được trong bước 2 vào người dùng cục bộ thông qua gridmap-file.
Lúc này, người dùng trên host A đã được cho phép hoạt động như một người dùng cục bộ trên host B.
Trong môi trường grid, một host có vai trò là client trong một số trường hợp, có thể là server trong một số
trường hợp khác. Do đó, host có thể phải chứng thực một host khác và được chứng thực bởi host kia tại
cùng một thời điểm. Trong trường hợp này có thể sử dụng chức năng mutual authentication của GSI.
Trần Quang Phát – CH1101119 20 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
6.3. Cơ chế ủy quyền (delegation)
Cơ chế ủy quyền trong GSI giải quyết yêu cầu về đăng nhập một lần (single sign-on) của một hệ thống
grid. Đây là một sự mở rộng của protocol SSL nhằm giảm số lần phải gõ passphrase của người dùng khi
sử dụng nhiều tài nguyên grid có yêu cầu chứng thực. Người dùng không cần phải gõ lại passphrase bằng
cách tạo một proxy và ủy quyền cho nó.
Một proxy bao gồm một chứng chỉ mới (có đính kèm khóa công khai mới của proxy) và một khóa bí mật
mới. Chứng chỉ mới chứa định danh của người chủ proxy, được sửa lại để cho biết đó là một proxy.
Chứng chỉ mới được ký bởi người chủ sở hữu thay vì CA. Trong proxy certificate có chứa thêm thời gian
sống của proxy, khi hết thời gian sống proxy sẽ trở nên không hợp lệ, thường thì thời gian sống của proxy
rất ngắn. Các proxy lại có thể tạo ra và ủy quyền cho các proxy khác tạo thành một chuỗi các đại diện cho
người dùng trên các tài nguyên, từ đó cho phép người dùng có thể sử dụng nhiều tài nguyên khác nhau
mà chỉ cần đăng nhập một lần.
Hình: Cơ chế ủy quyền trong GSI
Cơ chế ủy quyền được mô tả trong hình trên gồm hai bước chính:
• Khởi tạo proxy trên host ở xa (host B).
• Chứng thực proxy trên host khác (host C).
Bước 1: Khởi tạo proxy
Để khởi tạo một proxy:
1. Một kết nối tin cậy phải được tạo ra giữa host A và host B (thực hiện quy trình chứng thực trên

host B như ở trên).
2. Người dùng trên host A gửi yêu cầu host B tạo một proxy để đại diện cho mình.
3. Host B tạo một bản yêu cầu cho proxy certificate của người dùng và gửi yêu cầu này về host A.
4. Host A sử dụng khóa bí mật của người dùng để ký xác nhận vào bản yêu cầu proxy certificate và
gửi nó lại cho host B.
5. Host A gửi chứng chỉ của người dùng cho host B.
Trần Quang Phát – CH1101119 21 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
Hình: Thủ tục ủy quyền của một proxy trong GSI
Bước 2: Chứng thực proxy
Lúc này proxy trên host B đã được người dùng ủy quyền, proxy trên host B có thể liên lạc và được chứng
thực , phân quyền trên host C như thể là user trên host A.
Trước khi có thể gửi yêu cầu thực hiện công việc trên host C, proxy cần được chứng thực trên host C.
Quy trình thực hiện như sau:
6. Proxy của người dùng trên host B gửi user certificate và proxy certificate đến host C.
7. Host C lấy khóa công khai của proxy thông qua thủ tục “path validation”:
• Host C sử dụng khóa công khai của CA để lấy subject và khóa công khai của người dùng
trong user certificate.
• Host C sử dụng khóa công khai của người dùng để lấy subject và khóa công khai của
proxy trong proxy certificate.
• Giả sử subject của người dùng là:
“/O=Grid/O=GridTest/OU=test.domain.com/CN=GreanStar”
Subject của proxy certificate cũng giống như subject của người tạo ra nó (ở đây là người
dùng trên host A) và có dạng như sau:
“/O=Grid/O=GridTest/OU=test.domain.com/CN=GreenStar/CN=proxy”
Do đó, để kiểm tra tính hợp lệ của proxy, host C chỉ cần kiểm tra phần chuỗi còn lại trong
subject.
6.4. Thiết lập giao tiếp an toàn giữa Client và Service
Ở đây, chúng ta giới thiệu hai cơ chế xác thực được sử dụng trong Grid: cơ chế bắt tay SSL và cơ chế
Keberos.

Trần Quang Phát – CH1101119 22 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
6.4.1. Cơ chế bắt tay SSL
Để thiết lập giao tiếp an toàn giữa Grid server và Grid client, một cơ chế bắt tay phải được thiết lập. Cơ
chế bắt tay SSL có nhiệm vụ xác định những cài đặt SSL cần thiết, cơ chế truyền khóa (public key) và
các yếu tố căn bản cho xử lý xác thực lẫn nhau (mutual authentication). Cơ chế bắt tay SSL được thực thi
qua những bước sau:
1. Grid Client liên hệ với grid server để bắt đầu một session sử dụng Digital X.509 ID Certificate.
2. Grid Client tự động gửi cho grid server số phiên bản SSL (SSL version number), cài đặt mã hóa,
tự động sinh ra dữ liệu và một vài thông tin khác mà grid server cần cho quá trình thiết lập giao
tiếp với gird client.
3. Grid server đáp ứng lại bằng cách cũng gửi lại cho grid client: digital certificate, SSL version
number, cài đặt mã hóa, …
4. Client xem xét thông tin chức đựng trong certificate của server và kiểm tra xem:
• Server certificate có hợp lệ hay không.
• Server certificate có được ký bởi một CA tin tưởng hay không.
• Sử dụng public key đi kèm xác định tính hợp lệ cho digital signature.
5. Nếu server xác thực thành công, bên client sẽ sinh ra một key session duy nhất sử dụng cho quá
trình mã hóa trong suốt quá trình giao tiếp với grid server sử dụng cơ chế mã hóa bất đối xứng.
6. User bên client mã hóa session key bởi chính public key của server. Chính vì vậy mà chỉ có bên
phía server mới có thể đọc được session key.
7. Server sau khi nhận được session key được mã hóa sẽ sử dụng private key để giải mã và lấy ra
session key.
8. Grid Client gửi thông điệp cho server cho biết những thông tin giao tiếp về sau sẽ được mã hóa
bằng session key này. Và server cũng thông báo ngược lại cho client biết.
9. SSL secured session được thiết lập.
10. Ngay khi session hoàn tất, session key sẽ bị hủy bỏ.
6.4.2. Cơ chế Kerberos
Kerberos là giao thức xác thực và phân phối khóa, sử dụng hệ thống mã hóa đối xứng (symmetric
encyption systems), thực thi hiệu quả hơn hệ thống sử dụng public key hay hệ thống mã hóa bất đối xứng.

Kerberos phù hợp cho quá trình phải xác thực một cách thường xuyên. Kerberos có một trung tâm gọi là
“trung tâm phân phối khóa” (key distribution center-KDC). KDC bao gồm hai chức năng: “máy chủ xác
thực” (authentication server-AS) và “máy chủ cung cấp vé” (ticket granting server-TGS). Ticket trong hệ
thống Kerberos chính là các chứng thực nhận dạng cho một user đang sử dụng.
Kerberos thực hiện các quá trình sau để xác thực: một user muốn xác thực mình với authentication server
(AS), sau đó sẽ chứng minh với ticket granting server (TGS) rằng mình đã được xác thực để nhận ticket
rồi, cuối cùng chứng minh với service server (SS) rằng mình đã được chấp nhận để sử dụng dịch vụ rồi.
Cơ chế hoạt động như sau:
1. Client gửi một yêu cầu đến AS để yêu cầu dịch vụ.
2. AS kiểm tra bên client có nằm trong cơ sở dữ liệu của mình hay không. Nếu có, AS sẽ gửi lại cho
client hai gói tin:
• Gói tin A: client/TGS session key được mã hóa bởi khóa bí mật của client.
• Gói tin B: ticket (chứa ID, địa chỉ mạng client, thời gian hiệu lực ticket và client?TGS
session key) được mã hóa bởi khóa bí mật của TGS.
3. Khi nhận được hai gói tin trên, client giải mã gói tin A để có được session key (TGS). Session key
này được sử dụng để giao tiếp với TGS, tuy nhiên không thể giải mã được gói tin B vì nó được
mã hóa bởi khóa bí mật của TGS.
4. Client sau đó sẽ gửi hai gói tin đến TGS:
Trần Quang Phát – CH1101119 23 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
• Gói tin C: gói tin B (chứa ticket) và ID của dịch vụ yêu cầu.
• Gói tin D: ID (client), timestamp, mật mã hóa sử dụng client/TGS session key.
5. Khi nhận được hai gói tin C và D, TGS sẽ lấy gói tin B ra khỏi C. Giải mã gói tin B sử dụng khóa
bí mệt của mình:
• Gói tin E: ticket (bao gồm ID của client, địa chỉ mạng của client, thời gian sử dụng session
key (client/server)) được mã hóa bởi SS (máy chủ cung cấp dịch vụ).
• Gói tin F: session key (client/server) được mã hóa bởi session key (TGS).
6. Khi nhận được hai gói tin E và F, client sẽ gửi hai gói tin này đến SS:
• Gói tin E thu được từ bước trên.
• Gói tin F: ID của client, thời điểm yêu cầu và được mã hóa bởi session key (client/server).

7. SS giải mã ticket bằng khóa bí mật của mình và gửi gói tin sau cho client: gói tin H: client/server
session key.
8. Client giải mã chứng thức sử dụng client/server session key và kiểm tra timestamp cho phù hợp
hay không. Nếu có, thì client có thể tin tưởng vào server và sử dụng dịch vụ này.
6.5. Các mô hình bảo mật Grid trong các phiên bản Globus Toolkit
Trong GT2, những dịch vụ Grid Resource Allocation and Management (GRAM), Monitoring and
Discovery (MDS), Data Movement (GridFTP) sử dụng cùng một kiến trúc Grid Security Infrastructure
(GSI) chung để cung cấp chức năng bảo mật như thay đổi cơ chế bảo mật chung, tạo động và cấp quyền
cho các thực thể, tạo và quản lý động các khu vực bao phủ tin cậy. Chức năng thay đổi cơ chế bảo mật
chung được hiện thức qua việc GSI định nghĩa một dạng chung dựa trên xác thực định danh X.509 và
giao thức chuẩn dựa trên lớp bảo mật transport (TLS, SSL). Ngoài ra, chúng còn sử dụng nhiều gateway
để chuyển đổi qua lại giữa kiến trúc GSI chung và chuẩn nội bộ của mỗi tổ chức. Mỗi xác nhận GSI được
cấp bởi một nhóm thứ ba tin cậy chính là CA. Nhóm CA có nhiệm vụ cung cấp thông tin để phục vụ quá
trình xác thực trong grid. Chức năng tạo động và cấp quyền cho thực thể được thể hiện qua việc GSI mở
rộng đến khái niệm xác nhận proxy X.509. Xác nhận này cho phép người dùng gắn động định danh mới
đến thực thể và sau đó phó thác vài quyền cho thực thể đó. Việc gắn định danh và nhượng quyền cho thực
thể của người dùng không cần thiết phải có sự xác thực của CA. Chức năng tạo và quản lý động các khu
vực bao phỉ tin cậy được đảm bào để GSI sử dụng dịch vụ đồng thời cả việc xác thực proxy và dịch vụ
bảo mật gọi là CAS. Nhiệm vụ của CAS biểu thị chính sách của tổ chức ảo thông qua những tổ chức
tham gia.
Hình: Quá trình xác thực thông qua CAS
Đầu tiên người dùng xác thực với CAS và họ sẽ nhận được yêu cầu của tổ chức ảo để họ có thể sử dụng
resource. Kế đến, người dùng sẽ gửi yêu cầu đó đến tổ chức cùng với yêu cầu của họ. Sau cùng là quá
trình kiểm tra xem có cấp tài nguyên theo yêu cầu của người dùng hay không. Nói chung, mô hình GT2
Trần Quang Phát – CH1101119 24 / 40
Tính Toán Lưới PGS.TS. Nguyễn Phi Khứ
này đã đảm bảo được ba thách thức mà bảo mật lưới đề ra. Trong GT3, kiến trúc GSI đã nâng lên một
tầm mới dựa trên mô hình OGSA. Mô hình bảo mật này sử dụng những đặc tính tốt của OGSA và Web
Service (WS) để đáp ứng bốn mục tiêu cơ bản. Thứ nhất, xem các chức năng bảo mật như là một dịch vụ
của OGSA và cho phép các ứng dụng có thể dùng khi cần thiết. Việc này đã làm tăng thêm tính linh động

cho việc sử dụng hệ thống. Thứ hai, sử dụng môi trường hosting để điều khiển bảo mật cho ứng dụng và
điều chỉnh cơ chế bảo mật phù hợp với ứng dụng. Nó giúp chúng ta không cần phải chỉnh sửa lại ứng
dụng khi chính sách bảo mật thay đổi. Việc này sẽ giảm bớt gánh nặng cho người lập trình. Thứ ba, cho
phép công khai chính sách bảo mật, từ đó làm cho họ tin tưởng hơn vào dịch vụ và cũng làm cho cơ chế
bảo mật của mỗi tổ chức có thể làm việc được với nhau. Thứ tư, thành lập được chuẩn cho phép thực hiện
trao đổi giữa các tổ chức.
Hình: Cơ chế bảo mật trong GT3
Theo hình trên, chúng ta có thể thấy bảo mật trong hệ thống GTS3 thực chất là những dịch vụ thực hiện
tuần tự kết hợp với nhau. Nếu giả sử chính sách bảo mật có gì thay đổi thì chúng ta chỉ cần sửa lại đúng
dịch vụ bị ảnh hưởng bởi chính sách ấy. Đồng thời qua đó chúng ta có thể thấy thêm tính linh hoạt trong
việc kết hợp chính sách bảo mật của từng môi trường hosting khác nhau. Hình trên mô tả cho chúng ta
quá trình thực hiện tương tác giữa hai hosting. Quá trình này được thực hiện thông qua bốn dịch vụ: dịch
vụ phân bố chính sách bảo mật, dịch vụ giao dịch giữa hai hosting, dịch vụ thực thi chuẩn chung cho hai
hosting giao tiếp và dịch vụ kiểm tra quyền hạn. Quá trình bảo mật được thực hiện một cách tuần tự
thông qua bốn dịch vụ trên và được đánh số từ nhỏ đến lớn. Trong GT4, cơ chế bảo mật tương đối giống
GT3. Nhưng GT4 có nhiều cải tiến thêm vào nhằm tăng hiệu quả sử dụng của dịch vụ như làm thay đổi
WS-Security và Https để làm giảm sự dư thừa tin nhắn trong môi trường WS. Ngoài ra, phương pháp bảo
mật được sử dụng với GSI đã thay đỗi từ hướng tiếp cận message level thành transport level. Đây là
hướng nhìn nhằm cải tiến hiệu quả liên quan đến dịch vụ bảo mật. GT4 còn hỗ trợ thêm tính năng WS-I
(Web Services Interoperability Organization) gồm có Web Services Resource Framework (WS-RF) and
Web Service Notification (WS-N) specifications, Security Makup Language (SAML), Extensible Access
Control Language (XACML).
Tóm lại, cơ chế security trog GT2 không dựa trên chuẩn vì việc mở rộng sẽ trở nên khó khăn hơn. Còn
đối với GT4, do dựa vào kiến trúc hướng đối tượng WS nên đã sớm hình thành chuẩn cho môi trường
security trong grid. Ngoài ra, việc mở rộng dựa trên kiến trúc đối tượng WS giúp cho GT4 có nhiều cải
thiện về tính hiệu quả và linh động của hệ thống. Vì thế, việc áp dụng GT4 trong thương mai cũng ngày
càng được triển khai rộng rải.
6.6. Bảo mật trong cơ sở kiến trúc hệ thống của Grid
Phần này chủ yếu đề cập đến việc bảo mật trong cơ chế kiến trúc của Grid như bảo mật vật lý, bảo mật hệ
điều hành, grid và tường lửa, phát hiện tấn công host… Đa số những vấn đề này trong bất kỳ một hệ

Trần Quang Phát – CH1101119 25 / 40

×