1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

40 911 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 2,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ântá

Trang 1

Mục lục

Trang 2

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ínhtoá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ứccũ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ứctổ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ácthiế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ácnguồ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 sangrấ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ăntrong khi đây là một trong những điểm ưu tiên hàng đầu

Trang 3

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ântá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êucầ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ớntrong 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êucầ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ể truycậ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ínhtoá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ữanhiề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, dunglượng, hiệu năng, giá và những yêu cầu về chất lượng dịch vụ

Trang 4

• 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 đượctậ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ớinhữ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ụngrộ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ântá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ênchú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âydự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ôitrườ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àngcũ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 nganghà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àocá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ácbiệ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ậptrung 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ữngloạ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ườngchỉ 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ệccon 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 đếncá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

Trang 5

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ầutí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ầuhoả, 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ợptá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ántrướ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ênphạ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ệcchung 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àinguyê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ảnquyề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 trongGrid 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ápnà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ânlê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ôngnghệ 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ốngtrong 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áctạ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 thilạ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ênnhiề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 đemlạ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

Trang 6

Ở 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ấtnhiề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ấttrong 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ộtcá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 đơngiả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ứcnă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 đếncá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 ramộ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

Trang 7

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ố cungcấ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ớidạ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ướiphâ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ếpcô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ớithự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ộtcô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

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 đó trongngà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ậplị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ộtmá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 tronglướ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 dothiế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ôngviệ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ềunà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àinguyê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ôngviệc đang thực hiện khi tới thời gian được đặt từ trước

Trang 8

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ườnghợ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ệnriê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àydẫ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ộttiế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ênkế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ácmá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ềmdonor 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ó đolườ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 xuhướ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ễnkhá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ácquan 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ảithiế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ếntrú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ênthươ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âydự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áccô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 đượcthiế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áchchia 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 chocá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ũngchỉ 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 đổithông tin, ở đây cũng cần các protocol và cú pháp chuẩn để chia sẻ tài nguyên

Trang 9

Để 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 địnhcá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úcthô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ếtlậ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ệcgiao 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ácprotocol, 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 caocấ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ốiquan 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ăngtí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ácprotocol đượ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ềunhấ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 trongmộ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à để thamkhả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

Trang 10

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ựngtheo 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ầnnhiề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ậptin 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ớicá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ácSDK 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ứcnă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ệcgiao 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ầngResource 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 quatên và/hay các thuộc tính như kiểu, khả năng, tải, …

Trang 11

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àinguyê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ácserver 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ầngResource 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 trongkhi 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ầngCollective 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ùngthì 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), haynhư 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ườnghợ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ácprotocol, 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 protocolcủ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áitoà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

Trang 12

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ớivớ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ịchmạ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ậnchuyể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ưnghiệ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ốngchủ 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ệtclient/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ứngthự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áytí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áccluster,… 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ẫnlogic) 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ácchứ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ấpthô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ượngdị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 nhaugiao 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

Trang 13

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, ứngdụ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 chotoà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áttriể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ủamỗ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ácnhó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ứcnă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 GlobalGrid 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ệcxâ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 ServicesResource 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 đượccá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úpcung 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ảncủ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ênnhữ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 đisâ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 Gridservice 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 Gridservice đượ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ở để truycậ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ềukiệ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ộtphươ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ảiquyết được vấn đề liên kết hoạt động giữa các Grid và các tài nguyên

Trang 14

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 địnhmộ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 độngchung 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ẩnmở

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 đượcxâ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ộtchuẩ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ựngxung 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ệnhà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, Gridservice 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ớinhau, 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ủacá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

Trang 15

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ấtnà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êucầ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ủanhữ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ứctrướ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 anninh 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ínhsá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ênngoà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àinguyê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ínhsá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 ninhdà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ươngtá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ữanhữ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àinguyê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ớinhữ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ý anninh 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ể

Trang 16

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 địnhnghĩ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ủanhiề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ôitrườ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 ứngdụ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ấpquyề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ầnthiế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áckhu 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ểnkhai 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ôitrườ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ươngtá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 địnhchí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ộtkhu 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 ninhliê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 độngcủ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áchthứ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êucầ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ìnhlà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ảngthờ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ựchiệ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

Trang 17

• 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êngtư.

• 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ầnOGSA 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 đăngnhậ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ôitrườ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ácnhau 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 saocho 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ã đượcthô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 nbyte đầ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òngọ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ớibấ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

Trang 18

• 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ườngOGSA 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ácchứ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ủagiao 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ànvẹ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ậnrộ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ácendPoint 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 DigitalSignature 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ộtservice 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 đồngthờ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

Trang 19

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 serviceprovider 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ấpcủ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ữacác end-point tham gia Xa hơn nữa, nó cho phép service requester và service provider khám phá policycủ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ềntrê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 giaothứ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ùngvớ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ềuservice 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ữumột dịch vụ cấp quyền (authorization service) Trong môi trường internet, authorization thường kết hợpvới service provider để điều khiển truy cập vào resource dựa trên ID của service requester Client hayservice 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ỗidomain 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 (mutualauthentication) Tuy nhiên, việc giả sử tất cả các domain cùng chia sẻ một nơi đăng ký (global yserregistry) 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ànhphầ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àmtrong 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ứcnă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

Trang 20

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 virus service…

anti-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) choGrid 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ửingượ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ảorằ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ằngcá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 trongdirectory 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ạicù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

Ngày đăng: 09/04/2015, 18:52

HÌNH ẢNH LIÊN QUAN

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. - Tiểu luận môn tính toán lưới Các mô hình Cloud Computing
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 (Trang 10)
Bảng khảo sát chất lượng dịch vụ - Tiểu luận môn tính toán lưới Các mô hình Cloud Computing
Bảng kh ảo sát chất lượng dịch vụ (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w