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

một số thuật toán lập lịch để phân phối tài nguyên trong hệ thống tính toán lưới

128 493 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 128
Dung lượng 1,6 MB

Nội dung

TỔNG QUAN VỀ HỆ THỐNG TÍNH TỐN LƯỚI 1.1 Giới thiệu chung 1.1.1 Hệ thống tính tốn lưới là gì Ngày nay, cùng với sự phát triển vượt bậc của khoa học kỹ thuật và cơng nghệ đã xuất hiện cá

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

Hà Nội - 2011

Trang 2

3

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 6

DANH MỤC CÁC BẢNG 7

DANH MỤC CÁC HÌNH VẼ 8

MỞ ĐẦU 9

CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG TÍNH TOÁN LƯỚI 11

1.1 Giới thiệu chung 11

1.1.1 Hệ thống tính toán lưới là gì 11

1.1.2 Các mô hình tính toán lưới 12

1.1.3 Các thành phần chính của hệ thống tính toán lưới 15

1.1.4 So sánh mô hình tính toán lưới với một số mô hình tính toán khác 20

1.1.5 Những ứng dụng cơ bản của hệ thống tính toán lưới 23

1.1.6 Các công cụ hỗ trợ xây dựng hệ thống tính toán lưới 27

1.1.7 Một số hệ thống tính toán lưới 29

1.2 Các thách thức ñối với mô hình tính toán lưới và một số vấn ñề nghiên cứu 31

1.2.1 Các xu hướng trong tính toán 31

1.2.2 Các khó khăn 33

1.2.3 Một số hướng nghiên cứu 35

1.3 Mục tiêu của luận án 39

1.4 Các kết quả ñã ñạt ñược của luận án 40

CHƯƠNG 2 BÀI TOÁN LẬP LỊCH TRONG TÍNH TOÁN LƯỚI 41

2.1 Một số bài toán lập lịch truyền thống 41

Trang 3

4

2.1.1 Bài toán lập lịch trên hai máy và giải thuật gia công Johnson 41

2.1.2 Giải thuật xếp lịch heuristic 42

2.1.3 Phương pháp duyệt nhánh cận 43

2.1.4 Phương pháp qui hoạch ñộng 44

2.1.5 Phương pháp làm mịn kết quả 44

2.1.6 Phương pháp Hung-ga-ri 46

2.2 Bài toán lập lịch trong hệ thống tính toán lưới 48

2.2.1 Phát biểu bài toán 48

2.2.2 Một số khó khăn trong lập lịch ñối với hệ thống tính toán lưới 51

2.2.3 Một số cách tiếp cận 52

2.2.4 Độ khó của bài toán 55

2.3 Mô hình lập lịch trong hệ thống tính toán lưới 55

2.3.1 Các mô hình lập lịch trong hệ thống tính toán lưới 56

2.3.2 Mô hình Buyya lập lịch trong hệ thống tính toán lưới 60

2.3.3 Thực hiện công việc lập lịch trong hệ thống tính toán lưới 64

Kết luận chương 2 70

CHƯƠNG 3 MỘT SỐ GIẢI THUẬT CHO BÀI TOÁN LẬP LỊCH TRONG TÍNH TOÁN LƯỚI 71

3.1 Các giải thuật lập lịch tối ưu theo thời gian, chi phí 71

3.1.1 Giải thuật lập lịch tối ưu về thời gian 71

3.1.2 Giải thuật tối ưu về chi phí 72

3.1.3 Giải thuật tối ưu về thời gian - chi phí 73

3.2 Giải thuật tham lam lam 74

3.2.1 Giải thuật 74

3.2.2 Các kết quả thử nghiệm 77

3.2.3 Đánh giá 79

3.3 Giải thuật di truyền 79

Trang 4

5

3.3.1 Giới thiệu về giải thuật di truyền 80

3.3.2 Giải thuật di truyền trong lập lịch 81

3.3.3 Các kết quả thử nghiệm 84

3.3.4 Đánh giá 89

3.4 Giải thuật tối ưu hóa theo nhóm bầy (PSO) 89

3.4.1 Giải thuật PSO 89

3.4.2 Giải thuật PSO cho bài toán lập lịch trong hệ thống tính toán lưới 92

3.4.3 Các kết quả thực nghiệm 94

3.4.4 Đánh giá 96

Kết luận chương 3 97

CHƯƠNG 4 MÔ HÌNH HỆ THỐNG THỬ NGHIỆM 98

4.1 Giới thiệu về hệ thống thử nghiệm TestGrid 98

4.1.1 Kiến trúc chung của TestGrid 98

4.1.2 Mô tả chức năng bộ lập lịch 101

4.1.3 Thiết kế bộ lập lịch 104

4.1.4 Cơ chế lập lịch của TestGrid 106

4.1.5 Xử lý và chống lỗi 108

4.2 Bộ lập lịch của TestGrid với các giải thuật ñề xuất 109

4.2.1 Mô hình triển khai thực nghiệm bộ lập lịch trên lưới 109

4.2.2 Yêu cầu tương thích giữa giải thuật lập lịch với khung phần mềm thực nghiệm 114

Kết luận chương 4 119

KẾT LUẬN CHUNG 120

DANH MỤC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN ÁN 122

TÀI LIỆU THAM KHẢO 123

Trang 5

6

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

BOINC The Berkeley Open

Infrastructure for Network

GA Genetic Algorithm Giải thuật di truyền

MDS Meta Directory Service Dịch vụ siêu thư mục

MPI Message Passing Interface Giao diện truyền thông ñiệp

P2P Peer - to - Peer Hệ thống tính toán ngang hàng PSO Particle Swarm Optimization Tối ưu theo nhóm bầy

OGSA Open Grid Services

SA Simulated Annealing Giải thuật mô phỏng tôi luyện

SP Service Providers Nhà cung cấp dịch vụ

UR User Requirements Yêu cầu người dùng

Trang 6

7

DANH MỤC CÁC BẢNG

Bảng 2 1 Mối ràng buộc giữa giới hạn thời gian và kinh phí trong lập lịch 64

Bảng 2 2 Ma trận thông tin tài nguyên 68

Bảng 3 1 So sánh hiệu quả của giải thuật mô phỏng tôi luyện và giải thuật tham lam 78

Bảng 3 2 Hiệu quả của giải thuật di truyền khi giá trị α thay ñổi - Kịch bản 1 86

Bảng 3 3 Hiệu quả của giải thuật di truyền khi giá trị α thay ñổi - Kịch bản 2 86

Bảng 3 4 Hiệu quả của giải thuật di truyền khi giá trị α thay ñổi - Kịch bản 3 86

Bảng 3 5 So sánh hiệu quả của các giải thuật - Kịch bản 1 87

Bảng 3 6 So sánh hiệu quả của các giải thuật - Kịch bản 2 87

Bảng 3 7 So sánh hiệu quả của các giải thuật - Kịch bản 3 87

Bảng 3 8 So sánh hiệu quả của giải thuật di truyền và PSO 95

Bảng 3 9 So sánh thời gian chạy của giải thuật di truyền và PSO 95

Trang 7

8

DANH MỤC CÁC HÌNH VẼ

Hình 1 1 Mô hình lưới nội tuyến 13

Hình 1 2 Mô hình lưới liên tuyến 14

Hình 1 3 Các thành phần của một lưới tính toán 19

Hình 1 4 Tổ chức ảo 35

Hình 2 1 Mô hình bài toán lập lịch trong hệ thống tính toán lưới 53

Hình 2 2 Mô hình lập lịch trung tâm 57

Hình 2 3 Mô hình lập lịch phân tán giao tiếp trực tiếp 58

Hình 2 4 Mô hình lập lịch phân tán giao tiếp gián tiếp 59

Hình 2 5 Mô hình lập lịch phân cấp 60

Hình 2 6 Mô hình Pull cho khám phá tài nguyên 65

Hình 2 7 Mô hình Push cho khám phá tài nguyên 66

Hình 2 8 Mô hình Push-Pull cho khám phá tài nguyên 66

Hình 3 1 Mã giả cho giải thuật tham lam 77

Hình 3 2 So sánh hiệu quả của giải thuật mô phỏng tôi luyện (SA) và giải thuật tham lam (Greedy) 78

Hình 3 3 Mã giả cho giải thuật di truyền với tối ưu ña mục tiêu 83

Hình 3 4 So sánh hiệu quả của các giải thuật mô phỏng tôi luyện (SA) và giải thuật di truyền (GA)- theo Makespan 88

Hình 3 5 So sánh hiệu quả của các giải thuật mô phỏng tôi luyện (SA) và giải thuật di truyền (GA) - theo Flowtime 88

Hình 3 6 Mã giả của giải thuật PSO cho bài toán lập lịch 92

Hình 3 7 So sánh thời gian chạy của các giải thuật di truyền (GA) và PSO 96

Hình 4 1 Kiến trúc TestGrid 98

Hình 4 2 Trường hợp sử dụng của bộ lập lịch 104

Hình 4 3 Mô hình triển khai thực nghiệm 110

Hình 4 4 Đệ trình công việc lên lưới 113

Hình 4 5 Các job 1 - 2 -4 -6 chạy trên máy bkluster.hut.edu.vn 113

Hình 4 6 Các job 3-5 chạy trên máy rocks-200.sdsc.edu 114

Trang 8

9

MỞ ĐẦU

Khoa học và công nghệ ngày càng phát triển vượt bậc và ñược ứng dụng rộng rãi trong tất cả các lĩnh vực của ñời sống xã hội Công nghệ thông tin cũng phát triển như vũ bão Cuộc sống và công việc của chúng ta trở nên thuận tiện do máy tính và Internet Việc trao ñổi thông tin với thế giới bên ngoài sẽ không còn tốn thời gian và tiền bạc như trước ñây

Trong thực tế, ngày càng có nhiều bài toán ñặt ra với yêu cầu dữ liệu lớn, tốc

