Tổng quan về công nghệ Grid Computing1.1 Định nghĩa 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 p
Trang 1MỤC LỤC 1
LỜI CẢM ƠN 3
Lời nói đầu 4
Chương I Tổng quan về công nghệ Grid Computing 5
1.1 Định nghĩa 5
1.2 Lịch sử phát triển 5
1.3 Tài nguyên của Grid 6
1.3.1 Tài nguyên tính toán 6
1.3.2 Tài nguyên lưu trữ 6
1.3.3 Tài nguyên mạng: 6
1.3.4 Phần mềm, ứng dụng 6
1.4 Ích lợi & Ứng dụng 6
Chương II – Thành phần và kiến trúc grid computing 9
2.1 Các thành phần trong mô hình tính toán lưới 9
2.1.1 Phân chia theo mô hình chức năng 9
2.1.2 Các thành phần theo mô hình vật lý 9
2.2 Kiến trúc grid computing 10
2.2.1 Tầng Fabric 10
2.2.2 Tầng Connectivity 11
2.2.3 Tầng Resource 12
2.2.4 Tầng Collective 13
2.2.5 Tầng Application 14
Chương 3 – Một số Grid Middleware chính 15
3.1 Định nghĩa Grid Middleware: 15
3.2 Một số Grid Middleware 16
3.2.1 Globus Toolkit 16
Trang 23.2.2 UNICORE 18
3.2.3 Gridbus 20
3.2.4 Alhemi 23
3.3 So sánh các Grid Middleware 26
Chương IV – Xây dựng hệ thống Grid Computing trên nền tảng Alchemi Và sử dụng định luật Amdahl trong tính toán lươi 29
4 Alchemi 29
4.1 Mạng máy tính 29
4.2 Cài đặt, cấu hình và hoạt động 29
4.3 Lưới lập trình với Alchemi 37
Tài liệu tham khảo 41
Trang 3LỜI CẢM ƠN
Trước tiên, em xin gửi lời cảm ơn chân thành nhất tới PGS TS Nguyễn Phi Khứ đã tận tình hướng dẫn, giảng dạy truyền đạt những kiến thức nền tảng cơ bản cho chúng em về môn học:"Tính Toán Lưới"
Em xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ thông tin - Trường đại học Công nghệ thông tin- Đai học QG.TPHCM đã tần tình giúp đỡ và giảng dạy cho chúng em trong những môn học vừa qua
Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành tốt môn học Song chắc chắn kết quả nghiên cứu sẽ không tránh khỏi những thiếu sót, vì vậy em kính mong nhận được sự chỉ bảo và góp ý của quý thầy cô
và các bạn
Em xin chân thành cám ơn!
Hà Nội, tháng 7 năm 2013 Học viên thực hiện
Lời nói đầu Công nghệ Grid Computing ra đời đánh dấu một bước phát triển mới Trong lĩnh vực điện toán hiệu năng cao Nó cho phép tận dụng năng lực xử lý, lưu trữ cùng các tài nguyên nhàn rỗi khác để
Trang 4cung cấp một môi trường tính toán có năng lực xử lý lớn, khả năng lưu trữ dồi dào để giải quyết các bài toán phức tạp - khó có thể giải quyết được với các công nghệ hiện hành hoặc giải quyết được nhưng với chi phí rất cao - trong khoa học, thương mại Grid Computing giúp tận dụng tối đa tài nguyên, tăng cường hợp tác, giảm chi phí đầu tư trong khi vẫn cung cấp năng lực tính toán như mong muốn Hiện nay, đất nước ta đang thực hiện công cuộc công nghiệp hoá, hiện đại hóa, trong
đó việc rút ngắn sự tụt hậu, phát triển về khoa học công nghệ là yếu tố then chốt quyết định đến thành công của công cuộc đổi mới Song song với quá trình phát triển, ngày càng có nhiều bài toán mới, đòi hỏi năng lực xử lý lớn xuất hiện trong khoa học, thương mại và quản lý đất nước Các công nghệ tính toán hiện hành cũng được áp dụng nhưng không thể triển khai rộng rãi để có thể giải quyết hết các nhu cầu do chi phí đầu tư quá lớn Việc nghiên cứu, áp dụng công nghệ Grid Computing là một giải pháp tốt để giải quyết các tình huống này Hơn nữa, công nghệ Grid Computing hiện nay còn khá mới mẻ, đang trong giai đoạn hoàn thiện, việc cùng tham gia nghiên cứu với cộng đồng thế giới sẽ giúp chúng ta học hỏi kinh nghiệm, tiến tới làm chủ công nghệ, từ đó
có thể phát triển theo hướng đi của riêng mình, đáp ứng nhu cầu tính toán hiệu năng cao ngày càng tăng của đất nước với tinh thần tham gia nghiên cứu, học hỏi công nghệ, đề tài tiểu luận của em: "Tìm hiểu công nghệ Grid computing và Grid Middleware xây dựng tính toán lưới trên nên tảng Alchemi" được thực hiện nhằm đi những bước đầu tiên trong quá trình nghiên cứu, phát triển, ứng dụng Grid vào thực tế Tiểu luận nghiên cứu các vấn đề chung của công nghệ Grid Computing, xây dựng tính toán lưới trên nền tảng Alchemi, tính toán một số bài toán với Alchemi, hiệu suất bài toán với Alchemi
Trang 5Chương I Tổng quan về công nghệ Grid Computing1.1 Định nghĩa
Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau :“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải quyết các bài toán, ứng dụng có quy
mô lớn trong khoa học, kỹ thuật và thương mại Từ đó hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữa các tổ chức và tập đoàn, liên kết với nhau để chia
sẻ tài nguyên và/hoặc kỹ năng nhằm đáp ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu, toàn bộ việc liên minh này dựa trên các mạng máy tính”Một hệ thống Grid có những đặc trưng sau:
1 Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung Grid tích hợp và phối hợp tàinguyên, người dùng thuộc nhiều vùng quản lý khác nhau, nhiều đơn vị khác nhau trong một tổ chức, hay nhiều tổ chức khácnhau Công nghệ Grid tập trung giải quyết các vấn đề về bảo mật, chính sách quản trị, chi phí, thành viên,… nảy sinh trong quá trình chia sẻ và sử dụng tài nguyên
2 Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng.Grid được xây dựng trên các giao thức và giao diện tổng quát, đa dụng đểgiải quyết các vấn đề cơ bản như chứng thực người dùng, phân quyền, tìm kiếm và truy xuất tài nguyên
3 Đáp ứng yêu cầu cao về chất lượng dịch vụ.Grid cho phép sử dụng phối hợp các tài nguyên để cung cấp nhiều loại dịch vụ với các mức chất lượng khác nhau, liên quan đến ví dụ như thời gian đáp ứng, hiệu suất, tính sẵn sàng, bảo mật, cho phép kết hợp nhiều kiểu tài nguyên để đáp ứng nhu cầu phức tạp của người dùng Mục tiêu là phải phối hợp làm sao để khả năng của hệ thống sau khi kết hợp phải lớn hơn hẳn tổng khả năng của từng đơn vị cấu thành nên Grid
1.2 Lịch sử phát triển
Năm 1990, khi thuật ngữ “siêu tính toán”(metacomputing) ra đời, dùng để mô tả các dự án kết nối các trung tâm siêu máy tính của Mỹ nhằm kết hợp sức mạnh xử lý của nhiều siêu máy tính lại với nhau Đến năm 1995, 2 dự án siêu tính toán quan trọng, ảnh hưởng lớn đến các công nghệ nền tảng trong các dự án Grid ngày nay là FAFNER (Factoring via Network-Enabled Recursion) và I-WAY(Information Wide Area Year) ra đời.Khái niệm Grid ra đời ở phòng thí nghiệm Argonne National Laboratory vào tháng 7/1997.Năm 1998 IanFoster đã từng tham gia dự án I-WAY, Carl Kesselman là người tham gia dự án Globus Toolkit, một dự án nền tảng của công nghệ Grid và Metacomputing.Từ đó đến nay, việc phát triển công nghệ Grid trở nên rất sôi động với sự tham
gia nghiên cứu, đầu tư của nhiều tổ chức, tập đoàn công nghệ thông tin, nhiều quốcgia, và
đã thu được những thành tựu lớn
1.3 Tài nguyên của Grid
Các tài nguyên của Grid bao gồm các loại sau:
1.3.1 Tài nguyên tính toán
Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles) được cung cấp bởi bộ vi
xử lý của các thiết bị trong Grid Các bộ vi xử lý không cần phải cùng loại mà có thể có tốc độ, kiến trúc, chạy phần mềm khác nhau.Có 3 cách để khai thác tài nguyên tính toán của Grid:
1 Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid hay vì chạy trên máy tính cục bộ
2 Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ để có thể
thực thi song song trên nhiều bộ xử lý khác nhau
3 Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid
1.3.2 Tài nguyên lưu trữ
Trang 6Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ Mỗi thiết bị trong Grid thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng dụng trên Grid Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc các thiết bị lưu trữ khác Bộ nhớ trong thường dùng đểlưu trữ dữ liệu tạm thời cho ứng dụng, trong khi các thiết bị lưu trữ ngoài có thể được sử dụng để tăng không gian lưu trữ, tăng hiệu suất, khả năng chia sẻ và đảm bảo tính tin cậy của dữ liệu.1.3.3 Tài nguyên mạng:
Cơ chế quản lý: có tác dụng làm cho việc lưu chuyển trong mạng được tốt hơn, hiệu quả hơn thông qua các quyền ưu tiên, chế …
Cơ chế thẩm tra: cho phép xác định các đặc điểm của mạng.
+ Các kho mã nguồn: là nơi quản lý tất cả các loại tài nguyên và tất cả các phiên bản của mã nguồn …
+ Các bộ sưu tập: là cơ chế bắt buộc để hiện thực và truy vấn các bộ sưu tập cũng như các thao tác cập nhật như trong cơ sở dữ liệu quan hệ ….
1.3.4 Phần mềm, ứng dụng
Grid có thể được cài đặt các phần mềm mà có thể quá mắc để cài trên tất cả mọi máy tính trongGrid Các phần mềm này chỉ cần được cài trên một số node Thông qua Grid, khi một công việc cần đến chúng, nó sẽ gửi dữ liệu đến node đã được cài đặt phần mềm và cho thực thi Đây có thể là một giải pháp tốt để tiết kiệm chi phí về bản quyền phần mềm
1.4 Ích lợi & Ứng dụng
Một số ích lợi khi sử dụng công nghệ Grid Computing:
1 Khai thác, tận dụng các tài nguyên nhàn rỗi.Hầu hết các tổ chức đều có một lượng lớn các tài nguyên tính toán nhàn rỗi, các máy tính cá nhân thường chỉ sử dụng hết5% 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 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,…Grid cho phép kết hợp nhiều khô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ấu hì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.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ông mong đợi khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn Với Grid, có thể chuyển hoạt động đến các tài nguyên nhàn rỗi khác, hoặc có thể thêm các tài nguyên mới một cách dễ dàng, từ đó làm tăng khả năng chịu đựng của hệ thống Grid có thể quản lý nhiều loại tài nguyên, do đó có thể cho phép theo dõi tổng quan về các hoạt động sử dụng tài nguyên trong các tổ chức lớn, hỗ trợ hoạch định các chiến lược sử dụng tài nguyên
2 Sử dụng CPU song song Khả năng sử dụng các CPU song song là một đặc tính tuyệt vời của Grid,ngoài việc hỗ trợ các nhu cầu tính toán của các nhà khoa học, sức mạnh tính toán do Grid cung cấp có thể giúp giải quyết các bài toán đòi hỏi năng lực xử lý lớn trong các ngành khác như y dược, tính toán tài chính, kinh tế, khai thác dầu hoả, dự báo thời tiết, công nghiệp vũ trụ, thiết kế sản phẩm,và rất nhiều lĩnh vực khác
3 Cho phép hợp tác trên toàn thế giới Một trong những đóng góp quan trọng của công nghệ Grid Computing là cho phép và đơn giản hoá hợp tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên toàn thế giới
4 Cho phép chia sẻ, sử dụng tất cả các loại tài nguyên Không chỉ cho phép chia sẻ các chu
kỳ tính toán, dữ liệu, Grid có thể cho phép chia sẻ tất cả các loại tài nguyên mà trước đây chưa được chia sẻ, như băng thông mạng, các thiết bị đặc biệt, phần mềm, bản quyền, các dịch vụ,… Ví
dụ, nếu một người dùng muốn tăng băng thông kết nối Intenet của mình lên để thực hiện một ứng
Trang 7dụ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 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 Các hệ thống trong Grid thường rẻ và phân tán theo địa lý, do đó, nếu có sự cố về nguồn điện hay các lỗi hệ thống khác tại một vị trí, toàn bộ phần còn lại không bị ảnh hưởng Các phần mềm quản trị Grid có khả năng thực thi lại công việc trên một node khác khi phát hiện có lỗi hệ thống Nếu quan trọng hơn nữa, trong các hệ thống theo thời gian thực, nhiều bản dự phòng của các các công việc quan trọng có thể được chạy trên nhiều máy tính khác nhau trong Grid để đảm bảo độ tin cậy tối đa
6 Tăng khả năng quản trị các hệ thống Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các hệ thống hỗn tạp đem lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạ tầng công nghệ thông tin lớn, phân tán 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ầng cô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ự án nà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, thường xảy ra tình trạng các tài nguyên của dự án này đang nhàn rỗ 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.Trên đây giới thiệu một số íchlợi khi sử dụng công nghệ Grid Computing, Grid còn mang lại rất nhiều lợi ích khác mà không thể kểhết ở đây, tuỳ vào tình huống cụ thể mà đem lại các lợi ích khác nhau Vấn đề là phải hiểu rõ bản chất Grid, sử dụng tốt các công cụ nhằm khai khác tốt nhất trong các tình huống cụ thể 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ời gian 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 8Chương II – Thành phần và kiến trúc grid computing
2.1 Các thành phần trong mô hình tính toán lưới.
Để tạo thành một hệ thống theo tính toán lưới, chúng phải bao gồm nhiều thành phần Có hai tiêu chí để đánh giá và chia công việc theo từng thành phần.
2.1.1 Phân chia theo mô hình chức năng.
Về mặt chức năng thì lưới gồm các thành phần sau:
ổng tương tác (Grid portal): là một giao diện cho phép người dùng sử dụng các ứng dụng lưới, do đó lưới trở nên trong suốt với người dùng.
Thành phần bảo mật (Security): là cơ chế đảm bảo các hoạt động như xác thực, cấp quyền, bảo mật-toàn vẹn dữ liệu và tính sẵn sàng của dữ liệu.
Chức năng an ninh nút (Node Security Function): chức năng này chịu tránh nhiệm xác thực và bảo mật cho từng nút trong quá trình giao tiếp giữa nó và các thành phần khác bên trong mạng lưới Nó phụ thuộc vào hệ điều hành và các hệ thống lưới cụ thể, thường thấy là cơ chế cấp chứng chỉ quyền truy cập.
Bộ lập lịch (Scheduler): là phần phối hợp quá trình thực thi của nhiều công việc song song Đơn giản, người sử dụng có thể chọn nút thích hợp để chạy tác
vụ, sau đó chỉ việc kích hoạt lệnh để định tuyến công việc đó tới nút đã chọn Thành phần môi giới (Broker): sau khi người dùng được xác nhận quyền gia nhập vào mạng lưới bởi thành phần an ninh nút, thành phần này sẽ chỉ rõ ứng dụng của người dùng được sử dụng tài nguyên nào và đảm bảo tài nguyên được sẵn sàng sử dụng theo tham số truyền vào.
Quản lý, phân bổ tài nguyên (grid resource allocation manager, GRAM): cung cấp dịch vụ để kích hoạt từng công việc trên từng tài nguyên cụ thể; kiểm tra trạng thái công việc; đọc kết quả khi công việc đó kết thúc Các thông tin của thành phần này sau đó sẽ được bộ lập lịch sử dụng.
Tài nguyên (Resource): tài nguyên lưới bao gồm bộ xử lý, bộ lưu trữ, các ứng dụng và các thành phần.
Quản lý dữ liệu (Data management): dữ liệu có thể nằm ở tài nguyên, hoặc
là kết quả thực thi của một tác vụ nào đó Thành phần quản lý dữ liệu phải đảm bảo an toàn và ổn định trong quá trình di chuyển dữ liệu giữa các lưới.
Giao thức (Protocol): là thành phần đảm bảo lien kết các thành phần chức năng kể trên để có thể hoạt động và tương tác được với nhau trong mạng lưới.
2.1.2 Các thành phần theo mô hình vật lý
Thành phần mạng (Networks): mạng đóng vai trò là cơ sở hạ tầng để truyền số liệu và các thông tin giám sát công việc giữa các điểm trong mạng lưới Băng thông mạng là một thuộc tính rất quan trọng liên quan đên hiệu suất lưới.
Trang 9Thành phần tính toán (Computation): được cung cấp bởi các bộ xử lý trong lưới, chúng đa dạng về tốc độ, kiến trúc, nền tảng phần mềm và lưu trữ.
Thành phần lưu trữ (Storage): dữ liệu có thể được lưu trữ phân tán trên nhiều thiết bộ xử lý hoặc một mạng SAN Mỗi bộ xử lý thường cung cấp một dung lượng lưu trữ nhất định Hệ thống file thường được dùng là NFS, DFS hoặc GPFS
Phần mềm và bản quyền (Software and License): về phương diện phần mềm trong môi trường tính toán lưới thì mức độ ổn định của ứng dụng phần mềm và bản quyền phần mềm là hai vất đề cần được quan tâm nhất.
Các thiết bị đặc biệt: một vài nút trên lưới có thể có những thiết bị đặc biệt, chẳng hạn các thiết bị quân sự, y tế, hay các thiết bị chuyên dụng khác.
2.2 Kiến trúc grid computing
Kiến trúc Grid, theo Ian Foster, là một kiến trúc phân tầng như trong Hình 1 Các thành phần trong một tầng có chung đặc điểm, tính chất, có thể được xây dựng từ bất cứ tầng dưới nào Các thành phần được phân tầng dựa theo vai trò của chúngtrong hệ thống Grid Đây là một kiến trúc
mở Kiến trúc này chỉ quy định các yêu cầu chung nhất về thiết kế và triển khai với mục đích chính
là để tham khảo Việc xây dựng, cài đặt cụ thể tuỳ thuộc vào từng dự án, từng lĩnh vực ứng dụng.Dưới đây là chi tiết của kiến trúc:
Trang 10Chức năng chính của tầng này là cung cấp các loại tài nguyên chia sẻ, được phép truy cập của mạng lưới thông qua các giao thức mạng lưới Các loại tài nguyên này bao gồm: tài nguyên tính toán, các hệ thống lưu trữ dữ liệu, các catalog thông tin, các tài nguyên mạng và các đầu cảm biến (sensors).
Các thành phần ở tầng này được triển khai ở mức cục bộ; các thao tác tài nguyên đặc biệt diễn ra trên các tài nguyên đặc biệt trong tầng này chính là một kết quả của các thao tác được chia sẽ ở tầng cao hơn Như vậy là có một
sự ràng buộc tinh vi, chặt chẽ giữa các chức năng được cài đặt ở lớp nền với các thao tác chia sẻ được hỗ trợ ở tầng khác.
Các loại tài nguyên trong tầng này đều bị ràng buộc bởi hai cơ chế :
Cơ chế quản lý tài nguyên (Resource Management Mechanism): cho phép cung cấp khả năng điều phối chất lượng dịch vụ.
Cơ chế thẩm tra (Enquiry Mechanism): cho phép tìm hiểu cấu trúc, tình trạng
và các tính năng của tài nguyên
Các phân loại tài nguyên chính trong tầng tác chế:
+ Tài nguyên tính tóan: là các cơ chế bắt buộc tuân thủ khi bắt đầu chạy
chương trình, cho phép kiểm soát, điều khiển việc thi hành các tiến trình.
Cơ chế quản lý: cho phép quản lý các loại tài nguyên đã được xác định rõ vị trí làm cho các tiến trình đạt được lợi ích nhiều hơn
Cơ chế thẩm tra: có khả năng xác định rõ phần cứng , phầm mềm nhờ các thông tin về tình trạng của hệ thống (tải hiện thời, tình trạng hàng đợi …) + Tài nguyên lưu trữ: là cơ chế bắt buộc cho việc lấy về và tải lên các tập tin từ
hệ thống lưu trữ, cho phép đọc một phần của tập tin cũng như cho phép chọn lọc dữ liệu từ các tập tin ở xa.
Cơ chế quản lý: làm cho việc di chuyển tập tin dễ dàng hơn (không gian, băng thông đĩa, băng thông mạng, tải của CPU …)
Cơ chế thẩm tra: xác định tình trạng phần cứng và phần mềm thông qua các thông tin tải Thí dụ dung lượng đĩa còn trống, băng thông sử dụng …
+ Tài nguyên mạng:
Cơ chế quản lý: có tác dụng làm cho việc lưu chuyển trong mạng được tốt hơn, hiệu quả hơn thông qua các quyền ưu tiên, chế …
Cơ chế thẩm tra: cho phép xác định các đặc điểm của mạng.
+ Các kho mã nguồn: là nơi quản lý tất cả các loại tài nguyên và tất cả các phiên bản của mã nguồn …
+ Các bộ sưu tập: là cơ chế bắt buộc để hiện thực và truy vấn các bộ sưu tập cũng như các thao tác cập nhật như trong cơ sở dữ liệu quan hệ …
2.2.2 Tầng Connectivity
Đây là tầng quan trọng để tạo nên hạt nhân của các giao thức xác thực và truyền thông bắt buộc của các giao dịch đặc trưng trong hệ thống mạng lưới Giao thức truyền thông cho phép chuyển đổi dữ liệu qua lại giữa các loại tài nguyên ở tầng chế tác Giao thức xác thực được xây dựng trên các dịch vụ
Trang 11truyền thông để cung cấp các cơ chế mã hóa và bảo mật trong việc kiểm tra xác thực người dùng và tài nguyên mạng lưới.
Truyền thông bao gồm các công đoạn: truyền thông tin, định tuyến và đặt tên Những giao thức này tương tự như các giao thức trong TCP/IP: Internet
Protocol (IP) , Transport Protocols (TCP , UDP) và các giao thức tầng ứng dụng (DNS , OSPF , RSVP …)
Các vấn đề bảo mật phức tạp trong mạng lưới được giải quyết bằng các giải pháp xây dựng và nâng cấp từ các chuẩn đã có Trong truyền thông hiện có rất nhiều các chuẩn bảo mật được phát triển trong ngữ cảnh Internet Giải pháp xác thực trong môi trường mạng lưới các tổ chức ảo bao gồm các đặc điểm sau :
+ Cơ chế đăng nhập một lần (Single Sign On): người dùng chỉ cần đăng nhập vào mạng lưới một lần duy nhất Sau đó hệ thống phải quản lý người dùng đã xác thực và cho phép truy cập các tài nguyên được phép trong lớp chế tác mà không yêu cầu cung cấp các thông tin xác thực nữa.
+ Cơ chế ủy quyền (Delegation, Proxy): người dùng có thể ủy quyền lại cho một chương trình trong một khoảng thời gian xác định truy cập đến các loại tài nguyên mà anh ta được phép sử dụng Chương trình này cũng có thể ủy quyền
có điều kiện một phần các tập quyền của nó cho chương trình con khác Hệ thống mạng lưới phải hiểu, kiểm soát chặt chẽ và đáp ứng tốt cơ chế ủy quyền này một cách trong suối đối với chương trình được trao ủy quyền
+ Cơ chế tích hợp đa giải pháp bảo mật địa phương (Integration with various local security solutions): Đặc điểm của mạng lưới là mỗi site chứa tài nguyên mạng lưới đều có cơ chế bảo mật tại chỗ không giống nhau (các cơ chế xác thực như Kerberos, LDAP, Active Directory, username/password, ) Cơ chế bảo mật mạng lưới phải có khả năng giao tiếp bên trong với các cơ chế bảo mật địa phương mà không yêu cầu thay thế toàn bộ các giải pháp bảo mật hiện
có, nhưng cần có cơ chế ánh xạ bảo mật trong các môi trường cục bộ khác nhau.
+ Cơ chế quan hệ tin tưởng dựa trên người dùng (User-based Trust
Relationships): người dùng có thể sử dụng các loại tài nguyên có được từ sự kết hợp của nhiều nhà cung cấp khác nhau Việc kết hợp đó không bắt buộc các nhà cung cấp tài nguyên phải tác động qua lại lẫn nhau nhựng phải đảm bảo cấu hình của cơ chế bảo mật hiện có Ví dụ, xem xét trường hợp một người dùng có quyền sử dụng hai site A và site B Khi đó người dùng có
quyền dùng site A và B cùng một lúc mà không cần phải thông qua các quản trị viên của các site A và B, khi các site này đã được thiết lập cơ chế quan hệ tin tưởng dựa trên người dùng.
Giải pháp bảo mật của mạng lưới cũng đồng thời cung cấp khả năng hỗ trợ cơ chế bảo vệ truyền thông một cách linh hoạt và khả năng hỗ trợ này được cho là đáng tin cậy hơn giao thức TCP/IP truyền thống trên Internet.
2.2.3 Tầng Resource
Trang 12Tầng này được xây dựng trên nền tảng sẵn có của tầng kết nối Đây là tầng dùng để xác định các giao thức chính cho các quá trình thương lượng, khởi tạo, kiểm tra, điều khiển, tính toán và kiểm toán chi phí của các thao tác được chia sẻ trên các tài nguyên Những giao thức trong tầng tài nguyên sẽ gọi các chức năng trong tầng chế tác để truy cập và sử dụng các loại tài nguyên cục bộ.
Có hai loại giao thức chính trong các giao thức của tầng tài nguyên:
+ Giao thức thông tin (Information protocol): cho phép lấy các thông tin về cấu trúc, tình trạng của một loại tài nguyên nào đó trong mạng lưới.
+ Giao thức quản lý (Management protocol): dùng để sắp xếp quản lý thứ tự các truy cập đến các tài nguyên được chia sẻ.
2.2.4 Tầng Collective
Trong khi tầng tài nguyên chỉ cho phép truy cập đến một loại tài nguyên đơn thì tầng kết hợp tập thể lại chứa các giao thức và dịch vụ cho phép giao tiếp giữa các tài nguyên trong mạng lưới Tầng này bao gồm các dịch vụ chính như sau:
+ Các dịch vụ thư mục (Directory Services): cho phép các thành phần tham gia trong hệ thống mạng lưới tổ chức ảo tìm hiểu sự tồn tại và các thuộc tính của các loại tài nguyên của họ Một dịch vụ thư mục cũng cho phép người dùng truy vấn các thuộc tính của tài nguyên, loại tài nguyên, tính khả dụng …
+ Các dịch vụ chứa chấp, lập lịch, môi giới (Co-allocation, Scheduling & Broker Services): cho phép các thành phần tham gia vào mạng lưới tổ chức ảo gởi yêu cầu đến một hay nhiều máy chủ cho các mục đích chứa chấp, lập lịch
và môi giới truy cập các tài nguyên tương ứng.
+ Các dịch vụ giám sát và dự báo (Monitoring and Diagnostic Services): cho phép hệ thống hỗ trợ kiểm soát tài nguyên trong mạng lưới các tổ chức ảo + Các dịch vụ nhân bản dữ liệu (Data Replication Services): cho phép hỗ trợ việc quản lý lưu trữ tài nguyên trong mạng lưới tổ chức ảo (kể cả mạng và năng lực tính toán) tạo điều kiện cho truy cập tài nguyên đến mức cao nhất có thể.
+ Các hệ thống lập trình hỗ trợ mạng lưới (Grid-enable Programming
Systems): tương tự như mô hình lập trình giao tiếp ứng dụng (API) thông thường, nhưng dùng trong môi trường mạng lưới Hệ thống này cho phép sử dụng các dịch vụ mạng lưới để xác định các thông tin tài nguyên, thực hiện cơ chế bảo mật mạng lưới, định vị trí tài nguyên và tất cả những gì có liên quan đến mạng lưới.
+ Hệ thống quản lý tải và môi trường cộng tác (Workload Management
System & Collaboration Framework): tương tự như môi trường giải quyết vấn
đề PSE (Problem Solving Environment), hệ thống này cung cấp các đặc tả, cách dùng và quản lý đa bước, quản lý tính đồng bộ, đa luồng, đa thành
Trang 13phần… trong các tiến trình tính toán.
+ Dịch vụ tìm kiến phần mềm (Software Discovery Service): hỗ trợ tìm kiếm
và lựa chọn phần mềm cài đặt và làm nền tảng cho mạng lưới
Trang 14Chương 3 – Một số Grid Middleware chính 3.1 Định nghĩa Grid Middleware:
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ý sercurity, truy cập và trao đổi thông tin:
Cung cấp khả năng kết nối số lượng lớn user Che dấu các tài nguyên chia sẽ rời rạc như máy tính, trung tâm dữ liệu,các thiết bị 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
Nhiêm vụ và lợi ích của grid middleware:
Có 3 mục đích:Xây dựng các giao tiếp, và các giao thức có tính mục đích chung, tính mở và tính chuẩn Bởi vì hệ thống lưới được xây dưng trên những giao tiếp và giao thức với rất nhiều mục đíchkhác nhau Những giao tiếp và giao thức này điều chỉ ra được các kết quả cơ bản, mang tính nền tảng như về việc xác nhận, xác thực, khám phá tài nguyên, truy xuất tài nguyên Do đó, việc xây dựng các giao tiếp, giao thức chuẩn và mở là rất quan trọng, nếu không, chúng ta chỉ xây dựng được những ứng dụng mang tính đặc thù mà thôi.Định nghĩa các giao thức chuẩn: Nó đị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ày rất quan trọng và thiết để thực hiện tính interoperability (nghĩa là khả năng mà 2 thực thể 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ông thườ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 các giao tiếp chuẩn để viết mã thư viện, và cấu trúc các thành phần của Grid bằng cách cho phép các thành phần
mã được sử dụng lại.Khi có grid middleware thì giúp tránh cho các nhà phát triển ứng dụng không cần lập trình các mức thấp, tránh error-prone flatform như việc lập trình mạng mức socket.Giảm chi phí thời gian phát triển phần mềm khi tập trung phát triển chuyên môn trước rồi mới phát triểnứng dụng bằng cách tái sử dụng framework chứ không cần xây dựng lại từ đầu.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 cho việc phát triển hệ thống rời rạc.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ệc hoạt động hiệu quả trong môi trường mạng
Kiến trúc Grid Middleware :
Trang 15Hịnh 2 Các thành phần của middleware nằm giữa Application và Fabric.
Grid Middleware nằm giữa hai lớp:lớp ứng dụng (application), Lớp kết cấu (fabric)
Grid middleware gồm 2 lớp chính:lớp Collection ,lớp Resource và lớp connectivity
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 16Hình 3: Kiến trúc của Globus Toolkit
Tầ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ường lướ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 thi cá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ệc chố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.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 khá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 để
Trang 17quả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ệu trên hệ thống
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ậphợ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ó
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ác tậ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ữ liệu được chuyển đổi trongmôi trường lưới được bảo mật, đáng tin cậy và hiệu quả 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)
3.2.2 UNICORE
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ột cách dễ dàng, liền mạch và an toàn
Kiến trúc