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â
Trang 1TRƯỜNG ĐH CÔNG NGHỆ - ĐH QUỐC GIA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THUYẾT TRÌNH
MÔN HỌC:
CÁC HỆ PHÂN TÁN CHỦ ĐỀ: GRID COMPUTING
GVHD :TS Trần Thị Minh Châu Học viên : Bùi Thu Hải
Lê Thị Mừng
Nam Định, 01/2011
Trang 2MỤC LỤC
MỤC LỤC 2
1 Tổng quan về tính toán lưới 3
1.1 Tính toán lưới là gì? 3
1.2 Lợi ích của tính toán lưới 4
1.3 Những thách thức trong việc quản lý tài nguyên lưới 7
1.4 Kiến trúc lưới 9
2 Sơ lược về Nimrod-G: chương trình môi giới tài nguyên trên lưới 12
3 Kết luận 15
4 Tài liệu tham khảo 16
Trang 31 Tổng quan về tính toán lưới
1.1 Tính toán lưới là gì?
Có thể hình dung môi trường tính toán lưới tương tự như mạng lưới điện Các trạm phát điện phân bổ rải rác, liên kết với nhau qua mạng lưới điện để chia tải và bổ sung nguồn điện cho nhau khi cần thiết Khách hàng sử dụng điện không cần quan tâm đến nguồn gốc trạm phát Việc sử dụng điện có lúc nhiều (giờ cao điểm) lúc ít, có khách hàng dùng nhiều và khách hàng dùng ít, mạng lưới điện sẽ thực hiện việc điều phối thích hợp.
Trong tính toán lưới, các máy tính đóng vai trò giống như những trạm phát điện Người dùng có thể truy cập tới máy tính ảo có đủ năng lực xử lý đáp ứng nhu cầu của mình Máy tính ảo này có thể bao gồm nhiều nguồn tài nguyên tính toán không đồng nhất (phần cứng máy tính và hệ điều hành khác nhau), tuy nhiên người dùng không nhận biết các tài nguyên cụ thể này, cũng giống như người dùng điện không nhận biết nguồn điện phát sinh từ đâu.
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 trong số đó định nghĩa tính toán lưới như một mô hình tính toán phân tán trải rộng trên các tài nguyên thuộc cùng một tổ chức ảo (Virtual Organization – VO) Trong đó:
- Một tổ chức ảo (VO) là một tập các cá nhân hoặc các tổ chức phân tán về mặt địa lý, các tổ chức này có nguồn tài nguyên được chia sẻ theo các chính sách mà các thành viên của tổ chức đề ra.
- Các tài nguyên trong tính toán lưới gồm:
o Máy tính: PCs, máy trạm, clusters, siêu máy tính, laptops, notebooks, thiết bị di động, PDA…
Trang 4o Phần mềm:
o Danh mục dữ liệu và cơ sở dữ liệu: Ví dụ: truy cập trong suốt với
cơ sở dữ liệu gen người
o Các dụng cụ, thiết bị đặc biệt: ví dụ như kính thiên văn vô tuyến để tìm kiếm sự sống trong thiên hà
o Phương tiện liên lạc.
Mô hình tính toán lưới
1.2 Lợi ích của tính toán lưới
a 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, 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… Một chức năng của Grid nữa là cân bằng sử dụng tài nguyên tốt hơn Một tổ chức thường gặp các vấn đề khó khăn khi các hoạt động đòi hỏi thêm nhiều tài nguyên hơn Với Grid,
có thể chuyển hoạt động đến các tài nguyên nhàn rỗi khác, hoặc có thể thêm các
Trang 5tà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.
b 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.
c Cho phép hợp tác trên toàn thế giới
Một trong những đóng góp quan trọng của công nghệ Grid Computing là cho phép và đơn giản hoá hợp tác chia sẻ, làm việc giữa một cộng đồng rộng lớn trên toàn thế giới Các công nghệ tính toán phân tán trước đây cũng cho phép hợp tác nhưng chỉ trong một phạm vi nhỏ, còn Grid cho phép mở rộng trên phạm vi toàn cầu khi đưa ra những chuẩn quan trọng cho phép các hệ thống không đồng dạng làm việc chung với nhau để tạo nên một hệ thống tính toán ảo cung cấp rất nhiều dạng tài nguyên khác nhau.
Trang 6d Cho phép chia sẻ, sử dụng tất cả các loại tài nguyên
Không chỉ cho phép chia sẻ các chu kỳ tính toán, dữ liệu, Grid có thể cho phép chia sẻ tất cả các loại tài nguyên mà trước đây chưa được chia sẻ, như băng thông mạng, các thiết bị đặc biệt, phần mềm, bản quyền, các dịch vụ,… Ví dụ, nếu một người dùng muốn tăng băng thông kết nối Internet của mình lên để thực hiện một ứng dụng khai thác dữ liệu, ứ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,…
e 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, cho phép “cắm nóng”, để khi có một vi xử lý bị hỏng, có thể thay thế cái khác
mà không làm ngưng hoạt động của hệ thống Các giải pháp này làm tăng độ tin cậy của hệ thống, tuy nhiên với chi phí quá đắt khi phụ kiện đi kèm cũng phải nhân lên Trong tương lai, các hướng tiếp cận mới để giải quyết vấn đề độ tin cậy dựa nhiều hơn vào các công nghệ phần mềm hơn là các phần cứng đắt tiền Grid là sự khởi đầu cho các công nghệ đó Các hệ thống trong Grid thường rẻ và phân tán theo địa lý, do đó, nếu có sự cố về nguồn điện hay các lỗi hệ thống khác tại một vị trí, toàn bộ phần còn lại không bị ảnh hưởng Các phần mềm quản trị Grid có khả năng thực thi lại công việc trên một node khác khi phát hiện
có lỗi hệ thống Nếu quan trọng hơn nữa, trong các hệ thống theo thời gian thực, nhiều bản dự phòng của các các công việc quan trọng có thể được chạy trên nhiều máy tính khác nhau trong Grid để đảm bảo độ tin cậy tối đa.
f Tăng khả năng quản trị các hệ thống
Trang 7Mục tiêu ảo hoá tất cả các tài nguyên và cung cấp giao diện quản lý đơn nhất các hệ thống hỗn tạp đem lại những cơ hội mới để quản trị tốt hơn trong các cơ sở hạ tầng công nghệ thông tin lớn, phân tán.
Trên đây giới thiệu một số ích lợi khi sử dụng công nghệ tính toán lưới, 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ể.
1.3 Những thách thức trong việc quản lý tài nguyên lưới
• Xuất phát từ đặc trưng của tài nguyên lưới
Lưới không giữ quyền điều khiển tuyệt đối đối với tài nguyên, ta phải phát triển phương thức quản lý trên các vùng khác nhau và nguồn tài nguyên không đồng nhất.
Các tài nguyên lưới là sự không đồng nhất, các tổ chức khác nhau có các chính sách quản lý tài nguyên khác nhau, và mục đích của người dùng tài nguyên lại khác nhau hoặc thậm chí có thể mâu thuẫn nhau Hầu hết các ứng dụng yêu cầu sử dụng đồng thời nhiều tài nguyên ở nhiều nơi khác nhau để hoàn thành công việc.
Trang 8Một thách thức nữa đối với quản lý tài nguyên là vấn đề bảo mật tài nguyên.
Vì hệ thống lưới là phân tán cả về địa lý và tổ chức Các tổ chức khác nhau
có các chính sách về bảo mật khác Một lưới có đa dạng nguồn tài nguyên, mỗi tài nguyên lại yêu cầu các mức bảo mật khác nhau.
• Định vị tài nguyên lưới
Khi có yêu cầu của người dùng, bộ quản lý tài nguyên sẽ tìm tài nguyên từ dịch vụ chỉ mục (Index Service) sau đó định vị tài nguyên đến một số nút cụ thể nào đó trong lưới và tại các nút này thì tài nguyên sẽ được lập lịch sử dụng Khi một ứng dụng đang chạy, bộ quản lý tài nguyên cần theo dõi trạng thái tài nguyên và thông báo trở lại cho bộ lập lịch và hệ thống kế toán Khi có 2 yêu cầu được đệ trình đến lưới cùng lúc thì cả 2 sẽ cùng được xử lý theo quy ước hoạt động của hàng đợi: khi một ứng dụng yêu cầu sử dụng tài nguyên mà hiện tại tài nguyên đó đang phục vụ cho một ứng dụng khác thì nó sẽ được xếp vào hàng đợi cho đến khi tài nguyên đó được sử dụng xong và sẵn sàng phục vụ.
Môi trường lưới phân tán về địa lý và tài nguyên lưới là không đồng nhất, nên để định vị đúng tài nguyên, ta cần phải thiết kế một hệ thống quản lý tài nguyên phù hợp và phải chuyển sang hướng tiếp cận đa tầng và tổ chức tài nguyên phi tập trung.
• Vấn đề thương lượng tài nguyên lưới
Quá trình thương lượng tài nguyên lưới dựa trên các giao thức hay các luật trong kinh doanh để chuyển đổi các lệnh buôn bán giữa người sử dụng tài nguyên và các nhà cung cấp tài nguyên Hình dưới đây minh họa các giao thức thương lượng mà cả hai phía mua và bán cần trong quá trình mặc cả.
Trang 9Đầu tiên, phía khách hàng kết nối với nhà cung cấp Sau khi nhận được giá tài nguyên, cả hai bên bán và mua sẽ tiến hành thương lượng Khi thương lượng thành công, phía khách hàng sẽ yêu cầu ngừng kết nối và sử dụng tài nguyên đó.
Mô hình thương lượng tài nguyên lưới
1.4 Kiến trúc lưới
Lưới được xây dựng trên nền tảng kiến trúc mở và phân tầng Trong mỗi tầng của lưới, các thành phần chia sẻ những thuộc tính chung và được bổ sung những tính năng mới mà không làm ảnh hưởng đến các tầng khác Ta có thể tổng hợp kiến trúc lưới thành 5 tầng như sau:
Kiến trúc phân tầng lưới
Trang 10• Tầng chế tác (Fabric layer)
Bao gồm các tài nguyên cục bộ phân tán trên mạng, chúng bị ràng buộc bởi Cơ chế quản lý tài nguyên và Cơ chế thẩm tra Người ta phân tài nguyên của tầng này thành các nhóm chính sau:
- Tài nguyên tính toán: cho phép kiểm soát, điều khiển việc thực thi công việc
- Tài nguyên lưu trữ: dùng để lấy về/tải lên các tập tin, cho phép đọc một phần tập tin hoặc chọn lọc dữ liệu từ tập tin ở xa
- Tài nguyên mạng: là môi trường mạng truyền thô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à các phiên bản của mã nguồn
• Tầng kết nối (Connectivity layer)
Tầng này đóng vai trò rất quan trọng, nó gồm các giao thức xác thực và truyền thông Truyền thông bao gồm việc truyền thông tin, định tuyến và đặt tên Những giao thức này tương tự các giao thức IP, TCP, UDP trong bộ giao thức TCP/IP và các giao thức tầng ứng dụng như DNS, OSPF, RSVP…Vấn đề bảo mật được giải quyết bằng giải pháp xác thực như:
- Cơ chế đăng nhập một lần (Single Sign On): cho phép người dùng chỉ cần đăng nhập vào mạng lưới một lần duy nhất cho tất cả các truy cập các tài nguyên được phép trong tầng chế tác cho đến khi kết thúc đăng nhập
- Cơ chế ủy quyền (Delegation, Proxy): người dùng có thể ủy quyền truy cập tài nguyên hợp pháp lại cho một chương trình trong một khoảng thời gian xác định 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
- 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ơ chế bảo mật mạng lưới phải có khả năng giao tiếp 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
Trang 11phá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
• Tầng tài nguyên (Resource layer)
Tầ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 Những giao thức trong tầng tài này 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ộ Nó có hai loại giao thức chính:
- 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ẻ
• Tầng kết hợp (Collective layer)
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 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 tìm hiểu sự tồn tại cũng như thuộc tính của các nguyên như loại tài nguyên, tính khả dụng …
- Các dịch vụ cấp phát chung, lập lịch, môi giới (Co-allocation, Scheduling & Broker Services): cho phép gửi yêu cầu đến một hay nhiều máy chủ cho mục đích cấp phát, lập lịch và môi giới 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 lưới
- Các dịch vụ nhân bản dữ liệu (Data Replication Services): hỗ trợ việc quản lý lưu trữ tài nguyên, giúp việc truy cập tài nguyên lưới trở nên dễ dàng hơn
- Các hệ hỗ thống trợ lập trình lưới (Grid-enable Programming Systems): gồm các thư viện lập trình
Trang 12- Hệ thống quản lý tải và môi trường cộng tác (Workload Management System & Collaboration Framework): cung cấp các đặc tả, quản lý tính đồng bộ, đa luồng, đa thành phầ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
• Tầng ứng dụng (Application layer)
Tầng này bao gồm các ứng dụng được phát triển trên môi trường lưới như: các ứng dụng sinh học, vậy lý, thiên văn, tài chính… Về nguyên tắc, người sử dụng có thể tương tác với lưới thông qua tầng ứng dụng một cách trong suốt mà không nhận biết được sự có mặt của các tầng khác trong lưới
2 Sơ lược về Nimrod-G: chương trình môi giới tài nguyên trên lưới.
Nimrod-G được phát triển bởi các nhà khoa học Rajkumar Buyya, David Abramson, and Jonathan Giddy thuộc các trường đại học Monash University và University of Queensland ở Úc
Nimrod-G là một kiến trúc hỗ trợ việc quản lý tài nguyên, tìm kiếm tài nguyên và định thời trên môi trường tính toán lưới Hệ thống Nimrod –G tự động định vị tài nguyên và lâp lịch các ứng dụng trên lưới sử dụng tính toán kinh tế để cung cấp độ đo chất lượng dịch vụ cho người sử dụng cuối
Trang 13a Kiến trúc của Nimrod-G bao gồm các thành phần chính như sau:
• Client or User Station: đóng vai trò như một giao diện người dùng
để điều khiển và giám sát một cuộc thí nghiệm nào đó đang được xem xét
• Parametric Engine: hoạt động như một agent để quản lý công việc
và là một thành phần trung tâm mà từ đó toàn bộ cuộc thí nghiệm được quản
lí và duy trì
• Bộ định thời (Scheduler): chịu trách nhiệm cho việc tìm kiếm tài nguyên, chọn lựa tài nguyên và giao công việc
• Bộ diều vận (Dispatcher): chịu trách nhiệm chính trong việc khởi tạo việc thực thi một công việc nào đó trên tài nguyên đã được chọn lựa theo như hướng dẫn của bộ định thời (Scheduler)
• Job-Wrapper: chịu trách nhiệm sắp xếp ứng dụng và dữ liệu như
là khởi động việc trên một tài nguyên, gửi trả kết quả về cho Parametric Engine thông qua Bộ điều vận (Dispatcher)
Hình 9 Kiến trúc Nimrod-G