ñộ xử lý cao Trong khi ñó, tồn tại nhiều nguồn tài nguyên dư thừa Sự phát triển rộng khắp, mạnh mẽ của mạng Internet toàn cầu ñã làm nảy sinh một nhu cầu tất yếu, ñó là tận dụng nguồn tài nguyên dư thừa ñể xử lý các bài toán với yêu cầu tính toán lớn Công nghệ tính toán lưới ra ñời, cho phép giải quyết vấn ñề nêu trên

Hệ thống tính toán lưới cung cấp các dịch vụ, cho phép chia sẻ năng lực của các máy tính và dung lượng của kho dữ liệu khổng lồ thông qua Internet Lưới tính toán dựa trên truyền thông giữa các máy tính kết nối với nhau và các dịch vụ hỗ trợ làm cho mạng máy tính toàn cầu trở thành một tài nguyên tính toán rộng lớn Toàn

bộ tài nguyên tính toán này ñược coi như một tổ chức ảo ñộng và khổng lồ Người

sử dụng chỉ cần ñệ trình công việc lên lưới tính toán và nhận lại kết quả thông qua các dịch vụ hỗ trợ của máy ảo khổng lồ này

Ban ñầu, công nghệ tính toán lưới thu hút ñược sự quan tâm của các nhà khoa học, chuyên gia nghiên cứu và triển khai Hiện nay, nó ñã ñược ñông ñảo các tổ chức, doanh nghiệp quan tâm ñầu tư Tính ưu việt của công nghệ tính toán lưới, cung cấp khả năng tính toán phân tán toàn cầu ñi kèm với nhiều thách thức cần giải quyết Trên thế giới ñã xuất hiện các bộ công cụ mã nguồn mở cho tính toán lưới Tuy nhiên, các bộ công cụ này ñược xây dựng chung cho tất cả các ứng dụng, vì vậy trên thực tế, tồn tại khá nhiều hạn chế

Trang 9

Một trong những vấn ñề người sử dụng quan tâm khi ñệ trình công việc lên lưới tính toán ñó là thời gian thực hiện công việc và giá thành Lưới tính toán phải giải quyết một bài toán khó là lập lịch và lựa chọn tài nguyên ñáp ứng yêu cầu người dùng trong một môi trường ñộng không ñồng nhất

Bài toán lập lịch là một bài toán khó Bài toán lập lịch trong tính toán lưới còn phức tạp hơn rất nhiều do phải xem xét trong một môi trường phân tán, ñộng, với tài nguyên không ñồng nhất và phải giải quyết trong thời gian thực Xuất phát từ những tìm hiểu, nghiên cứu về tính toán lưới trên thế giới và Việt Nam, chúng tôi

ñã lựa chọn ñề tài “Một số thuật toán lập lịch ñể phân phối tài nguyên trong hệ thống tính toán lưới

Nội dung nghiên cứu của luận án thực sự có ý nghĩa với thực tế Việt Nam khi

cơ sở hạ tầng mạng và máy tính còn dư thừa và ñiều kiện kinh tế không cho phép ñầu tư ñể xây dựng những hệ thống siêu máy tính cỡ lớn

Luận án gồm 4 chương Chương I giới thiệu tổng quan về hệ thống tính toán lưới; Chương II giới thiệu về bài toán lập lịch trong hệ thống tính toán lưới; Chương III ñề xuất áp dụng một số giải thuật cho bài toán lập lịch trong hệ thống tính toán lưới; Chương IV trình bày mô hình cài ñặt thử nghiệm và cuối cùng là Phần kết luận

Luận án ñã ñề xuất 3 giải thuật giải quyết bài toán lập lịch trong hệ thống tính toán lưới Các thử nghiệm ñã chỉ ra rằng các giải thuật do luận án ñề xuất cho kết quả tốt hơn các giải thuật ñã ñược các tác giả khác ñưa ra trước ñây [77] Các giải thuật ñề xuất ñã ñược cài ñặt và chạy thử nghiệm trên lưới tính toán TestGrid, kết nối với lưới tính toán khu vực Thái Bình Dương PRAGMA

Hiện nay, ở Việt Nam ñang nghiên cứu triển khai lưới tính toán VNGrid Việc cài ñặt thành công các giải thuật trong TestGrid sẽ góp phần khai thác hệ thống VNGrid, kết nối các trung tâm tính toán hiệu năng cao, ñáp ứng các yêu cầu ứng dụng

Trang 10

Chương 1 TỔNG QUAN VỀ HỆ THỐNG TÍNH TỐN LƯỚI 1.1 Giới thiệu chung

1.1.1 Hệ thống tính tốn lưới là gì

Ngày nay, cùng với sự phát triển vượt bậc của khoa học kỹ thuật và cơng nghệ

đã xuất hiện các bài tốn yêu cầu khối lượng tính tốn lớn với độ chính xác cao, ví

dụ như: dự báo thời tiết, chẩn đốn trong y học sử dụng thơng tin hình ảnh, khoa học sự sống, hố học tính tốn, khoa học trái đất, vật lý năng lượng cao, y sinh, khoa học trái đất, vật lý học thiên thể, dược phẩm học, thủy lực học, vũ trụ học, mơ hình hố tài chính, mơ phỏng động đất… Với những bài tốn này, các máy tính riêng lẻ khơng thể đảm trách được Do vậy, các kỹ thuật tính tốn song song, tính tốn phân tán được đề xuất và phần nào đáp ứng được yêu cầu này

Để cĩ được các hệ thống tính tốn song song với khả năng tính tốn mạnh, các

tổ chức phải đầu tư thêm trang thiết bị, cơ sở hạ tầng tính tốn (máy chủ, máy trạm, siêu máy tính, cụm máy tính, ) Cách làm này hết sức tốn kém Mặt khác, thực tế cho thấy cĩ một phần lớn các nguồn tài nguyên đang được sử dụng lãng phí: các máy để bàn thường chỉ hoạt động khoảng 5% cơng suất, các máy chủ cũng chỉ hoạt động với 20% cơng suất Do vậy, việc tận dụng hiệu quả các nguồn tài nguyên này mang lại một sức mạnh tính tốn khổng lồ Hơn nữa, thay vì việc đầu tư vào cơ sở

hạ tầng, chúng ta cũng cĩ thể "thuê" các nguồn tài nguyên từ bên ngồi với chi phí

rẻ hơn Cùng với việc phân bố hợp lý các tài nguyên sẵn cĩ và các tài nguyên thuê ngồi, chúng ta sẽ thu được một hệ thống cĩ khả năng tính tốn lớn với chi phí thấp Đây là mục tiêu chính của hệ thống tính tốn lưới [27] Hệ thống tính tố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ơ tồn cầu) [12,23,40]

Như vậy, hệ thống tính tốn lưới, hiểu một cách đơn giản, là sự phát triển tiếp theo của tính tốn phân tán [71] Mục đích của hệ thống tính tốn lưới là tạo ra một

"máy tính" ảo lớn từ một tập các hệ thống khơng đồng nhất nhằm nâng cao khả

Trang 11

1.1.2 Các mô hình tính toán lưới

Trong thực tế, hệ thống tính toán lưới ñược cài ñặt theo nhiều mô hình khác nhau, phù hợp với từng ứng dụng cụ thể Có thể phân loại các dạng lưới tính toán này dựa vào cấu trúc của tổ chức ảo tham gia vào mạng lưới hoặc ñịnh nghĩa hệ thống tính toán lưới theo tính chất của tài nguyên ñược chia sẻ [22,23] Lưới tính toán có thể ñược xây dựng với các kích thước khác nhau Có thể là chỉ một vài máy trong một phòng hoặc có thể là cả một hệ thống phân cấp các máy tính trải rộng trên toàn cầu Sau ñây chúng ta sẽ xem xét một số cấu trúc hệ thống lưới tính toán cơ bản

a) Lưới nội tuyến (Intragrid)

Là một hệ thống tính toán lưới bao gồm các tài nguyên nằm rải rác trong một

tổ chức (công ty, xí nghiệp) và cung cấp dịch vụ cho tất cả người dùng Tài nguyên chia sẻ trong các nhóm khác nhau của một tổ chức tạo thành một lưới nội tuyến Lưới nội tuyến có thể chỉ hạn chế trong một mạng cục bộ hoặc các mạng riêng ảo Thông thường lưới nội tuyến ñược bảo vệ bởi hệ thống tường lửa

Trang 12

Lưới nội tuyến có thể bao gồm các máy trạm, máy chủ, cũng như các tài nguyên tập trung ñược quản lý cục bộ, nằm tại các bộ phận khác nhau trong một tổ chức

Mô hình tính toán lưới phức tạp hơn có thể gồm các máy tính không ñồng nhất Trong hệ thống này tồn tại nhiều kiểu tài nguyên khác nhau Để quản lý ñiều phối tài nguyên, hệ thống tính toán lưới phải gồm thành phần ñiều phối và lập lịch Ngoài ra, việc chia sẻ các tệp ñược thực thi bởi hệ thống quản lý tệp Các máy tính tham gia vào lưới tính toán loại này thường không nhất thiết phải nằm trong cùng một phòng, nhưng nhất thiết phải nằm trong cùng một tổ chức

Hình 1 1 Mô hình lưới nội tuyến

b) Lưới liên tuyến (Intergrid)

Là những lưới tính toán ñược phát triển dựa vào mạng Internet công cộng Lưới loại này có thể ñược thiết lập bởi các công ty nhằm hỗ trợ việc kinh doanh mua bán, cung cấp các dịch vụ giá trị gia tăng và cho phép người dùng khai thác các tài nguyên bên ngoài [37]

Trang 13

Lưới liên tuyến cho phép truy cập và khai thác các tài nguyên phân tán trên khắp thế giới nhằm phục vụ các công việc tính toán và cộng tác của người dùng Lưới liên tuyến cung cấp khả năng chia sẻ tài nguyên tính toán và lưu trữ thông qua Web

