Tầng Collective: Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ, tầng Collective chứa các giao thức, dịch vụ, API, SDK không liên hệ đến bất kỳ một tàinguyên cụ thể nào mà t
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VỚI GT4IDE
Giảng viên hướng dẫn: PGS TS Nguyễn Phi Khứ
Học viên thực hiện: Phạm Ngọc Giàu
Mã số học viên: CH1101080
Trang 3Lời cảm ơn iii
Mở đầu .iv
Chương I Giới thiệu chung Grid Computing 1
1.1 Grid 1
1.1.1 Khái niệm 1
1.1.2 Đặc trưng của hệ thống Grid 2
1.1.3 Kiến trúc của hệ thống Grid 3
1.1.4 Chuẩn hoá Grid 5
1.1.5 Sự tiến hóa của công nghệ Grid 8
1.2 Công nghệ Grid Computing 9
1.2.1 Giới thiệu chung Grid Computing 9
1.2.2 Lợi ích và ứng dụng 10
Chương II Grid Middleware 13
2.1 Grid Middleware 13
2.1.1 Khái niệm 14
2.1.2 Kiến trúc 14
2.1.3 Chức năng 16
2.1.4 Lợi ích 17
2.2 Một số kỹ thuật thông dụng của Grid Middleware 18
2.2.1 Globus Toolkit 18
2.2.2 UNICORE 21
2.2.3 gLite 23
2.2.4 So sánh các Middleware 31
Chương III Globus Toolkit 4.0 33
3.1 Tổng quan về Globus Toolkit 4.0 33
3.2 Mô hình môi trường mạng Grid 38
3.3 Cấu hình và thử nghiệm môi trường Grid 39
Chương IV Bài toán tìm số nguyên tố Mersenne trong môi trường Grid Computing với GT4IDE 48
4.1 Giới thiệu công cụ phát triển 49
4.2 Tạo Project GT4 với GT4IDE 51
Trang 44.3.1 Các khái niệm và mệnh đề 52
4.3.2 Phân tích và thiết kế bài toán 56
Chương V Kết luận và hướng phát triển 61
5.1 Kết luận 61
5.2 Hướng phát triển 61
Tài liệu tham khảo 62
Trang 5Đầu tiên, em xin gửi lòng biết ơn sâu sắc đến Thầy PGS TS Nguyễn Phi Khứ
đã tận tình hướng dẫn, truyền đạt cho em những kiến thức quí báu, cũng như hướngchúng em nghiên cứu nguồn kiến thức mới, khơi nguồn cho em thực hiện đề tài này
Qua đây, em xin cảm ơn các Thầy Cô ở phòng Đào tạo sau đại học, Trường Đạihọc Công nghệ thông tin, đã hỗ trợ tạo điều kiện thuận lợi cho em trong quá trình họctập cũng như quá trình thực hiện đề tài này
Em cũng xin cảm ơn các anh chị, các bạn học viên cùng lớp đã trao đổi, thảoluận đề tài này
Mặc dù em đã nỗ lực hết sức để hoàn thành đề tài của mình nhưng dù saonhững sai sót trong đề tài là điều không thể tránh khỏi, kính mong nhận được sự góp ý
và nhận xét của Thầy
Em xin chân thành cảm ơn!
Học viên thực hiện
Phạm Ngọc Giàu
Trang 6Hiện nay, Grid Computing đang là “điểm nóng” công nghệ trên các diễn đàncông nghệ thông tin trên khắp thế giới Trên thế giới, công nghệ Grid (GridTechnologies) đang được giới khoa học – công nghệ nghiên cứu, phát triển sôi nổi.Grid Computing hiện đang là nền tảng công nghệ chủ đạo của mạng Internet thế hệmới, giữ vai trò giống như giao thức TCP/IP đối với mạng Internet hiện nay.
Ở Việt Nam hiện nay, Grid Computing đang còn là một vấn đề khá mới mẻ
Đã có một số nhóm, tổ chức nghiên cứu về Grid Computing, tuy nhiên quy mô và điềukiện nghiên cứu còn rất hạn chế Nhận thấy những ý nghĩa thiết thực của GridComputing có thể mang lại trong tương lai, tôi quyết định đi vào nghiêu cứu côngnghệ Grid Computing và một số kỹ thuật middleware
Các chương trình chạy trên môi trường lưới có một số ưu điểm nổi trội hơn sovới các chương trình chạy trên máy tính thông thường Chẳng hạn như: thời gian xử lýcông việc ngắn hơn nhờ khả năng tính toán song song, hiệu suất sử dụng tài nguyêntính toán cao hơn nhờ khả năng phân tán tài nguyên, Với những ưu điểm đó của cácchương trình Grid, tôi nghiên cứu đề tài: “Tìm hiểu công nghệ Grid Computing và Bàitoán tìm số nguyên tố Mersenne trong môi trường Grid với GT4IDE”
Tiểu luận được chia thành các chương, nội dung chính của các chương gồm có:
Chương 1: Giới thiệu chung Grid Computing
Chương 2: Grid Middleware
Chương 3: Globus Toolkit 4.0
Chương 4: Bài toán tìm số nguyên tố Mersenne trong môi trường Grid
Computing với GT4IDE
Chương 5: Kết luận và hướng phát triển
Trang 9Application(Tầng ứng dụng)
Fabric(Tầng thiết bị) Connectivity(Tầng kết nối)
Collective(Tầng kết hợp)
Internet Transport Application
Resource(Tầng tài nguyên)
Hình 2 Vấn đề GIS: Many Information Sources, Many Views
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 phải là kiến trúc dựa chuẩn, hướng mở để dễ sử dụng, liên kết hoạt
động tốt, có tính khả chuyển (portability) cao Những protocol chuẩn sẽ giúp địnhnghĩ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
Hình 3 Kiến trúc Grid tổng quát
Trong mô hình trên:
Tầng Fabric: là tầng thấp nhất của kiến trúc lưới, đại diện cho các thiết bị vật lý và
toàn bộ tài nguyên của lưới mà các tổ chức, người dùng muốn chia sẻ, sử dụng
Tầng Connectivity: định nghĩa các giao thức 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 lưới Các giao thức 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 giao thức chứng thực xây dựng trên nhữngdịch vụ liên lạc nhằm cung cấp cơ chế mã hóa, bảo mật, xác minh và nhận dạng ngườidùng và tài nguyên
Tầng Resource: dựa trên các giao thức liên lạc và chứng thực của tầng Connectivity
để xây dựng các giao thức, 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
Trang 10Grid Fabric Networked Resources across Organisations
Computers Clusters Storage Systems Data Sources Scientific Instruments
Local Resource Managers
Operating Systems Queuing Systems TCP/IP & UDP
…
Libraries & App Kernels …
Distributed Resources Coupling Services
Comm Sign on & Security Information Process Data Access … QoS
Development Environments and Tools
Languages Libraries Debuggers Monitoring Resource Brokers … Web tools
Applications and Portals
Prob Solving Env.
Scientific Engineering Collaboration … Web enabled Apps
Grid Apps.
Grid Middleware
Grid Tools
nguyên riêng lẻ một cách an toàn Bản cài đặt các giao thức của tầng Resource sẽ gọicá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ộ
Tầng Collective: Trong khi tầng Resource tập trung vào các tài nguyên đơn lẻ, tầng
Collective chứa các giao thức, dịch vụ, API, SDK không liên hệ đến bất kỳ một tàinguyê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áctập tài nguyên
Tầng Application: tầng trên cùng của kiến trúc lưới bao gồm các ứng dụng của người
dùng chạy trong môi trường VO
1.1.3.2 Kiến trúc Grid thực tế
Hình 4 Kiến trúc Grid thực tế với các thành phần
Trang 11+ Tầng Middleware (Connectivity và Resource và nửa dưới của Collective):
Cung cấp các dịch vụ như quản lý tiến trình ở xa, kết hợp, phân phối các tài nguyên, quản lý truy cập không gian lưu trữ, đăng ký và tìm kiếm thông tin, bảo mật và các khía cạnh của QoS như đặt trước, mua bán và trao đổi tài nguyên,… Các dịch vụ này
là sự trừu tượng hoá tính phức tạp và đa dạng của các tài nguyên bằng cách cung cấpmột phương pháp chung để truy cập tài nguyên
+ Tầng Tools (Collective): Tận dụng các giao diện ở tầng Core Middleware để cung
cấp các dịch vụ có mức độ trừu tượng cao hơn Tầng này bao gồm các môi trường phát triển phần mềm, công cụ lập trình, resource broker, bộ lập lịch,…
+ Tầng Application và Portal (Application): Giống như tầng Application trong
kiến trúc tổng quát
1.1.4 Chuẩn hóa Grid
Để đáp ứng nhu cầu xây dựng các chuẩn, tổ chức Global Grid Forum (GGF) ra đời
và đang phát triển các chuẩn về Grid Computing như: Open Grid ServicesArchitecture (OGSA), Open Grid Services Infrastructure (OGSI), Web ServicesResource Framework (WSRF) Chi tiết về các chuẩn như sau:
Open Grid Services Architecture(OGSA): chuẩn 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 và có thể được áp dụng trongbất kỳ một hệ thống lưới nào OSGA cũng xác định mô hình lập trình cho Gridservice Tuy nhiên, OGSA không đi sâu vào mặt kỹ thuật của vấn đề, nó chỉ giúpphân biệt cái gì là lưới và cái gì không phải là lưới OGSA xác định Grid servicephả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
Hình 5 Mô hình OGSA
Trang 12 Open Grid Service 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 1.0 xác định 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ãi các hoạt động chungnhất của tất cả Grid service, vạch ra các cơ chế để tạo lập; quản lý những Gridservice, cơ chế trao đổi thông tin giữa các Grid service Chuẩn OGSI dựa trên cácchuẩn khác như XML, Web service, WSDL, … do đó nó cũng là một chuẩn mở
Web Services Resource Framework(WSRF):
Nhằm đạt được một sự “hội tụ” giữa dịch vụ web và dịch vụ lưới, một chuẩn mới
đã được đưa ra trong GlobusWORLD 2004 (tháng 1/2004), thay thế cho OGSI Đó
là Web Services Resource Framework (WSRF) WSRF cho phép đem tính chấtstateful vào dịch vụ web, cũng như thêm nhiều chức năng hữu ích khác Sự ra đờicủa WSRF sau một nỗ lực chung của cộng đồng Grid và Web Serivice Cộng đồngWeb Service vốn sử dụng dịch vụ web từ lâu, và không quen với việc dịch vụ weblại có trạng thái, như đặc tả của OGSI WSRF cho phép vẫn giữ nguyên đặc trưngban đầu của dịch vụ web, nhưng vẫn thỏa mãn yêu của của cộng đồng Grid khi sửdụng trạng thái trong các dịch vụ
Hình 6 Mô hình WSRF mở rộng Web Service.
Để dễ hình dung, mối liên hệ giữa WSRF và OGSA là như thế nào? Rất đơn giản,WSRF cung cấp dịch vụ có trạng thái (stateful service) mà OGSA cần Trên hình,WSRF xác định stateful service (chứ không phải là dịch vụ được yêu cầu bởiOGSA) Nói cách khác, OGSA là kiến trúc (architecture), trong khi WSRF là hạ
Trang 13Như vậy, WSRF trở thành một phần của các dịch vụ web, thay vì một sự chỉnh sửa,chắp vá (patch) trên những cái hiện có như cách OGSI đã làm.
Trong khái niệm WSRF, có cặp Web Service – Resource kết hợp Đó là WebService và Stateful Resource Nghĩa là trạng thái bây giờ đã được gắn vào tàinguyên, chứ không phải dịch vụ nữa Mỗi cặp như vậy có một định danh duy nhất.Khi thao tác với dịch vụ web, mà cần dùng tới tài nguyên nào đó, nó sẽ được triệugọi qua định danh này Trạng thái có thể được cụ thế hóa qua XML Mỗi cặp WebService - Resource như thế có thể được sử dụng bởi nhiều dịch vụ web khác nhau
OGSA, Web Service và Grid Service: Cũng như các kiến trúc khác, OGSA
cũng cần chọn một middleware phù hợp cho việc xây dựng hệ phân bố của mình.Trong số đó có thể kể đến CORBA, RMI, Tuy nhiên, dịch vụ web được chọn vì
có những ưu điểm nổi trội, mà ta sẽ bàn đến sau đây
OGSA dựa trên công nghệ web service đã có từ trước, và trong một chừng mựcnào đó, cải tiến nó để phục vụ cho yêu cầu của mình Ưu điểm của dịch vụ web cóthể kể đến như:
- Sự phân tách rạch ròi giữa interface (giao tiếp, cho biết dịch vụ là gì?) vàimplementation (thực thi, dịch vụ làm như thế nào?)
- Dựa trên ngôn ngữ XML được sử dụng rất rộng rãi và uyển chuyển hiện nay
- Được sử dụng rộng rãi và có nhiều ứng dụng sẵn có hỗ trợ Công nghệ SOAcũng đang rất được ưa chuộng
Dịch vụ web tỏ ra rất phù hợp, đáp ứng được những yêu cầu của OGSA và hệthống lưới nói chung, khi mà nó có thể giải quyết được vấn đề khó khăn khi phảilàm việc trong một môi trường hỗn tạp như Grid
Tuy nhiên, bên cạnh những ưu điểm kể trên, dịch vụ web cũng có một số hạn chế,mang tính chất đặc thù Đó là tính vô trạng thái (stateless), không-tạm thời (Non-transient/ Persistent), thiếu sự hỗ trợ cho dịch vụ về thông báo, quản lý thời giansống, …
Do đó, OGSA đã định nghĩa khái niệm Grid service để khắc phục những hạnchế trên Grid service (dịch vụ grid), thực ra cũng là dịch vụ web cải tiến, và tương
Trang 14thích với dịch vụ web Điểm khác biệt chính là nó có thêm trạng thái cho tàinguyên (stateful resource), đáp ứng yêu cầu của Grid.
Grid service có thể duy trì trạng thái trong, cho suốt chu trình sống của một dịch
vụ Việc tạo và hủy là hoàn toàn linh động Mỗi Grid service có một định danhriêng và được quản lý toàn cục bằng Grid Service Handle (GSH) Những đặc tả này
được định nghĩa trong lớp cơ sở hạ tầng do OGSA tạo ra: Open Grid Services
Infrastructure (OGSI) Tất cả dịch vụ trong OGSA (ví dụ như Job management,
security, …), sẽ dựa trên và thực thi với Grid service Như vậy, thực chất OGSAdựa trên Grid service, một khái niệm mới trong hệ thống lưới
Hình 7 Mối quan hệ giữa OGSA và OGSI với Grid service, Web service
1.1.5 Sự tiến hóa của công nghệ Grid
Initial exploration(1996-1999; Globus 1.0): mở rộng application experiments;core protocols
Data Grids(1999; Globus 2.0+): phân tích và quản lý dữ liệu qui mô lớn
Open Grid Services Architecture(2001, Globus 3.0): kết hợp Web services,hosting environments, resource virtualization Databases, higher-levelservices
Trang 15Hình 8 Grids and Open Standards
1.2 Công nghệ Grid Computing
1.2.1 Giới thiệu chung
Theo đà phát triển chung của nhân loại, số lượng máy tính hiện nay trên thế giới làrất lớn với tổng năng lực xử lý và lưu trữ khổng lồ Tuy nhiên, các ứng dụng ngàynay chỉ mới sử dụng được một phần rất nhỏ năng lực xử lý và lưu trữ do các ứngdụng chỉ chạy trên các máy tính cục bộ, đơn lẻ, phân tán khắp nơi theo địa lý Từ
đó dẫn đến lãng phí rất lớn Một câu hỏi được đặt ra là làm sao tận dụng tốt hơnnăng lực của máy tính?
Thực tế đó khiến người ta nảy sinh ý tưởng kết hợp nhiều máy tính phân tán khắpnơi trên thế giới thành một siêu máy tính khổng lồ nhằm tận dụng năng lực tínhtoán, lưu trữ hiện đang lãng phí để giải quyết bài toán phức tạp với chi phí thấphơn Cùng với sự phát triển của công nghệ mạng, ý tưởng về “siêu máy tính” toàncầu đã có cơ sở để trở thành hiện thực Đến những năm cuối thế kỷ XX, các dự ánnghiên cứu đầu tiên về lĩnh vực này đã khai sinh ra công nghệ Grid Computing.Công nghệ Grid Computing ra đời được dự đoán là công nghệ nền tảng của thế kỷXXI, làm thay đổi cách thức tính toán
Grid Computing có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ
và thiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize) thành một
cỗ máy tính lớn Vì Grid Computing giải phóng những khả năng tính toán không
Open Grid Services Arch
GGF: OGSI, … (+ OASIS, W3C) Multiple implementations, including Globus Toolkit
Web services
Globus Toolkit
Defacto standards GGF: GridFTP, GSI
X.509, LDAP, FTP, …
App-specific Services
Trang 16được sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệptăng cường rất nhiều về tốc độ, sức mạnh xử lý thông tin và sự liên kết, thúc đẩycác quy trình tính toán mật độ cao Trong khi đó, chi phí vẫn sẽ được giữ ở mứcthấp vì Grid Computing có thể được xây dựng từ chính hạ tầng hiện có, góp phầnđảm bảo sự huy động tối ưu các khả năng tính toán.
Grid Computing cho phép ảo hóa các chức năng tính toán phân tán cũng như cácnguồn xử lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thốngđơn đồng nhất, cho phép người sử dụng và các ứng dụng truy cập thông suốt vàocác tính năng điện toán rộng lớn Giống như người lướt web xem một nội dungthống nhất qua web, người sử dụng Grid Computing cũng nhìn thấy một máy tính
ảo cực lớn duy nhất
Trọng tâm của Grid Computing dựa trên một tập hợp mở của nhiều chuẩn và giao
thức, ví dụ: Kiến trúc dịch vụ lưới mở (OGSA), cho phép liên lạc qua nhiều môi
trường hỗn tạp và phân tán về địa lý Với Grid Computing, các tổ chức và doanhnghiệp có thể tối ưu hóa khả năng tính toán và các nguồn dữ liệu, tập trung chúnglại thành những khối sức mạnh lớn, chia sẻ chúng qua mạng và thúc đẩy sự phốihợp, tương tác
1.2.2 Lợi ích và ứng dụng
Một là, 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ảnhrỗi hơn để xử lý, hoặc phân nhỏ một công việc rồi gửi các công việc con đến cácmáy tính nhàn rỗi khác cho xử lý song song, … Grid cho phép kết hợp nhiềukhông gian lưu trữ nhàn rỗi để tạo thành một không gian lưu trữ lớn hơn, được cấuhình để tăng hiệu suất, độ tin cậy hơn so với các máy đơn lẻ thông qua các cơ chếquản lý dữ liệu
Hai là, sử dụng CPU song song: Khả năng sử dụng các CPU song song là một đặc
Trang 17họ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 đòihỏ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ấtnhiều lĩnh vực khác
Ba là, 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àmviệ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ântá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 Gridcho phép mở rộng trên phạm vi toàn cầu khi đưa ra những chuẩn quan trọng chophé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
Bốn là, 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ị đặcbiệt, phần mềm, bản quyền, các dịch vụ, … Ví dụ, nếu người dùng muốn tăngbăng thông kết nối Intenet của mình để thực hiện một ứng dụng khai thác dữ liệu,ứng dụng đó có thể được gửi đến nhiều máy tính trong Grid có các kết nối Internetriêng, từ đó băng thông truy cập Internet của anh tăng lên rất nhiều lần,…
Năm là, 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ụ, có thể
sử dụng các “chip” có các mạch dự phòng để có thể phục hồi lỗi khi có sự cố vềphần cứng Một máy tính có thể sử dụng các bộ vi xử lý đôi, cho phép “cắmnóng”, để khi có một vi xử lý bị hỏng, có thể thay thế cái khác mà không làmngư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 quá đắt khi phụ kiện đi kèm cũng phải nhân lên
Sáu là, 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ộimớ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.Bên cạnh đó, đối với tầm quản lý vĩ mô, có nhiều dự án sử dụng cơ sở hạ tầngcông thông tin, Grid cho phép quản lý độ ưu tiên sử dụng tài nguyên của các dự ánnày Trước đây, mỗi dự án thường chịu trách nhiệm quản lý một số tài nguyên,
Trang 18thường xảy ra tình trạng các tài nguyên của dự án này đang nhàn rỗi trong khi dự
án khác đang gặp vấn đề, thiếu tài nguyên do gặp các sự kiện không lường trước.Với tầm nhìn rộng hơn do Grid cung cấp, các tình huống trên có thể được giải
quyết dễ dàng Công nghệ Grid Computing có thể được ứng dụng trong các bài
toán trong khoa học lẫn thương mại:
+ Đòi hỏi năng lực xử lý lớn (High-performance computing), yêu cầu rút ngắn thờigian hoàn thành kết quả càng nhanh càng tốt
+ Hướng dữ liệu, đòi hỏi phải thu thập, lưu trữ, phân tích một lượng lớn dữ liệu,mang tính phân tán
+ Cần sự hợp tác, chia sẻ giữa các cộng đồng
Trang 19Chương II GRID MIDDLEWARE
2.1 Grid Middleware
Động lực dẫn đến sự cần thiết của Grid Middleware trong hệ thống lưới:
Một là, tính không đồng nhất (Heterogeneity): tài nguyên trên lưới là đa dạng,
thuộc nhiều loại khác nhau từ kiến trúc phần cứng(CPU, các loại thiết bị lưu trữ, thiết
bị truyền thông,…) đến phần mềm (hệ điều hành, các thư viện, công cụ), ngôn ngữ
Hai là, tính quy mô lớn (large-scale): một hệ thống lưới kết hợp nhiều dạng tài
nguyên trên phạm vi cả thế giới cho nên một hệ thống lưới sẽ rất phức tạp và khó mà
có thể biết được một hình thù cụ thể của nó tại một thời điểm
Ba là, một hệ thống lưới phải có tính thích nghi, đáp ứng cao và có khả năng
mở rộng: hệ thống lưới phát triển trên môi trường không đồng nhất đương nhiên phải
có khả năng xử lý ngoại lệ, chịu đựng lỗi tốt, có thể bắt tay với một số hệ thống khác
để thực hiện tác vụ nhưng vẫn đảm bảo vấn đề an toàn thông tin Bên cạnh đó, hệthống lưới phải có khả năng mở rộng, hệ thống phải đảm bảo là khi gia tăng hay giảm
đi các phần tử trên lưới (tăng giảm quy mô) thì hệ thống không cần phải điều chỉnh lớnlao làm ảnh hưởng đến hoạt động của cả hệ thống như là cả hệ thống phải sụp đổ tạmthời khi thêm, bớt một đơn vị lưới nào đó sau đó mới hoạt động trở lại
Middleware là thành phần trung gian đáp ứng được các yêu cầu, làm trung gian đểtương tác giữa các ứng dụng lưới từ phía người dùng và môi trường lưới bên dưới
Hình 9 Mô hình hoạt động của lưới sử dụng Grid Middleware
Trang 202.1.1 Khái niệm
Grid middleware là gói phần mềm nằm giữa lớp ứng dụng và hệ điều hành
Grid middleware quản lý security, truy cập và trao đổi thông tin:
Cung cấp khả năng kết nối số lượng người dùng lớn
Che giấu tài nguyên chia sẻ như máy tính, trung tâm dữ liệu, những thiết bịcần thiết khác…
Cung cấp các công cụ để quản lý, khởi tạo các liên kết trao đổi thông tin
2.1.2 Kiến trúc
Hình 10: Các thành phần của middleware nằm giữa tầng Application và Fabric
Grid middleware gồm 2 lớp chính:
Lớp các dịch vụ tập hợp (Collective services): Có khả năng quản lý một tập các
tài nguyên trong khi lớp tài nguyên chỉ tập trung vào việc tương tác giữa các tàinguyên đơn lẻ Và nó dựa trên lớp kết nối và lớp tài nguyên để hiện thực rất nhiềuhành vi chia sẻ mà không cần phải thay thế những yêu cầu mới ứng với mỗi tài nguyênđược chia sẻ Các dịch vụ có thể kể đến là:
Directory service: cho phép các thành viên tham gia vào tổ chức ảo có thể khám
phá ra tài nguyên hay các thuộc tính của tài nguyên Nó cho phép người dùng
Trang 21truy vấn về tài nguyên bằng tên hoặc các thuộc tính như kiểu, sự sẵn sàng, haytải
Coallocation-allocation, scheduling, and brokering services: cho phép các
thành viên của tổ chức ảo yêu cầu việc định vị cho 1 hay nhiều tài nguyên vàphân bổ nhiệm vụ cho những tài nguyên thích hợp
Monitoring and diagnotics services: hỗ trợ việc theo dõi các tài nguyên của tổ
chức ảo về lỗi, việc tấn công hay việc quá tải
Data replication services hỗ trợ quản lý việc lưu trữ tài nguyên để tối đa hiệu
quả truy xuất như thời gian đáp ứng, khả năng tin cậy, chi phí,…
Grid-enabled programming systems: cho phép các mô hình lập trình thân thiện,
chẳng hạn như MPI (Message-passing Interfaces),…
Workload management systems and collaboration frameworks
Software discovery service
Community authorization servers
Community accounting and payment services
Collaboratory services
Lớp các giao thức kết nối tài nguyên – Resource and Connectivity Protocols:
có chức năng giao tiếp một cách dễ dàng và an toàn Lớp kết nối định nghĩa giao thứcgiao tiếp(communication) và giao thức xác thực(authentication) Giao thức giao tiếpcho phép các thông điệp có thể được trao đổi với nhau giữa các tài nguyên của lớpFabric Giao thức xác thực xây dựng trên các dịch vụ giao tiếp bằng cách cung cấp cơchế bảo mật mã hóa cho việc xác định người dùng và tài nguyên
Các giải pháp xác thực cho môi trường tổ chức ảo (VO – Virtual Organization) có thể
có 4 đặc tính sau:
Single sign-on: Người dùng có thể được xác thực chỉ 1 lần bằng cách đăng
nhập vào hệ thống và có thể truy xuất vào nhiều tài nguyên lưới
Việc ủy quyền: Người dùng có khả năng ủy quyền cho 1 chương trình khác để
thực thi giống như những hành vi của người dùng khi người dùng đã được xácthực Đến lượt chương trình có thể ủy quyền cho nhưng chương trình khác 1cách tùy chọn
Việc tích hợp với nhiều giải pháp bảo mật cục bộ: Đó là việc mỗi tổ chức, mỗi
tài nguyên đã có nhưng giải pháp bảo mật riêng cho mình Do đó, các giải pháp
Trang 22bảo mật của hệ thống lưới sẽ tận dụng các giải pháp bảo mật cục bộ có sẵn này
mà không cần phải thay thế 1 giải pháp bảo mật mới, và chỉ cần cho phép ánh
xạ vào môi trường cục bộ
Mối quan hệ đáng tin cậy dựa trên người dùng: Để người dùng có khả năng
truy xuất vào tài nguyên từ nhiều nhà cung cấp khác nhau, thì hệ thống bảo mậtkhông cần phải yêu cầu các nhà cung cấp tài nguyên phải liên lạc với nhau đểcấu hình cho môi trường mạng Chẳng hạn, nếu người dùng có quyền truy xuấtvào tài nguyên của tổ chức A và B, thì người dùng có thể truy xuất vào cả 2 tàinguyên của tổ chức A và B với nhau mà không cần sự liên lạc giữa những nhàquản trị bảo mật của tổ chức A và B
Cũng trong lớp này, các tài nguyên đơn lẻ có khả năng chia sẻ Nó định nghĩa cácgiao thức về sự thương lượng an toàn, khởi tạo, theo dõi, điều khiển, tài khoản và
sự trả chi phí cho việc chia sẻ các thao tác trên những tài nguyên đơn lẻ Lớp tàinguyên sẽ được hiện thực bởi các giao thức để truy xuất và điều khiển các tàinguyên cục bộ, bao gồm 2 lớp giao thức chính:
Giao thức thông tin (Information protocol): được sử dụng để rút ra thông tin về
cấu trúc và trạng thái của tài nguyên chẳng hạn như cấu hình của tài nguyên, tảihiện thời, hay chính sách sử dụng,…
Giao thức quản lý (Management protocol): được sử dụng để thỏa thuận việc
truy xuất vào tài nguyên chia sẻ, chẳng hạn về yêu cầu tài nguyên (bao gồmviệc đặt chỗ và chất lượng dịch vụ) và các thao tác thực hiện như khởi tạo, truyxuất tài nguyên,…
Trang 23 Định nghĩa những giao thức chuẩn: grid middleware định nghĩa nội dung và
chuỗi các sự kiện trao đổi thông điệp sử dụng các thao tác yêu cầu từ xa Điều nàyrất quan trọng và cấp thiết để thực hiện tính interoperability (khả năng mà 2 thựcthể khác nhau có thể làm việc với nhau và được thực hiện bởi các giao thức thôngthường) mà hệ thống lưới phụ thuộc vào
Cung cấp các API chuẩn: đó là các giao diện lập trình ứng dụng chuẩn, định
nghĩa những giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành phần củaGrid bằng cách cho phép những thành phần mã nguồn được sử dụng lại
Hình 11 Vai trò của Grid Middleware và các công cụ.
Cung cấp các trừu tượng hướng mạng ở mức cao gần với yêu cầu ứng dụng choviệc phát triển hệ thống rời rạc
Information services
Data mgmt
.
Resource mgmt
Collaboratio n Tools
Data Mgmt Tools
Distributed simulation
.
ne t
Collaboration Tools
Data Mgmt Tools
Distributed simulation
.
netCredit to Ian Foster
Trang 24 Cung cấp nhiều dịch vụ phát triển, như đăng nhập và bảo mật giúp cho việchoạt động hiệu quả trong môi trường mạng.
2.2 Một số kỹ thuật thông dụng của Grid Middleware
2.2.1 GLOBUS TOOLKIT
2.2.1.1 Giới thiệu
Globus là phần mềm nguồn mở được dùng để xây dựng các hệ thống lưới và các ứngdụng trên nền tảng lưới Tookit này cung cấp các dịch vụ và thư viện điểu khiển,khám phá và quản lý tài nguyên, quản lý tập tin, cung cấp các cơ chế bảo mật dữ liệucho người dùng trong hệ thống lưới Các dịch vụ, giao tiếp và giao thức của nó chophép người dùng có thể dễ dàng truy xuất tới các tài nguyên ở xa ngay trên máy cục
bộ của mình
Globus được phát triển bởi tổ chức Globus Alliance, phiên bản 1.0 ra đời vào năm
1998, phiên bản gần đây nhất là phiên bản 5.0 ra đời vào tháng 1 năm 2010
2.2.1.2 Kiến trúc
Cấu trúc của Globus gồm 3 nhóm dịch vụ chính, các dịch vụ này được truy xuất
thông qua một tầng bảo mật (Security Layer) Ba nhóm dịch vụ đó là: dịch vụ quản lý tài nguyên (Resource Management), dịch vụ quản lý thông tin (Information Service), dịch vụ quản lý dữ liệu (Data Management) Globus đóng gói các dịch vụ này lại với
nhau, chúng có thể được sử dụng một cách độc lập hoặc kết hợp chung với nhau đểphát triển ứng dụng
Trang 25Tầng local-service chứa các dịch vụ của hệ điều hành, dịch vụ mạng như là TCP/
IP, … Tầng chính chứa các công cụ để xây dựng các cơ chế bảo mật, gửi các
công việc để thực thi (job submission), quản lý tài nguyên, quản lý thông tin tài
nguyên Tầng cao hơn cung cấp các dịch vụ và công cụ để tương tác với các dịch
vụ bên dưới và hiện thực các chức năng còn thiếu
Tầng bảo mật GSI
Tầng này cung cấp các phương thức xác thực của người dùng trong môi trườnglưới và cơ chế bảo một trong trao đổi dữ liệu Nó dựa trên nền tảng SSL, PKI vàchuẩn X.509 Tầng GSI cung cấp các dịch vụ, giao thức và thư viện để thực thicác vấn đề bảo mật trong môi trường lưới như:
- Xác thực một lần (single sign-on) trong việc sử dụng các dịch vụ của hệ thống lưới thông qua chứng nhận (certificate) của người dùng.
- Xác thực việc sử dụng tài nguyên thông qua certificate của host
- Mã hóa dữ liệu
- Ủy quyền
Người dùng muốn truy cập vào các tài nguyên của hệ thống lưới cần phải có
một certificate subject ánh xạ với một tài khoản trên máy ở xa được cung cấp
bởi người quản trị của hệ thống Chứng thực này cần phải được ký bởi một tổchức(CA) mà hệ thống tin tưởng Hầu hết các dịch vụ đòi hỏi người dùng phảiđược xác thực trước khi sử dụng các chức năng của nó Điều này đảm bảo việcchống thoái thác trách nhiệm và bảo mật dữ liệu cho cả người sử dụng lẫn hệthống
Nhóm dịch vụ quản lý tài nguyên (Resource Management)
Gói này gồm các thành phần chính sau:
- Globus resource allocation manager (GRAM): GRAM cung cấp khả năng
thực thi các công việc trên các máy ở xa, và trả kết quả thực hiện lại cho trình
Trang 26khách Khi người dùng gửi một công việc lên gatekeeper deamon trên máy ở xa, thì gatekeeper deamon sẽ kiểm tra xem người dùng này đã được xác thực hay
chưa Nếu người dùng này đã được xác thực thì nó sẽ tạo một job manager đểquản lý và điều khiển việc thực thi công việc này Tùy thuộc vào biểu thời gian
(scheduler) của hệ thống mà job manager có được tao ra ngay lập tức hay không.
Có nhiều loại biểu thời gian như: Portable batch system (PBS), Load sharing
facility (LSF), và Load Leveler Trong GRAM chứa Globus resource specification language (RSL) dùng để chứa các thông tin về tài nguyên mà một
công việc cần để thực thi như số lượng CPU, kích thước tối thiểu của bộ nhớ,…
- Globus access to secondary storage (GASS): GASS là cơ chế truy cập tới các
tập tin trong hệ thống, nó cho phép ứng dụng có thể đọc, ghi các tập tin trên hệthống từ xa GASS sử dụng GSI để đảm bảo đúng quyền hạn khi đọc ghi dữ liệutrên hệ thống
Nhóm dịch vụ cung cấp thông tin của tài nguyên (Information Services)
Gói này cung cấp thuộc tính của các nút (node) tham gia vào hệ thống lưới
Monitoring and dscovery service (MDS) cung cấp các hổ trợ để thông báo và
truy vấn các thông tin tài nguyên của hệ thống MDS gồm ba tầng: tầng dưới
cùng là Information providers (IPs), nó chịu trách nhiệm tập hợp dữ liệu về thông tin, trạng thái của tài nguyên; tầng thứ hai là Grid resource information
service (GRIS), nó chịu trách nhiệm trả lời các truy vấn về thông tin của tài
nguyên và cập nhật vào cache; tầng trên cùng là Grid information index service (GIIS), nó làm đề mục (index) cho thông tin tài nguyên được cung cấp bởi
GRIS và GIIS khác mà đăng ký với nó
Nhóm dịch vụ quản lý dữ liệu (Data Management)
Gói này cung cấp các tiện ích và thư viện để truyền tải, lưu trữ và quản lý cáctập dữ liệu lớn Nó gồm 2 thành phần chính:
- GridFTP: Đây là giao thức mở rộng của giao thức FTP nhằm đảm bảo dữ
Trang 27quả Ngoài ra, nó được chạy trên tầng GSI nhằm đảm bảo quá trình truyền nhậnđược xác thực đúng người, đúng quyền.
- Replica location and management: thành phần này hỗ trợ một file có thể được lưu trữ nhiều nơi trong môi trường lưới Replica location service (RLS)
chịu trách nhiệm tạo và xóa các bản sao (replica)
2.2.2 UNICORE
2.2.2.1 Giới thiệu
UNICORE cung cấp một môi trường lưới bao gồn client và server UNICORE hỗ
trợ việc truy cập tới các tài nguyên tính toán và dữ liệu trong môi trường lưới mộtcách dễ dàng, liền mạch và an toàn
Trang 28- Tầng người dùng: người dùng chạy UNICORE client trên máy trạm hoặc máy
cá nhân
- Tầng máy chủ: Mỗi trung tâm máy tính tham gia định nghĩa một hoặc một vài
Usite (UNICORE Grid site) để trình khách có thể kết nối vào
- Tầng hệ thống: Usite cung cấp cơ chế truy cập đến các tài nguyên tính toán và
tài nguyên dữ liệu Chúng được tổ chức thành một hoặc một vài Vsite (Virtualsite) Vsite có thể xem như là một hệ thống thực thi và lưu trữ tại các máytrung tâm
UNICORE Client bao gồm hai thành phần: JPA (job preparation agent) và JMC
(job monitor component) JPA dùng để khởi tạo các công việc, JMC điều khiển
việc nhận kết quả thực thi công việc Các công việc, trạng thái của một yêu cầu
và kết quả thực thi được mô tả trong AJO (abstract job object) Trình khách kết nối với UNICORE Usite gateway và gửi công việc thông qua các AJO.
UNICORE Gateway là lối vào duy nhất cho tất cả các kết nối với Usite Nó cung
cấp một địa chỉ và một cổng để người dùng có thể kết nối vào bằng cách sử dụnggiao thức SSL
UNICORE Vsite gồm hai thành phần: NJS (network job supervisor) và TSI
(target system interface) NJS quản lý tất cả các công việc được gửi vào hệ thống
UNICORE, thực hiện việc xác thực người dùng bằng cách tìm kiếm một chứngthực hợp lệ của người dùng trong cơ sở dữ liệu của nó UUDB TSI nhận các côngviệc từ NJS và đưa chúng vào hệ thống để thực thi
2.2.2.3 Tổng quan về quá trình thực hiện một công việc trong UNICORE
Trình khách UNICORE tạo, thao tác, quản lý các công việc, đồng bộ các côngviệc, di chuyển dữ liệu giữa các hệ thống, các site Trình khách tạo một AJO đểgửi công việc về cho trình chủ Trình chủ UNICORE sẽ thực thi các công việcsau:
Trang 29- Đồng bộ hóa các action với nhau.
- Chuyển các công việc và dữ liệu giữa các máy trạm, các hệthống, và các site với nhau
Một đơn vị thực thi của UNICORE là một công việc NJS sẽ thực thi các côngviệc do người dùng gửi vào hệ thống Một công việc có thể có một hoặc nhiềucông việc nhỏ Các công việc nhỏ cũng là một công việc và được xem như là mộttác vụ đơn giản
Khi NJS thực thi một công việc, nó sẽ tạo một thư mục trên hệ thống cho công
việc này Thư mục này được xem như là một Uspace của công việc Tất cả các tập tin sử dụng trong quá trình thực thi công việc sẽ được lưu trữ trong Uspace
của công việc Tất cả các tác vụ thực thi trong quá trình thực thi một công việc
đều không được phép truy cập trực tiếp vào các tập tin của hệ thống (Xspace).
Thay vào đó, khi một tác vụ nào đó muốn sử dụng một tập tin của hệ thống , nó
sẽ chép tập tin đó vào Uspace, lúc nào tất cả các thao tác trên tập tin sẽ được thực hiện trên tập tin được lưu trữ trong Uspace Khi AJO hoàn thành việc thực thi thì
Uspace của nó sẽ được xóa đi.
2.2.3 GLITE(GEE-LITE)
2.2.3.1 Giới thiệu
gLite (phát âm là gee-lite) được triển khai bởi dự án The Enabling Grids for
E-sciencE (EGEE – phát âm là ee-gee) gLite là kết quả hợp tác nghiên cứu của hơn
80 thành viên thuộc 12 viện, trung tâm nghiên cứu Glite cung cấp mộtframework để xây dựng các ứng dụng để khai thác sức mạnh của việc tính toán
và lưu trữ phân bố qua mạng internet Phiên bản chính thức là glite3 công bố
5-2006, phiên bản hiện tại là gLite 3.2 (thời điểm 24-03-2010), hỗ trợ các hệ điềuhành họ Linux Thống kê ở thời điểm tháng 5 năm 2006 gLite có phạm vi trên 42nước, 187 site, 25 ngàn CPU (tương đương dung lượng lưu trữ là 5PB) Thời
Trang 30điểm hiện tại (năm 2010), có 56 quốc gia tham gia, 375 site và trong đó Việt Namcũng có 2 site.
gLite kết hợp nhiều thành phần trên các dự án khác nhau như: Condor, Globus,
Hệ thống Grid với gLite hợp, quản trị các tài nguyên và dịch vụ trong phạm vi
những Tổ chức ảo VO (Virtual Organization), là một cách tổ chức hệ thống lưới
mô phỏng theo dạng tổ chức thật, giúp cho nhà quản trị có thể dễ dàng quản trị hệthống cũng như quản trị người dùng Một VO bao gồm một tập các cá nhân hoặc
tổ chức mà có quyền truy cấp đến máy tính, dữ liệu, phần mềm và các tài nguyênkhác phục vụ cho việc giải quyết các vấn đề hợp tác và các mục đích khác trongnhiều lĩnh vực từ khoa học đến công nghiệp
2.2.3.2 Kiến trúc
gLite hoạt động theo hướng dịch vụ (SOA), tùy theo ngữ cảnh mà có thể có mộthoặc nhiều dịch vụ tham gia để xử lý công việc
Hình 14 Kiến trúc gLite
Các dịch vụ trên gLite được chia làm 5 nhóm chính, cụ thể như sau:
- Phương thức Grid Access hỗ trợ giao tiếp giữa lưới và người dùng, giao tiếp
Trang 31- Nhóm dịch vụ Helper gồm các dịch vụ hỗ trợ người dùng và giám sát, điều
chỉnh hệ thống
- Nhóm dịch vụ Security bao gồm các dịch vụ bên trong cho phép nhận dạng
các thực thể (người sử dụng, hệ thống và dịch vụ), cho phép hoặc từ chốitruy cập đến dịch vụ hay tài nguyên và cung cấp thông tin cho việc phân tíchcác sự kiện liên quan đến bảo mật Nó cũng cung cấp các chức năng choviệc bí mật dữ liệu và một dịch vụ kết nối động
- Nhóm dịch vụ Information và Monitoring cung cấp một cơ chế xuất bản và
tiêu thụ thông tin và sử dụng nó cho mục đích giám sát Hệ thống thông tin
và giám sát có thể được sử dụng trực tiếp để xuất bản, ví dụ như thông tin
liên quan đến tài nguyên trên Grid Các dịch vụ đặc biệt hơn như Job
Monitoring và Network Performance Monitoring có thể được xây dựng trên
đỉnh
- Nhóm dịch vụ Data gồm các dịch vụ liên quan đến việc truy cập file và dữ liệu: Storage Element, File & Replication Catalog và Data Management Đơn vị lưu trữ là SE (Storage Element) là dịch vụ đĩa đơn giản hoặc hệ
thống lưu trữ băng phân cấp phức Dịch vụ danh mục sẽ nắm giữ vị trí dữ
liệu cũng như các siêu dữ liệu liên quan (checksum hoặc các thông về kích
thước, ngày tạo lập, hiệu chỉnh file) và dịch vụ di chuyển dữ liệu cho phép
dữ liệu được quản trị được truyền giữa các SE Việc truy cập file được điều
khiển bởi Access Control Lists (ACLs) Siêu dữ liệu đặc tả ứng dụng được
mong muốn không chỉ được lưu trữ trong các dịch vụ gLite cơ bản mà còntrong thư mục siêu dữ liệu đặc tả ứng dụng Tất cả các dịch vụ quản trị dữliệu hoạt động trên các file đơn hoặc là tập hợp các file
2.2.3.3 Một số đặc điểm trên các nhóm dịch vụ chính
Kịch bản như hình sau sẽ cho thấy cách nhìn tổng quát về các thành phần trên
Security Services.
Trang 32Hình 15 Kịch bản Security
Mô tả kịch bản:
Bước 1: Người sử dụng thu được ủy quyền Grid từ các lưu trữ ủy quyền và các
token cần thiết mà xác nhận quyền người sử dụng truy cập tài nguyên Các ủy quyếnnày có thời gian sống ngắn và được truyền từ các ủy quyền dài hạn hơn, chẵn hạnnhư chứng nhận nhận dạng X.509 được đưa ra bởi CA EGEE sử dụng myProxy là
bộ lưu trữ ủy nhiệm và Virtual Organization Membership Service VOMS như một
cấp quyền thuộc tính VOMS cũng còn được sử dụng để quản lý các thành viên củaVO
Bước 2: Người sử dụng và các bộ chứa dịch vụ sẽ xác thực nhận dạng lẫn nhau và
thiết lập một kênh kết nối bảo mật qua mạng (mở) với việc bảo vệ tích hợp, xác thực
và tin cậy và trên đó thông điệp SOAP được truyền Mặc định nó được hoàn tất bởiviệc sử dụng HTTP qua TLS Và sự kiện kết nối được thiết lập sẽ được ghi lại
Bước 3: Trong việc xác thực ở bước 2, lớp xác thực đánh giá việc nhận dạng người
dùng với anchor và thông tin thu hồi ủy quyền nếu nó tồn tại Kết quả của việc đánhgiá này sẽ ghi lại Các bộ chứa dịch vụ tiếp nhận payload và định hướng nó đến cácđiểm cuối chính xác Trong trường hợp bảo mật cấp độ thông điệp, việc kiểm tra tính
Trang 33Bước 4: Thủ tục cấp quyền bảo đảm rằng người dùng sẽ được cho phép truy cập
đến tài nguyên, bởi việc xác nhận thuộc tính kết hợp và chính sách VO (gởi cùng vớiyêu cầu) với chính sách site nội bộ và các nguồn khác của điều khiển truy cập
Bước 5: Trong trường hợp sự ủy quyền đại diện được sử dụng, người dùng sử dụng
ủy quyền đến tài nguyên được ủy quyền đóng vai trò nhân danh người dùng Chú ýtuy vậy việc ủy quyền thông thường diễn ra bởi một yêu cầu điểm cuối riêng lẻ và làphần của luồng thông điệp cấp độ ứng dụng giữa người dùng và dịch vụ
Bước 6: Đặc tả ứng dụng lấy yêu cầu Thủ tục cấp quyền có thể sử dụng cho việc
đánh giá và tham khảo thêm
Bước 7: Dịch vụ tích hợp với tài nguyên, mà lần lượt có thể được ủy quyền Kỹ
thuật Sand-boxing và kỹ thuật cô lập giới hạn tác động người dùng vào tài nguyên
trong phạm vi mong muốn tránh việc sử dụng có ý hay không định trước hay trongtình huống xấu nhất vi phạm bảo mật Điều đó bao gồm:
Sử dụng tài nguyên trong không gian người dùng khác nhau hơn trong bộchứa dịch vụ đó
Hỏi ý kiến Dynamic Connectivity Service để thực hiện tạm thời cho phép việckết nối mạng bên ngoài lẫn bên trong đến tài nguyên
Cung cấp sự bảo vệ thêm của các ủy quyền bởi việc sử dụng Active
Credential Store Nó hữu dụng trong trường hợp sử dụng dài hạn một tài
nguyên, nơi mà một sự khôi phục ủy quyền có thể cần thiết
Nhóm Information and Monitoring Services
gLite sử dụng cấu trúc R-GMA cho dịch vụ thông tin và giám sát, được thiết kế để
dễ dàng cho người dùng cuối xuất bản thông tin và truy vấn thông tin trên môitrường Grid Hình sau sẽ chỉ nguyên lý tổng quát của R-GMA Dữ liệu sẽ được viếttrong cơ sở dữ liệu ảo R-GMA bởi các producer và đọc từ nó bởi các consumer R-GMA không là một hệ thống quản trị dữ liệu phân tán Thay vào đó nó cung cấpmột hệ thống thông tin dự đoán trước và hữu dụng
Trang 34Hình 16 Cấu trúc R-GMA Trong đó:
Schema: Tác vụ đầu tiên cho người dùng là định nghĩa cái cần thiết để xuất bản.
Nó có một hay nhiều bảng theo mô hình mối quan hệ Một kỹ thuật thông dụngtrong việc thiết kế các giản đồ quan hệ là việc sử dụng khóa đại diện: là một sốnguyên nhỏ có thể được sử dụng như khóa ngoại để thiết lập mối quan hệ Một
trường hợp tiêu biểu là ký nhận một departmentId đến mỗi bộ phận và sau đó sẽ
chứa như một cột trong bảng nhân viên Điều này làm việc tốt cho cơ sở dữ liệu
được quản lý đơn với một cơ chế ký nhận giá trị departmentId, nhưng nó sẽ
không làm việc trong Grid
Producers: Producer là người cung cấp dữ liệu cho cơ sở dữ liệu ảo Việc viết dữ
liệu sang cơ sở dữ liệu ảo được biết như là publishing, và dữ liệu luôn luôn xuất bản trong những dòng hoàn thành, gọi là tuple Có 3 lớp producer: Primary,
Secondary và On-demand Mỗi loại được tạo bởi ứng dụng của người dùng và trả
về tuple đáp lại truy vấn từ comsumer Sự khác nhau chính là ở nơi tuple đến.
Consumer: Trong R-GMA, mỗi consumer đưa ra một truy vấn SQL SELECT đơn
trên cơ sở dữ liệu ảo Truy vấn này đầu tiên sẽ đối xánh với danh sách các
producer có sẵn trong registry và một tập các producer có khả năng trả lời truy
vấn được lựa chọn