Lưới tính toán ñược sử dụng và xuất hiện ở rất nhiều nơi trên thế giới Điều này dẫn ñến việc cần thiết phải có các khuyến nghị cụ thể về việc lưới tính toán ñược sử dụng như thế nào Ví dụ như, khuyến nghị xác ñịnh loại công việc nào ñược thực hiện trên hệ thống và vào khoảng thời gian nào Bên cạnh ñó, việc bảo mật cũng trở thành một vấn ñề quan trọng của các tổ chức liên quan

Ngày nay, hệ thống tính toán lưới trải rộng trên khắp toàn cầu, vượt qua biên giới của từng tổ chức riêng lẻ, của các nước và trở thành một lưới tính toán giải quyết các dự án mang tính chất toàn cầu Hệ thống tính toán lưới này ñược gọi là:

Lưới liên tuyến - “Intergrid” Hình 1.2 dưới ñây minh họa một hệ thống lưới liên

tuyến

Hình 1 2 Mô hình lưới liên tuyến

Trang 14

1.1.3 Các thành phần chính của hệ thống tính toán lưới

Khi nói ñến các thành phần của lưới, ta có nhiều cách tiếp cận khác nhau [3] Nếu nhìn một cách tổng thể, một hệ thống lưới bao gồm nhiều nút lưới mà mỗi nút

ñó có thể là một lưới nhỏ hay một cluster Ở góc ñộ này, một hệ thống lưới bao gồm các thành phần:

a) Thành phần quản lý

Bất kì một lưới nào cũng cần có một thành phần quản lý Trước hết, thành phần này theo dõi các tài nguyên ñang sẵn dùng và các thành viên ñang có mặt trong hệ thống Các thông tin này rất quan trọng trong việc gán công việc cho máy trong lưới

Tiếp ñó là thành phần ño lường, xác ñịnh dung lượng tài nguyên của từng nút mạng và tỉ lệ tài nguyên ñược sử dụng tại một thời ñiểm bất kì Điều này là cơ sở cho việc lập lịch cho các tiến trình lưới Thành phần ño lường cũng cho thấy tình trạng của lưới, cảnh báo người sử dụng về khả năng có thể xảy ra thất bại do thiếu tài nguyên, ñụng ñộ hay các nguyên nhân khác Một thủ tục khác cần ñến các thông tin này là các thống kê về sử dụng hệ thống, việc chi trả cho hệ thống khi chạy các phần mềm trên lưới

Trang 15

Vấn ñề quan trọng nhất vẫn là khả năng tiếp nhận công việc và thực hiện công việc của một phần mềm ñược cài ñặt trên một máy nào ñó khi ñược gán nhiệm vụ Quá trình ñược mô tả như sau: tại một trạm nào ñó trên lưới, người sử dụng ñệ trình một công việc và yêu cầu thực hiện trên lưới Phần mềm quản lý phải chọn ra máy thực hiện, liên lạc với máy ñó ñể gửi công việc cần thực hiện Phần mềm ñệ trình phải nhận ñược tệp chạy hoặc chọn bản sao trên máy ñã sẵn sàng, tiếp ñó tệp chạy ñược thực hiện trên máy ñệ trình và kết quả ñược trả về cho người yêu cầu

c) Phần mềm ñệ trình

Về nguyên tắc, người ta có thể dùng bất cứ máy thành phần nào trong lưới ñể

ñệ trình một công việc Tuy vậy, trong một số hệ thống, việc ñệ trình các công việc ñược thực hiện bởi một số thành phần cài ñặt trên máy, gọi là nút ñệ trình hay máy khách ñệ trình Khi lưới tính toán ñược xây dựng dựa trên các tài nguyên chuyên dụng, các thành phần ñệ trình thường ñược cài ñặt trên máy của người dùng hay các trạm làm việc

d) Quản lý phân tán

Các lưới tính toán ñượ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 cấu trúc ñặc thù khác phù hợp với dạng kết nối Các máy tính ñược kết nối thông qua mạng LAN tạo thành các cụm máy tính Các lưới có thể ñược tạo nên bằng cách ghép cụm của các cụm máy tính này Vì thế ñòi hỏi phải có các thủ tục quản lý các lưới phân tán sao cho ñạt hiệu quả tính toán cao nhất Các thao tác trên

Trang 16

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 tính toán Ví dụ, bộ lập lịch trung tâm sẽ không gán trực tiếp công việc cho một máy cụ thể, mà gán cho một cụm máy tính ở dưới nó, sau ñó bộ lập lịch của cụm máy tính này mới thực hiện gán công việc cho một máy cụ thể trong cụm máy tính

ñó Tương tự như thế, khi một máy ñệ trình một công việc nào ñó, công việc này sẽ ñược chuyển tới bộ phận quản lý của cụm máy tính 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

e) Bộ lập lịch

Phần lớn các lưới tính toán ñều có các phần mềm lập lịch Các phần mềm này

có nhiệm vụ chọn ra các máy thành phần ñể thực thi các công việc, ñược ñệ trình tại một máy nào ñó Cơ chế lập lịch ñơn giản nhất là cơ chế round-robin, tức là hệ thống sẽ chọn máy tiếp theo có các tài nguyên ñáp ứng nhu cầu của công việc ñể thực thi Tuy vậy, trong các hệ thống lớn, các cơ chế lập lịch phức tạp và hiệu quả hơn sẽ ñược áp dụng

Một số bộ lập lịch thực hiện gán ưu tiên cho từng công việc Điều này ñược thực hiện bằng cách duy trì các hàng ñợi công việc, mỗi hàng ñợi chứa một tập các công việc với cùng mức ưu tiên Khi một máy ñã thực hiện xong công việc của mình, nó sẽ chọn tiếp một công việc ở hàng ñợi có mức ñộ ưu tiên cao nhất Cơ chế này sẽ ñược kết hợp với một số quy ñịnh khác dựa trên cơ sở là các tài nguyên người sử dụng Ví dụ, tài nguyên trong tổ chức có thể bị hạn chế sử dụng trong khoảng thời gian nào ñó trong ngày

Bộ lập lịch phải dựa vào các thông tin như tải của lưới, thông tin tỉ lệ tài nguyên ñược sử dụng ñể 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 Giống như tổ chức của mạng, bộ lập lịch cũng ñược tổ chức theo cấu trúc cây

Trang 17

f) Các thành phần truyền thông

Hệ thống lưới có các phần mềm giúp các tiến trình có thể liên lạc với nhau Một công việc ñược chia thành nhiều công việc nhỏ khác nhau Các công việc này ñược thực hiện riêng lẻ trên lưới Có thể công việc này phải sử dụng kết quả của các công việc khác Điều này dẫn ñến việc các công việc phải có khả năng liên kết với nhau Các phần mềm truyền thông sẽ giúp một tiến trình có khả năng liên lạc với các tiến trình khác, gửi và nhận các dữ liệu cần thiết Trong hệ thống có thể sử dụng chuẩn giao diện MPI và một số chuẩn khác ñể thực hiện các liên kết này

g) Các thành phần theo dõi và ño lường

Như ñã ñề cập ở trên, các hoạt ñộng lập lịch ñòi hỏi phải có các thông tin về hệ thống hiện tại như các máy nào sẵn dùng, tỉ lệ tài nguyên ñược sử dụng, tải của các nút lưới Thông thường, các phần mềm quản lý donor sử dụng một số công cụ của

hệ ñiều hành hoặc trực tiếp ño các thông số này Các phần mềm này ñôi khi còn ñược gọi là “sensor tải” Các thông tin này không những có giá trị với việc lập lịch,

mà nó còn ño ñược khả năng sử dụng lưới Các thông số này có thể dự báo cho người quản trị thấy ñược xu hướng của lưới và các thiết bị cần thiết phải thêm vào

Trang 18

•Thành phần an ninh - Security

•Thành phần môi giới - Broker

•Thành phần lập lịch - Scheduler

•Thành phần quản trị dữ liệu - Data management

•Thành phần quản trị công việc và tài nguyên - Job and resource management

Hình 1 3 Các thành phần của một lưới tính toán Hình 1.3 mô tả quá trình người dùng tương tác với lưới thông qua các thành phần này Trước tiên, người dùng ñưa các yêu cầu của mình thông qua cổng giao diện người dùng Việc kiểm tra xác nhận, ủy quyền cho người dùng sẽ ñược thành phần an ninh ñảm trách Yêu cầu của người dùng sau khi vượt qua thành phần an ninh, sẽ ñược thành phần môi giới ñưa ñến bộ lập lịch, cùng với các thông tin do dịch vụ siêu thư mục MDS cung cấp Bộ lập lịch ñưa ra quyết ñịnh về việc các nhiệm vụ tương ứng trong yêu cầu ñược thực hiện trên các tài nguyên cụ thể nào, sẽ chuyển những thông tin này cho các thành phần quản trị công việc và dữ liệu ñể chúng ñảm trách việc thực thi công việc cũng như nhận kết quả trả về Mọi thông tin trả về sẽ ñược hiển thị trên cổng giao diện người dùng

Trang 19

Như chúng ta ñã biết, dù ở góc ñộ quan sát nào thì một thành phần không thể thiếu trong lưới tính toán chính là thành phần lập lịch Nhiệm vụ của bộ lập lịch là tìm ra tài nguyên phù hợp nhất ñể thực hiện yêu cầu của người dùng Ở mức tổng thể, ta có bộ siêu lập lịch và nhiệm vụ của nó là tìm ra cụm máy tính phù hợp cho yêu cầu người dùng Còn trong một nút của lưới tính toán cụ thể, nhiệm vụ của bộ lập lịch là tìm ra chính xác tài nguyên nào sẽ ñược sử dụng Với yêu cầu cụ thể của từng lưới tính toán, những dịch vụ mà nó cung cấp và hướng tiếp cận môi trường tính toán lưới của người sở hữu tài nguyên, bộ lập lịch sẽ ñược thiết kế sao cho phù hợp với các tiêu chí ñó

1.1.4 So sánh mô hình tính toán lưới với một số mô hình tính toán khác

a) World Wide Web (Web computing)

WWW hiện nay ñang phát triển mạnh mẽ và ñược sử dụng rộng khắp Sử dụng các chuẩn mở và các giao thức mở (TCP, HTTP, XML, SOAP), WWW có thể ñược

sử dụng ñể xây dựng các tổ chức ảo WWW và tính toán lưới ñều có ñiểm chung là chia sẻ tệp ngang hàng, xây dựng các tổ chức ảo và ñơn giản hóa việc nhiều người dùng cùng khai thác sử dụng một nền hoạt ñộng chung thống nhất [21] Tuy nhiên, WWW thiếu một số ñặc tính quan trọng như các cơ chế chứng thực, ủy nhiệm, các

cơ chế phối hợp thực hiện, sự hỗ trợ liên lạc trong hệ thống [3,7]

b) Các hệ thống tính toán phân tán

Các công nghệ tính toán phân tán hiện tại bao gồm CORBA, J2EE và DCOM rất thích hợp cho các ứng dụng phân tán Tuy nhiên, chúng không cung cấp một nền tảng phù hợp cho việc chia sẻ tài nguyên giữa các thành viên của tổ chức ảo Có thể thấy một số khó khăn khi khai phá tài nguyên, ñảm bảo an ninh và xây dựng các tổ chức ảo ñộng Ngoài ra, việc tương tác giữa các công nghệ này cũng gặp phải khó khăn Đã có một số nghiên cứu mở rộng các công nghệ này cho môi trường lưới [61], ví dụ Java JINI

Trang 20

c) Các nhà cung cấp dịch vụ ứng dụng và dịch vụ lưu trữ

Các nhà cung cấp dịch vụ ứng dụng và dịch vụ lưu trữ thường cung cấp cho người dùng một số ứng dụng cụ thể nào ñó cũng như không gian lưu trữ Thông thường, người dùng tương tác với nhà cung cấp dịch vụ thông qua mạng riêng ảo (VPN) hoặc các ñường truyền dành riêng Vì vậy, có thể loại bỏ ñược nhiều nguy

cơ về an toàn bảo mật Khi nói về các loại dịch vụ này, ngữ cảnh của chúng cũng hẹp hơn hệ thống tính toán lưới rất nhiều

d) Các hệ thống tính toán ngang hàng P2P

Hệ thống tính toán ngang hàng cũng là một trường hợp riêng của hệ thống tính toán phân tán Các hệ thống tính toán ngang hàng phổ biến hiện nay là SETI@home [72] Các mạng ngang hàng chia sẻ tập tin như Napster, Kazaa, Morpheus và Gnutella Điểm khác biệt chính giữa hệ thống tính toán ngang hàng và hệ thống tính toán lưới là:

- Cộng ñồng người sử dụng: hệ thống tính toán lưới có cộng ñồng người sử dụng nhỏ hơn Nhưng tập trung vào các ứng dụng và có yêu cầu cao hơn về an ninh cũng như tính toàn vẹn của ứng dụng Trong khi ñó các hệ thống mạng ngang hàng

số người sử dụng có thể rất lớn, bao gồm người dùng ñơn lẻ và các tổ chức, không ñòi hỏi cao về an ninh và mô hình chia sẻ tài nguyên ñơn giản hơn

- Môi trường hệ thống tính toán lưới liên kết các nguồn tài nguyên ña dạng hơn

và chặt chẽ hơn

- Tính toán lưới và P2P cùng cho phép người sử dụng chia sẻ tệp, nhưng tính toán lưới cho phép chia sẻ không chỉ là các tệp mà còn có thể là nhiều tài nguyên khác

Trang 21

e) Công nghệ tính toán hiệu năng cao

Như ñã nói ở trên, ñể giải quyết những bài toán lớn người ta có thể ñầu tư ñể xây dựng cơ sở hạ tầng tính toán hiệu năng cao [57] Các hướng phát triển trong tính toán hiệu năng cao bao gồm:

- Nghiên cứu chế tạo những siêu máy tính tuần tự ñơn bộ vi xử lý nhưng với tốc ñộ rất cao Cách làm này gặp phải các giới hạn về vật lý như ñộ truyền dẫn của bán dẫn, tốc ñộ ñiện từ, nhiễu ñiện từ,

- Để khắc phục khó khăn trên người ta nghiên cứu chế tạo các siêu máy tính song song bao gồm rất nhiều bộ xử lý hoạt ñộng song song trên một bảng mạch chủ Cách làm này ñòi hỏi phải có những phần mềm thích hợp ñể tận dụng năng lực tính toán của hệ thống, ví dụ: hệ ñiều hành song song phân tán, trình biên dịch song song, ngôn ngữ lập trình song song,

- Tuy nhiên, việc nghiên cứu chế tạo ra các siêu máy tính nói chung mới chỉ ñược thực hiện ở các nước phát triển và giá thành của một hệ thống siêu máy tính như vậy (bao gồm cả phần cứng lẫn phần mềm hệ thống, công cụ phát triển) có thể lên ñến hàng triệu ñôla Do vậy, ñối với các nước ñang phát triển có thể dùng cách thứ ba, ñó là xây dựng các siêu máy tính bằng cách kết nối nhiều máy tính thông thường với nhau thành một cụm máy tính Cách làm này cho phép tạo ra các siêu máy tính giá rẻ Bằng cách này viện CDAC của Ấn Độ ñã tạo ra ñược siêu máy tính xếp thứ 173 trong số top 500 siêu máy tính của thế giới [19]

Như vậy khi nói ñến các cụm máy tính ta thấy ngữ cảnh của chúng hẹp hơn hệ thống tính toán lưới rất nhiều, thể hiện ở các ñiểm sau:

- Trước hết các cụm máy tính thuộc về một tổ chức, các tài nguyên của cụm máy tính là các máy tính, thường ñồng nhất về mặt kiến trúc, hệ ñiều hành, khả năng xử lý phân bố trên một giới hạn ñịa lý rất hẹp (ví dụ trong một phòng máy)

và ñược liên kết với nhau bởi các mạng LAN tốc ñộ cao (cỡ vài trăm Mbits - Gbits)

Do vậy, hệ thống có ñộ tin cậy rất cao Trái lại, lưới bao gồm tập hợp nhiều tài

Trang 22

nguyên ña dạng, không ñồng nhất thuộc nhiều tổ chức phân tán về mặt ñịa lý, ñược liên kết với nhau bởi các mạng diện rộng có tốc ñộ thấp hơn và mức ñộ tin cậy kém hơn

- Trong cụm máy tính các vấn ñề về an ninh không ñược coi trọng Vấn ñề chủ yếu là làm sao ñể có ñược hiệu năng cao và không cần thiết phải hy sinh một phần hiệu năng vì các thủ tục an ninh (vì cụm máy tính chỉ thuộc về một tổ chức và chỉ nằm trong một phòng máy) Trong khi ñó vấn ñề an ninh là một trong những vấn ñề quan trọng nhất mà hệ thống tính toán lưới phải giải quyết

- Trong cụm máy tính người ta quan tâm nhiều ñến hiệu năng, ví dụ: tối ưu hóa phần cứng phần mềm, sửa ñổi nhân hệ ñiều hành hoặc viết hẳn những hệ ñiều hành chuyên biệt, thay ñổi giao thức Hệ thống tính toán lưới không ñặt vấn ñề hiệu năng lên hàng ñầu, mà chủ yếu tập trung vào việc làm sao phân bổ hiệu quả các nguồn tài nguyên Trong một số trường hợp, khi ñã ñạt ñược mục tiêu ñó, hệ thống tính toán lưới cũng mang lại hiệu năng cao, thậm chí hơn nhiều lần so với các siêu máy tính hiện có Điều ñó chủ yếu là do quy mô cực kỳ rộng lớn của nó

Cuối cùng, cũng cần phải nói thêm rằng hệ thống tính toán lưới không phải là chìa khóa vạn năng dùng ñể giải quyết mọi vấn ñề Nó ñược dùng ñể bổ trợ chứ không phải thay thế hoàn toàn các công nghệ tính toán hiện tại Các công nghệ tính toán ñã tồn tại cũng ñã giải quyết từng phần các yêu cầu của hệ thống tính toán lưới ñặt ra (các yêu cầu về chia sẻ tài nguyên phân tán) Tuy nhiên, hệ thống tính toán lưới giải quyết các vấn ñề ñó một cách tập trung và bài bản hơn, với một ngữ cảnh rộng hơn rất nhiều

1.1.5 Những ứng dụng cơ bản của hệ thống tính toán lưới

Trong mục này, chúng ta sẽ ñiểm qua một cách kỹ lưỡng hơn các ứng dụng cơ bản của hệ thống tính toán lưới ñể thấy ñược lợi ích của công nghệ mới ñầy hứa hẹn ñối với người sử dụng [18,22,23,27,42,53]:

Trang 23

a) Khai thác nguồn tài nguyên chưa ñược sử dụng ñúng mức

Ứng dụng cơ bản nhất của hệ thống tính toán lưới chính là chạy một ứng dụng hiện hữu trên một máy khác Công việc ñược yêu cầu có thể chạy trên một máy rỗi trong mạng Cần ít nhất hai ñiều kiện tiên quyết ñể thực hiện yêu cầu này Thứ nhất, ứng dụng phải có khả năng thực hiện từ xa; Thứ hai, máy từ xa phải ñáp ứng ñược những yêu cầu về phần cứng, phần mềm và/hoặc những yêu cầu về tài nguyên khác cho ứng dụng

Theo thống kê, trong ña số các tổ chức, phần lớn các tài nguyên tính toán không ñược tận dụng ñúng mức Đa số các máy tính ñể bàn chỉ bận trong khoảng 5% thời gian và thậm chí, trong một vài tổ chức, máy chủ cũng thường rất nhàn rỗi

Hệ thống tính toán lưới cung cấp khả năng khai thác triệt ñể những tài nguyên chưa ñược tận dụng ñúng mức và như vậy, làm tăng ñáng kể hiệu quả khai thác các tài nguyên này [47]

Trong thực tế, các máy có thể ñể trống một dung lượng ñĩa khá lớn Hệ thống tính toán lưới có khả năng tập hợp các không gian nhớ trống này thành một một bộ nhớ ảo lớn hơn, cải thiện hiệu năng và ñộ tin cậy Thực vậy, giả sử một ứng dụng cần ñọc rất nhiều dữ liệu; dữ liệu này có thể ñược tự ñộng nhân bản tại nhiều ñiểm chính trên lưới Như vậy, nếu ứng dụng phải xử lý trên một máy từ xa trong lưới, dữ liệu ñã ở ngay ñó hoặc gần ñó và do vậy, không cần phải di chuyển ñến ñiểm ở xa Điều này tạo ra những lợi ích về hiệu năng, ñồng thời việc sao chép dữ liệu như vậy

có thể ñược sử dụng như những bản sao khi bản gốc bị hư hại hoặc không sẵn sàng Một chức năng khác của lưới là cân bằng việc sử dụng tài nguyên Khi có một ứng dụng ñòi hỏi nhiều tài nguyên, một hệ thống ñơn lẻ không ñủ sức ñể ñáp ứng thì giải pháp ở ñây là chúng có thể ñược chuyển ñến những hệ thống chưa ñược sử dụng hết công suất Nói cách khác, ứng dụng ñó có thể ñược phân ra thành nhiều phần ñể hoàn thành các phần trên nhiều hệ thống khác nhau Tóm lại, lưới có thể ñảm bảo tính nhất quán ñể cân bằng tải trên một tập rộng lớn các tài nguyên [48]

Trang 24

b) Khả năng thực hiện tính toán song song

Khả năng tính toán song song là một trong những ñặc ñiểm lôi cuốn nhất của

hệ thống tính toán lưới [42] Ngoài nhu cầu khoa học thuần túy, sức mạnh tính toán song song tạo nên một bước tiến bộ mới trong các lĩnh vực khác nhau của ñời sống như: dự báo thời tiết, khí hậu, ñiều khiển vật thể bay (tàu vũ trụ, tên lửa ñạn ñạo,…),

y sinh học, mô hình tài chính, thăm dò dầu mỏ, làm phim hoạt hình và nhiều lĩnh vực khác

Yêu cầu chung của việc thực hiện tính toán song song là các ứng dụng ñược thiết kế sao cho nó có thể ñược chia nhỏ thành các phần chạy ñộc lập với nhau Một ứng dụng có yêu cầu tính toán lớn trên lưới có thể ñược xem như nhiều “công việc con nhỏ hơn”, sao cho mỗi công việc con này có thể ñược thực hiện trên một máy nào ñó trong lưới tính toán Mức ñộ liên quan giữa các công việc con càng thấp thì ứng dụng càng tối ưu Một ứng dụng thực hiện song song sẽ kết thúc nhanh hơn gấp

10 lần nếu nó sử dụng số bộ vi xử lý gấp 10 lần, nếu không tính ñến thời gian trao ñổi thông tin giữa các bộ xử lý

Việc song song hoá các công việc ñặt ra rất nhiều vấn ñề Trước tiên, cần có giải thuật phù hợp ñể chia ứng dụng ra thành các phần cho nhiều CPU Vấn ñề thứ hai là nếu các thành phần ñược chia ra không ñộc lập hoàn toàn, có thể gây ra sự tương tranh về tài nguyên Ví dụ, nếu tất cả các công việc con cần phải ñọc ra và viết vào một tệp chung hoặc cơ sở dữ liệu chung, giới hạn truy nhập tệp hay cơ sở

dữ liệu ñó sẽ trở thành nhân tố gây ra sự tương tranh Sự tương tranh còn tiềm ẩn trong việc truyền thông ñiệp giữa các công việc con, khả năng truyền thông mạng, giao thức ñồng bộ hoá, băng thông vào ra cho các thiết bị lưu trữ

Một ñặc ñiểm của lưới tính toán là tài nguyên không ñồng nhất Vì vậy, không nhất thiết phải chia ứng dụng ra thành những công việc ñiều nhau

Một ñóng góp quan trọng khác của hệ thống tính toán lưới là cho phép ñơn giản hoá tương tác giữa các hệ thống thuộc các lĩnh vực khác nhau Trước ñây, tính

Trang 25

toán phân tán cũng ñáp ứng yêu cầu tương tự và ở một chừng mực nào ñó có những thành công Hệ thống tính toán lưới cung cấp những tiêu chuẩn quan trọng cho phép các hệ thống không ñồng nhất có thể làm việc với nhau ñể hình thành một hệ thống tính toán ảo lớn với những nguồn tài nguyên ảo khác nhau [25] Người dùng của hệ thống tính toán lưới có thể ñược tổ chức ñộng trong một tổ chức ảo Mỗi tổ chức ảo

có thể có những yêu cầu chính sách khác nhau Các tổ chức ảo này có thể chia sẻ tài nguyên với nhau và tập hợp lại trong một lưới tính toán lớn

Một ưu ñiểm nổi bật của sự hợp tác là việc chia sẻ về dữ liệu Tệp hoặc cơ sở

dữ liệu có thể trao chuyển giữa các hệ thống trong tổ chức ảo, như vậy nó sẽ có khả năng khai thác ñược nhiều hơn các hệ thống ñơn lẻ Việc chia sẻ tài nguyên không chỉ giới hạn về dữ liệu mà còn ñặt ra ñối với các nguồn tài nguyên khác như các

thiết bị, các dịch vụ, phần mềm có bản quyền,… Các tài nguyên này ñược ảo hoá,

ñể chúng có khả năng vận hành ñồng nhất giữa những người tham gia vào lưới tính toán

Người tham gia vào lưới tính toán có thể là thành viên của một hay một vài tổ chức thực, ảo Khi tham gia vào lưới tính toán, họ buộc phải tuân theo những chính sách bảo mật, những chính sách về giải quyết quyền ưu tiên trong tổ chức ñó

c) Chia sẻ những nguồn tài nguyên ñặc biệt

Ngoài việc chia sẻ CPU và những tài nguyên lưu trữ, lưới tính toán còn cung cấp các dịch vụ, cho phép truy nhập tới các thiết bị ñặc biệt như phần mềm có bản quyền và những dịch vụ khác

Ví dụ, khi người dùng cần tăng thêm băng thông ñể thực hiện tìm kiếm, khai phá dữ liệu, công việc có thể ñược chia ra cho các máy trong lưới tính toán kết nối Internet Khi ñó, toàn bộ khả năng tìm kiếm ñược nhân lên, do mỗi máy ñều có một kết nối riêng biệt tới Internet Tất nhiên, nếu những máy này cùng chia sẻ kết nối tới mạng băng thông sẽ tăng không ñáng là bao

Trang 26

1.1.6 Các công cụ hỗ trợ xây dựng hệ thống tính toán lưới

Hiện nay trên thế giới có nhiều bộ công cụ phát triển hỗ trợ việc xây dựng lưới

ở nhiều mức ñộ khác nhau, tiêu biểu là:

a) Globus Toolkit

Globus là một dự án nghiên cứu gồm nhiều tổ chức tham gia với mục tiêu ban ñầu là tạo cơ sở hạ tầng và các dịch vụ cấp cao cho một lưới tính toán [14,28,30,36,38] Tuy nhiên, hiện nay Globus ñã mở rộng phạm vi và trở thành cơ

sở hạ tầng, cho phép chia sẻ nhiều loại tài nguyên ña dạng Globus Toolkit là bộ phần mềm mã nguồn mở bao gồm các dịch vụ và các thư viện hỗ trợ cho việc quản

lý, khai phá tài nguyên [69] Ngoài ra, bộ phần mềm này còn hỗ trợ hệ thống quản

lý tệp và dịch vụ bảo mật Cho ñến nay, ñây là bộ công cụ mạnh nhất và ñược sử dụng rộng rãi nhất ñể thiết kế và cài ñặt các ứng dụng lưới [70] Ðiểm ưu việt của Globus Toolkit là hỗ trợ hoàn toàn các giao thức OGSA (Open Grid Services Architecture) [26] và OGSI (Open Grid Services Infrastructure) [73] Ðồng thời, mô hình lập trình mà Globus Toolkit ñưa ra là mô hình hướng dịch vụ Globus Toolkit

ñã phát triển sang phiên bản 5.0 Tuy nhiên, hiện nay phiên bản 4.0 là ổn ñịnh nhất

và ñang ñược ứng dụng rộng rãi [59, 60]

Trang 27

b) Condor

Condor là một công cụ hỗ trợ khả năng lưu trữ của các máy trạm phục vụ cho tác vụ tính toán [64] Condor phù hợp với các bài toán có thể phân chia thành các công việc không cần tương tác với nhau Có thể xem Condor như là hệ thống quản

lý tài nguyên chuyên dụng cho các công việc tính toán Giống như các hệ thống xử

lý theo lô, Condor cung cấp cơ chế xếp hàng công việc, chính sách lập lịch, biểu ñồ

ưu tiên và quản lý tài nguyên Phụ thuộc vào công việc do người sử dụng ñệ trình là tuần tự hay song song, Condor ñặt chúng vào hàng ñợi, sau ñó lựa chọn công việc

ñể thực thi dựa vào chính sách ưu tiên, tình trạng công việc và quản lý toàn bộ quá trình thực thi công việc

Condor cho phép quản lý một cụm máy tính hay các nút tính toán ñược nhóm lại với nhau Ngoài ra, Condor còn có cơ chế tìm kiếm ñể ñáp ứng giữa yêu cầu tài nguyên (công việc) và khả năng ñáp ứng (máy tính) Bên cạnh bộ công cụ Condor (tập trung vào việc hỗ trợ khả năng tính toán của các tài nguyên có tính tương ñồng

và ñược nhóm lại với nhau), còn có phiên bản Condor-G cung cấp dịch vụ quản lý tài nguyên cho các ứng dụng lưới Phần mềm này là sự kết hợp giữa các giao thức quản lý tài nguyên của Globus (GRAM, dịch vụ chỉ mục) và phương thức quản lý tài nguyên mang tính nội bộ của Condor

c) BOINC

BOINC (The Berkeley Open Infrastructure for Network Computing) là dự án nghiên cứu của trường Đại học Berkeley [50] BOINC là một hệ thống cơ sở hạ tầng của mô hình tính toán phân tán ñược xây dựng và phát triển từ dự án SETI@home (dự án tìm kiếm trí tuệ ngoài trái ñất) Hiện nay, BOINC ñang ñược phát triển bởi một nhóm các thành viên thuộc Đại học California, Berkeley, ñứng ñầu là David Anderson, trưởng nhóm dự án SETI@home Hiện nay, có khoảng 475.000 máy chủ ñang chạy các dự án khác nhau dựa trên nền của BOINC và rất nhiều dự án lớn mang tính chất cộng ñồng ñược xây dựng dựa trên nền tảng BOINC

Trang 28

Trên thế giới có rất nhiều dự án lớn mang tính chất cộng ñồng ñược xây dựng trên nền tảng BOINC Các dự án này thuộc nhiều lĩnh vực khác nhau, như khoa học trái ñất (dự án ClimatePrediction), nghiên cứu về thuốc và sinh học (dự án Rosetta@home, Proteins@home), toán học và các trò chơi chiến thuật (Chess960@home), thiên văn học, vật lý, hóa học (SETI@home, Einstein@home),

d) Alchemi

Trong bối cảnh các thư viện và framework dành cho hệ thống tính toán lưới chủ yếu nằm trên nền Linux, Alchemi là một framework hiếm hoi hoạt ñộng trên nền NET theo tiếp cận mã nguồn mở [49] Alchemi cung cấp khả năng linh hoạt cho người sử dụng thiết kế và xử lý các ứng dụng desktop trên hệ thống các máy tính ñược kết nối qua mạng ñể trở thành một siêu máy tính ảo

1.1.7 Một số hệ thống tính toán lưới

Ngày nay, nghiên cứu, xây dựng và sử dụng siêu máy tính và hệ thống tính toán lưới không còn là công việc của các nước phát triển trong những dự án có tính chất chuyên ngành của một số viện nghiên cứu khoa học lớn Ở nhiều nước trong khu vực: Trung Quốc, Nhật Bản, Thái Lan, Singapore, Hàn Quốc, Malaysia, ñều

có những dự án quốc gia về siêu máy tính và hệ thống tính toán lưới Việc thống nhất các sức mạnh tính toán vào một lưới tính toán chung có một lợi ích và cần thiết ñến mức nó không chỉ là dự án cấp quốc gia mà còn là dự án liên quốc gia Các nước vùng quanh Thái Bình Dương, ñứng ñầu là Mỹ ñã thực hiện một lưới khu vực Thái Bình Dương (PRAGMA: Pacific Rim Applications and Grid Middleware Assembly (2002) [51] Nhật Bản và các nước Đông Nam Á ñã tạo ra APGRID (Asia-Pacific Grid) [10] trong ñó Việt Nam là một thành viên Châu Âu cũng có mạng lưới tính toán của mình Dự án EUROGrid [20] với 12 nước thành viên tham gia Dự án EGEE [66] (Enabling Grids for E-sciencE) là một dự án do Uỷ ban Châu Âu ñầu tư, nhằm kết nối 70 trung tâm nghiên cứu khoa học lớn trên 27 nước

Trang 29

toàn Châu Âu, hỗ trợ việc nghiên cứu khoa học cũng như phát triển ứng dụng công nghiệp với lưới tính toán LCG Lưới tính toán này thu thập và xử lý các dữ liệu về hạt nhân tại CERN Nevada LCG ñược xây dựng với mục ñích xử lý một lượng lớn

dữ liệu ñược sinh ra với tốc ñộ gigabyte/giây (10 petabyte/năm) Các tổ chức tham gia vào lưới tính toán LCG có thể tìm và theo dõi thời gian thực thông qua nền tảng EGEE Các phần mềm và tài liệu liên quan cũng ñược công bố rộng rãi Dự án lưới tính toán BioGrid [63] ñược hỗ trợ bởi E-Japan ứng dụng công nghệ lưới trong các nghiên cứu y học, sinh học, dược phẩm Lưới tính toán EcoGrid [65] ñược hỗ trợ bởi chính phủ Đài Loan nghiên cứu sử dụng lưới tính toán trong bảo vệ môi sinh vùng núi EUAsiaGrid [67] là một lưới tính toán ñược triển khai giữa Châu Âu và Châu Á nhằm thực hiện hỗ trợ phát triển khoa học ñiện tử dựa trên EGEE và các dự

án EU-IndiaGrid, EUChinaGrid

Ở Việt Nam, trong ñiều kiện hiện tại chúng ta chưa có ñủ tiềm lực ñể có thể trang bị những máy tính lớn ñắt tiền, trong khi ñó nhu cầu tính toán lớn phục vụ cho nghiên cứu khoa học cũng như cho các ứng dụng thực tiễn là rất lớn Việc xây dựng một hệ thống tính toán sử dụng công nghệ tính toán lưới là cực kỳ cần thiết Hiện nay, ñã có một số trung tâm tính toán hiệu năng cao ở: Viện Toán học, Viện Công nghệ Thông tin, Học viện Kỹ thuật Quân sự, Đại học Bách khoa Hà Nội, Đại học Quốc gia Thành phố Hồ Chí Minh, Bộ Quốc phòng, Viện Khí tượng Thủy văn (Bộ Tài nguyên và Môi trường), Viện nghiên cứu Năng lượng nguyên tử Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội cũng ñã triển khai dự án Trung tâm Tính toán Hiệu năng cao với ñầu tư máy móc vào loại mạnh nhất ở Việt Nam Việc kết nối các trung tâm tính toán hiệu năng cao này bằng một lưới tính toán là một giải pháp phù hợp

Trung tâm Tính toán Hiệu năng cao của Đại học Bách Khoa Hà Nội cũng ñã nghiên cứu và triển khai công nghệ tính toán lưới Trung tâm ñã triển khai ñược một

hệ thống tính toán lưới xây dựng trên Globus Toolkit và ñã trở thành một nút lưới trong hệ thống lưới tính toán PRAGMA Một số ứng dụng phát triển trên nền hệ

Trang 30

thống tính toán lưới ñang bước ñầu ñược triển khai tại Việt Nam như hệ thống VNGrid [8] Lưới tính toán BioGrid IOIT VN [1] là hệ thống nghiên cứu về sinh học của Phân viện Công nghệ Thông tin Thành phố Hồ Chí Minh EDAGrid [74] là

hệ thống tính toán lưới của Đại học Bách khoa Thành phố Hồ Chí Minh Hiện tại, ở Việt Nam có nhiều trường ñại học và viện nghiên cứu ñều ñã ñược kết nối với mạng VinaREN một mạng kết nối các tổ chức nghiên cứu và hệ thống các viện trường ở các nước trên thế giới, mang lại nhiều ñiều kiện thuận lợi ñể phát triên ứng dụng trên lưới

1.2 Các thách thức ñối với mô hình tính toán lưới và một số vấn ñề nghiên cứu

1.2.1 Các xu hướng trong tính toán

Sự tiến bộ trong công nghệ mạng và phần cứng cho phép có thể truy nhập tới các tài nguyên tính toán với giá thành thành rẻ Điều này mang ñến sự sẵn sàng của các tài nguyên tính toán phổ biến tại nhiều nơi trên thế giới Tốc ñộ mạng tăng lên làm cho sự trao ñổi thông tin trên thế giới trở nên khả thi hơn Tất cả những ñiều ñó làm tăng khả năng của con người trong việc truyền thông và thực hiện các tương tác trong thời gian thực, bất chấp vị trí của họ là ở ñâu trên thế giới Sự phát triển rộng khắp của Internet cho phép triển khai thương mại ñiện tử (e-commere) Trong thương mại ñiện tử, các giao dịch hoàn toàn có thể thực hiện trên Internet Chính phủ của các nước ñều quan tâm ñến sự gia tăng của các tài nguyên tính toán và truyền thông ñể mở rộng khả năng cung cấp các dịch vụ tới công dân của họ Chúng

ta có thể thấy các nước ñều ñầu tư và hướng tới chính phủ ñiện tử (e-governance) Hầu hết chính phủ của các nước ñều có chính sách hỗ trợ ñể nâng cấp việc truy nhập tới các tài nguyên truyền thông và tính toán nhằm khuyến khích các hoạt ñộng khoa học và gọi là khoa học ñiện tử (e-science) [68] Đối với giáo dục cũng ñược ñầu tư và quan tâm thông qua hệ thống giáo dục ñiện tử (e-learning) Trong ngân hàng ñó là ngân hàng ñiện tử (e-banking)

Trang 31

Ở mức phát triển phần mềm, xu hướng chung là ñơn giản hóa quá trình phát triển với trọng tâm là các mô hình cho phép nâng cấp việc viết các chương trình tự ñộng Ở mức ứng dụng, ñịnh hướng cung cấp các gói phần mềm hướng sử dụng và gia công (outsourcing) Đây là xu hướng các tổ chức mong muốn, ñể cung cấp các dịch vụ linh hoạt (có thể ñược cấu hình) tới các giải pháp của người sử dụng Ở ñây, cũng cần chú ý ñến các xu hướng trong sự kết hợp thông minh giữa phần cứng và phần mềm Tuy nhiên, ngày nay sự kết hợp này ñã khá hoàn thiện trong các ứng dụng hữu ích và bước ñầu ñược phát triển trong công nghiệp

Tất cả các xu hướng này ñều chung mục ñích cuối cùng là ñưa ra các công nghệ cao Một trong các yêu cầu cao ñó là hỗ trợ tính toán hiệu năng cao và tính toán lưới Trong các hệ thống này, tài nguyên tính toán ñược kết hợp với nhau ñể

mở rộng hiệu năng tính toán Khi ñó, các hệ thống tính toán hiệu năng cao chỉ là một phần của hệ thống tính toán lưới

Tính toán hiệu năng cao gắn liền với các siêu máy tính, là các máy tính có tốc

ñộ tính toán rất nhanh và ñắt với kiến trúc tập trung Thực tế, các máy tính này ñược dùng ñể giải quyết các bài toán rất lớn, thường là các bài toán trong khoa học kỹ thuật với khối lượng dữ liệu lớn, phức tạp Siêu máy tính tạo thành một phần của tài nguyên tính toán trong hệ thống tính toán lưới Các bài toán lớn trong khoa học và công nghệ quan trọng phần lớn ñược giải quyết trên siêu máy tính

Một xu hướng khác trong tính toán hiệu năng cao là sử dụng các cluster Các cluster là các máy tính ñược kết nối với nhau trong các hệ thống phân tán và song song, ñể cung cấp các dịch vụ của một tài nguyên tính toán ñơn Cũng có quan ñiểm coi tính toán cluster là hệ thống tính toán lưới

Một xu hướng nữa kết hợp với tính toán hiệu năng cao là tính toán Internet, trong ñó các dịch vụ có thể ñược cung cấp cho sự cần thiết của người sử dụng Một

xu hướng khác của tính toán hiệu năng cao là sự ảo hóa Theo xu hướng này, các máy chủ, các thiết bị lưu trữ và kết nối liên mạng ñược kết hợp với nhau ñể tạo ra

Trang 32

một nền tảng với các ràng buộc cố ñịnh Sự ảo hóa cho phép chuyển tài nguyên từ ứng dụng này tới ứng dụng khác một cách tự ñộng Sự ảo hóa cũng có thể nối các ứng dụng ñể tăng thông lượng và nối các trung tâm dữ liệu ñể cung cấp sự linh hoạt nhằm thỏa mãn các nhu cầu ñộng Từ thực tế ứng dụng nảy sinh xu hướng tổ chức các trung tâm dữ liệu, do các ứng dụng ngày nay rất phức tạp và yêu cầu sử dụng dữ liệu theo nhiều cách khác nhau Đây là xu hướng của lưới dữ liệu Lưới dữ liệu cho phép người sử dụng ñồng hợp tác, chia sẻ quá trình xử lý, các ứng dụng và dữ liệu

Xu hướng trọng tâm của tính toán hiệu năng cao ñó là hệ thống tính toán lưới

Xu hướng này tập trung thử và kiểm nghiệm các ứng dụng trên các nguồn tài nguyên tính toán quyên góp (pool computing resources) và phát triển các giao thức cốt yếu của hệ thống tính toán lưới Hệ thống tính toán lưới có thể xem như là môi trường phân tán ảo [39] Sự truy nhập tới lưới tính toán phục thuộc vào tính sẵn sàng, khả năng, hiệu năng và giá của sự yêu cầu về xử lý

1.2.2 Các khó khăn

Như ñã trình bày ở trên, xu hướng chung là tính toán hiệu năng cao dựa trên hệ thống tính toán lưới Tuy nhiên, khi sử dụng hệ thống tính toán lưới, ta phải ñương ñầu với nhiều khó khăn và thách thức mới [32] Các khó khăn thách thức mà công nghệ lưới tính toán ñang giải quyết bao gồm:

a) 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 tổng quát Đó có thể là các tài nguyên phần cứng (tài nguyên tính toán, tài nguyên lưu trữ, các thiết bị ñặc biệt khác), các tài nguyên phần mềm (các cơ sở dữ liệu, 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ể khác nhau về mặt kiến trúc, giao diện, khả năng xử

lý Việc tạo ra một giao diện thống nhất cho phép khai thác và sử dụng hiệu quả các nguồn tài nguyên này là hoàn toàn không dễ dàng

Trang 33

Ban ñầu hệ thống 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 mở rộng sang rất nhiều nguồn tài nguyên khác như ñã kể trên

b) Các tài nguyên thuộc nhiều tổ chức

Các tổ chức phải tuân thủ một số quy ñịnh chung khi tham gia vào lưới tính toán ñảm bảo vẫn hoạt ñộng ñộc lập, tức là các tài nguyên 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

c) Đảm bảo an toàn thông tin

Việc ñảm bảo an toàn trong một môi trường phức tạp như môi trường lưới tính toán là rất khó khăn, trong khi ñó ñây là một trong những ñiểm ưu tiên hàng ñầu Theo Ian Foster [22], một hệ thống tính toán lưới có 3 ñặc ñiểm chính sau:

- Phối hợp các tài nguyên phân tán từ nhiều miền quản trị khác nhau

- Sử dụng các chuẩn mở và các giao thức mở

- Mang lại cho người dùng chất lượng dịch vụ không tầm thường

Điểm thứ hai rất ñáng lưu ý Vì hệ thống tính toán lưới là một môi trường thu hút nhiều tổ chức tham gia nên không thể coi nhẹ vai trò của các chuẩn mở và các giao thức mở Việc sử dụng các chuẩn này giúp cho mạng Internet bùng nổ mạnh

mẽ trong những năm 90 của thế kỉ trước

Khái niệm tổ chức ảo là một khái niệm rất quan trọng trong hệ thống tính toán lưới Tổ chức ảo là một tổ chức ñược lập ra ñể giải quyết một vấn ñề nào ñó Thành phần của tổ chức ảo bao gồm rất nhiều tài nguyên thuộc về nhiều tổ chức (thực) khác nhau trong môi trường hệ thống tính toán lưới và hoạt ñộng cho một mục tiêu chung Tùy theo mức ñộ của vấn ñề cần giải quyết mà các tổ chức ảo có thể rất khác

Trang 34

nhau về quy mô, phạm vi hoạt ñộng, thời gian sống Hình 1.4 dưới ñây là một minh họa về tổ chức ảo Khi có một người dùng cần giải một bài toán lớn về dự báo thời tiết, anh ta thành lập một tổ chức ảo, bằng cách thuê một số nguồn tài nguyên khác nhau từ các tổ chức khác nhau Tương tự như vậy, người dùng khi cần giải bài toán

dự báo tài chính, anh ta cũng thành lập một tổ chức ảo ñể giải quyết bài toán này

Hình 1 4 Tổ chức ảo

1.2.3 Một số hướng nghiên cứu

Theo Ian Foster [24], vấn ñề ñặc biệt quan trọng trong lưới tính toán là ñồng hợp tác ñể chia sẻ tài nguyên và giải quyết các yêu cầu trong các tổ chức khác nhau một cách tự ñộng Việc chia sẻ tài nguyên quy về truy nhập trực tiếp ñến các máy tính, phần mềm, dữ liệu và các tài nguyên khác, ñảm bảo việc giải quyết các bài toán Để chia sẻ như vậy, ta phải ñiều phối các tài nguyên ñược cung cấp và ñược

Trang 35

sử dụng một cách rõ ràng Các cá nhân hoặc các tổ chức tham gia cung cấp và chia

sẻ tài nguyên tạo thành các tổ chức ảo Các tổ chức ảo cũng bao gồm các nhà cung cấp máy tính, các nhà cung cấp dịch vụ phần mềm, các nhà cung cấp dịch vụ lưu trữ Buyya [17] chỉ ra rằng vấn ñề nổi bật trong hệ thống tính toán lưới bao gồm: hỗ trợ các mô hình ứng dụng khác nhau cho phép ñối phó với các tác vụ truyền thông liên tục và phụ thuộc lẫn nhau; hỗ trợ các kiểu mạng khác nhau với các cấu hình ñộng

và tĩnh có giá thành dựa trên chất lượng của dịch vụ, chương trình với dữ liệu lớn

và bộ lập lịch tốt hỗ trợ việc lựa chọn các dịch vụ dựa trên truy nhập, tốc ñộ, giá thành Uwe [33] (chuyên gia về các giải thuật lập lịch cho lưới tính toán, như là back-filling và round table), ñã chỉ ra một vài vấn ñề như: khó khăn trong tính toán

lý thuyết vì các hàm mục tiêu là quá phức tạp, khó khăn trong mô phỏng, do sự không ñồng nhất về môi trường tính toán

Các vấn ñề của hệ thống tính toán lưới bao gồm :

• Quản lý tài nguyên

Mục tiêu của quản lý tài nguyên là cung cấp các cơ chế, các giao thức, các dịch vụ ñể các tổ chức có thể tham gia vào một tổ chức hệ thống tính toán lưới Kết hợp các tài nguyên tham gia hệ thống tính toán lưới với nhau thành một môi trường Đây là những vấn ñề rất phức tạp và khó khăn, phụ thuộc nhiều yếu tố bởi vì :

- Các hệ thống máy tính là không ñồng nhất, thường có nền tảng khác nhau như bộ vi xử lý khác nhau, hệ ñiều hành khác nhau

- Tốc ñộ mạng ñể kết nối ñến hệ thống tính toán lưới của các tổ chức khác nhau

- Cơ chế, chính sách của các tổ chức cũng khác nhau

Ngoài ra, quản lý tài nguyên còn cung cấp các cơ chế, các giao thức, các dịch

vụ ñể một tổ chức có thể sử dụng các tài nguyên của hệ thống tính toán lưới nhằm giải quyết các công việc

Trang 36

• Lập lịch

Đây là vấn ñề trọng tâm của hệ thống tính toán lưới, quyết ñịnh phân phối các tài nguyên của lưới tính toán trong môi trường ñồng hợp tác, ñể giải quyết cùng một lúc nhiều bài toán lớn Một hệ thống tính toán lưới chỉ hiệu quả khi có một bộ lập lịch tốt

Nhiệm vụ của bộ lập lịch chính là tìm ra tài nguyên phù hợp nhất ñể thực hiện yêu cầu của người dùng Bộ lập lịch chính là thành phần quan trọng của lưới tính toán, ñóng vai trò lớn trong việc quyết ñịnh thành công của lưới tính toán Như ñã chỉ ra ở trên, mục tiêu ra ñời của hệ thống tính toán lưới chính là ñể thỏa mãn yêu cầu của những người sử dụng, muốn tính toán những bài toán phức tạp một cách nhanh chóng, chính xác và hiệu quả Do hệ thống tính toán lưới ñược xây dựng trên

cơ sở các hệ thống không ñồng nhất và phân tán về mặt ñịa lý, cho nên số lượng, chủng loại tài nguyên là rất phong phú, ña dạng Hơn thế, số lượng người sử dụng cũng rất lớn và ai cũng muốn công việc của mình ñược hoàn thành càng sớm càng tốt Chỉ riêng số lượng tài nguyên và người dùng, chưa nói ñến chủng loại tài nguyên hay nhu cầu phức tạp của người dùng ñã cho thấy mức ñộ phức tạp của bài toán lập lịch [34] Bản chất của bài toán lập lịch là rất khó, vì nó liên quan ñến giải thuật Do vậy, ñã có nhiều nhà nghiên cứu trên thế giới quan tâm ñến bài toán này Đối với hệ thống tính toán lưới, thực thi trên lưới một ứng dụng là một vấn ñề ñược quan tâm hàng ñầu Làm thế nào ñể thúc ñẩy khả năng thực thi của lưới tính toán? Kinh nghiệm của nhóm ứng dụng song song và phân tán chỉ ra rằng lập lịch là

cơ sở của sự thực thi [11]

Tuy nhiên, mỗi cơ chế lập lịch có thể có kết quả thực thi khác nhau:

- Bộ lập lịch công việc (Job schedulers) - Lập lịch thông lượng cao (high-throughput schedulers) cho phép nâng cao sự thực thi của hệ thống bởi thông lượng tối ưu [33]

Trang 37

- Bộ lập lịch tài nguyên (Resource schedulers) cho phép tích hợp nhiều yêu cầu cho việc truy nhập ñến tài nguyên bởi tiêu chuẩn cân bằng tối ưu hoặc sự tận dụng tài nguyên Cả hai cơ chế lập lịch công việc và lập lịch tài nguyên ñều hướng tới việc nâng cao khả năng thực thi của hệ thống qua thực thi những ứng dụng ảo

- Bộ lập lịch ứng dụng (Application schedulers) - Lập lịch hiệu năng cao cho phép nâng cao khả năng thực thi của các ứng dụng ảo bởi những công cụ thực thi tối ưu như: thời gian thực hiện ít nhất, các giải pháp làm cho

hệ thống tính toán lưới nhanh hơn, hoặc các ứng dụng khác

Ngoài hai vấn ñề chính nêu trên, ñể hệ thống tính toán lưới trở thành các hệ thống thực sự, các vấn ñề sau cũng cần ñược giải quyết :

• Cơ chế bảo mật và xác thực trong hệ thống tính toán lưới

Tính xác thực của người tham gia (cung cấp tài nguyên) và người sử dụng hệ thống là rất quan trọng Điều này nhằm ñảm bảo việc tham gia hệ thống là không bị làm giả và người sử dụng hệ thống không chiếm giữ lâu tài nguyên

Ngoài ra, cơ chế bảo mật rất cần ñược quan tâm, do tính riêng tư của các tổ chức tham gia, cũng như các vấn ñề mà các tổ chức sử dụng muốn giải quyết

Hơn nữa, các vấn ñề này rất khó khăn và quan trọng bởi tính ña dạng của hệ thống tính toán lưới: nhiều ñối tượng khác nhau với các mức an toàn khác nhau; nhiều hệ thống khác nhau với cơ chế bảo mật và xác thực khác nhau; nhiều dịch vụ khác nhau với các phần mềm khác nhau

• Các chuẩn và giao thức

Trong bất kỳ hệ thống nào, các chuẩn và giao thức cũng là những thành phần cốt yếu ban ñầu Không có các chuẩn và giao thức, hệ thống không thể tồn tại Các chuẩn và giao thức quyết ñịnh sự vận hành của hệ thống tính toán lưới Do vậy, việc phát triển các chuẩn và giao thức trong tính toán là rất cần thiết

Trang 38

• Các công cụ

Công việc quản lý, lập lịch, các chuẩn và giao thức là xương sống của hệ thống tính toán lưới Tuy nhiên, ñể sử dụng ñược hệ thống, nhất thiết cần phải cung cấp các công cụ cho người sử dụng Do ñó, việc phát triển các công cụ, tiện ích ñể xây dựng, phát triển và sử dụng các hệ thống tính toán lưới là tối quan trọng [29]

Như phân tích ở trên, quản lý tài nguyên và lập lịch trong hệ thống tính toán lưới là hai vấn ñề cơ bản nhất Vì vậy, nó ñã và ñang ñược rất nhiều nhà khoa học quan tâm và nghiên cứu

1.3 Mục tiêu của luận án

Với những tìm hiểu và phân tích về công nghệ tính toán lưới ở trên, việc triển khai hệ thống tính toán lưới phụ thuộc vào rất nhiều yếu tố Xây dựng một lưới tính toán ñòi hỏi phải giải quyết ñược bài toán bảo mật, cũng như các vấn ñề về quyền

cá nhân và thu phí Cộng ñồng những nhà khoa học thường dễ chia sẻ các tài nguyên và kết quả nghiên cứu với nhau, nhưng các doanh nghiệp và các ñối tượng khác trong xã hội không phải lúc nào cũng sẵn sàng Hơn nữa, rào cản về kỹ thuật thực ra không lớn bằng cản trở về chính trị, kinh tế Chính vì vậy, một lưới tính toán toàn cầu hợp nhất dường như vẫn còn xa xăm Lưới tính toán và những ứng dụng thực sự trên lưới còn vô cùng khó khăn trong triển khai thực hiện

Chỉ xét riêng về góc ñộ kỹ thuật, lưới tính toán gặp phải hàng loạt vấn ñề cần giải quyết Với tài nguyên ña dạng, việc lựa chọn ñược tài nguyên phù hợp cho ứng dụng cũng không ñơn giản Bài toán lập lịch trong hệ thống tính toán lưới rất phức tạp Không có một giải thuật chung tối ưu cho tất cả các ứng dụng

Do ñó, tìm hiểu bài toán lập lịch nhằm ñưa ra ñược giải thuật tốt cho một lớp các bài toán là một hướng nghiên cứu có nhiều triển vọng

Trang 39

1.4 Các kết quả ñã ñạt ñược của luận án

Từ những nghiên cứu về hệ thống tính toán lưới và lập lịch trong tính toán lưới, luận án ñã ñề xuất 3 phiên bản giải thuật: giải thuật tham lam lam, giải thuật di truyền, giải thuật tối ưu hóa theo nhóm bầy cho bài toán lập lịch trong tính toán lưới Luận án cũng ñã tiến hành cài ñặt các thử nghiệm trên các bộ dữ liệu mô phỏng ñể ñánh giá hiệu quả của các giải thuật ñề xuất Các kết quả chạy thử nghiệm ñược ñánh giá tốt hơn so với những giải thuật heuristic mà các tác giả trước ñây ñã sử dụng

Chúng tôi cũng ñã cài ñặt thành công lưới thử nghiệm TestGrid ñược kết nối với hệ thống lưới tính toán khu vực Thái Bình Dương PRAGMA

Trang 40

Chương 2 BÀI TOÁN LẬP LỊCH TRONG TÍNH TOÁN LƯỚI

Chương này trình bày những vấn ñề lý thuyết chung, mô hình của bài toán lập lịch trong hệ thống tính toán lưới Trước khi trình bày về lập lịch trong hệ thống tính toán lưới, luận án sẽ tóm tắt lại một số bài toán lập lịch truyền thống và các phương pháp giải quyết nó

2.1 Một số bài toán lập lịch truyền thống

Bài toán lập lịch rất hay gặp trong thực tế, chẳng hạn như các bài toán lập thời khóa biểu trong trường học, lập kế hoạch quản lý dự án, lập lịch bay cho hãng hàng không, Đó là các bài toán lập lịch tiêu biểu Nội dung của bài toán là tìm ra một cách thức thực hiện các công việc dựa vào tất cả các thông tin ñầu vào về tình trạng hiện tại của hệ thống Tùy theo lĩnh vực cụ thể, các yêu cầu và phương pháp giải quyết của các bài toán này rất khác nhau [6]

2.1.1 Bài toán lập lịch trên hai máy và giải thuật gia công Johnson

Bài toán lập lịch gia công trên hai máy: Một sản phẩm gồm N chi tiết {v[1],

v[2],… v[N]} phải gia công lần lượt trên hai máy A và B (A trước, B sau) Thời gian

thực hiện chi tiết v[i] trên máy A là A i , trên máy B là B i (i=1,2, ,N) Hãy xếp lịch ñể

hoàn thành một sản phẩm với thời gian ít nhất

Định lý Johnson: Phương án v = {v[1],v[2], , v[N]} lần lượt thực hiện các chi

tiết v[1],v[2], , v[N] với thời gian nhỏ nhất khi và chỉ khi Min{A v[k] ,B v[k] } ≤ Min {B v[k] , A v[k+1] } k=1,2, , n-1, trong ñó, A v[k] là thời gian thực hiện v[k] và A v[k+1]

thời gian thực hiện v[k+1] trên máy A, còn B v[k] và B v[k+1] tương ứng là thời gian

thực hiện v[k] và v[k+1] trên máy B

Giải thuật:

+ Bước 1: chia các chi tiết thành 2 nhóm:

Nhóm 1: gồm các chi tiết v[i] mà A i ≤ B i

Ngày đăng: 09/01/2015, 08:53

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