Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
3,37 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ KHOA HỌC
GIẢI PHÁPNÂNGCAOHIỆUQUẢ CỦA GIẢNĐỒ
LẬP LỊCHDỰATRÊNĐỘTINCẬYTRONGCÁC
HỆ THỐNGTÍNHTOÁNTÌNHNGUYỆN
NGÀNH: CÔNG NGHỆ THÔNGTIN
MÃ SỐ: ………………………………
Nguyễn Quang Hòa
Người hướng dẫn khoa học: TS. NGÔ HỒNG SƠN
Hà Nội – 2008
1
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
LỜI CAM ĐOAN
Tôi xin cam đoan bản Luận văn này là công trình nghiên cứu của riêng tôi.
Các dữ liệu và kết quả nêu trongLuận văn là hoàn toàn trung thực và có nguồn gốc
rõ ràng.
TÁC GIẢ
(Ký tên)
2
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
Chương 1.
LỜI CẢM ƠN
Trước hết, tôi xin được chân thành cảm ơn TS. Ngô Hồng Sơn đã tận tình
hướng dẫn, cung cấp tài liệu và kiến thức cần thiết giúp tôi hoàn thành Luận văn tốt
nghiệp này.
Tôi xin bày tỏ lòng biết ơn sâu sắc tới các thầy, cô giáo trong Khoa Công
nghệ thôngtin cũng như các thầy, cô giáo trong trường Đại học Bách Khoa Hà Nội
đã truyền đạt cho tôi những kiến thức quan trọngtrong suốt thời gian tôi học tập và
nghiên cứu tạ
i trường.
Cuối cùng, tôi xin được nói lời cảm ơn đến gia đình và bạn bè, những người
luôn ở bên tôi, cổ vũ và động viên tôi trong suốt thời gian học tập và làm luận văn
tốt nghiệp.
Trongquá trình hoàn thành luận văn, do còn thiếu kinh nghiệm, sự ràng buộc
về thời gian và sự hạn chế về kiến thức nên chắc chắn không tránh khỏi những thiếu
sót. Vì vậy tôi rất mong nhận được sự
đóng góp ý kiến và giúp đỡcủacác thầy, các
cô và các bạn.
Hà Nội, ngày 20 tháng 11 năm 2008
Người thực hiện luận văn
3
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
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 HÌNH VẼ VÀ ĐỒ THỊ 5
MỞ ĐẦU 6
Chương 1. TỔNG QUAN 8
1.1 Tínhtoán lưới 8
1.2 Tínhtoán ngang hàng 12
1.3 Tínhtoántìnhnguyện 14
1.3.1 Khái niệm 14
1.3.2 BOINC 15
1.3.2.1 Khái niệm 15
1.3.2.2 Các đặc trưng cơ bản của BOINC [23] 16
1.3.2.3 Kiến trúc BOINC 18
1.3.3 Lậplịchtrongtínhtoántìnhnguyện 19
1.3.3.1 Lậplịch phía máy trạm 20
1.3.3.2 Lậplịch phía máy chủ 20
1.3.3.3 Lậplịch chịu lỗi dựatrênđộtincậy 21
1.3.4 So sánh với tínhtoán lưới và tínhtoán ngang hàng 23
1.3.4.1 Tínhtoán lưới 23
1.3.4.2 Tínhtoán ngang hàng 23
Chương 2. LÝ THUYẾT CƠ BẢN VỀ LẬPLỊCHDỰATRÊNĐỘTIN CẬY
25
2.1 Mô hình cơ bản và các giả định 25
4
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
2.2 Các kĩ thuật chịu lỗi truyền thống. 28
2.2.1 Biểu quyết theo số đông 29
2.2.2 Kiểm tra điểm 30
2.2.2.1 Kiểm tra điểm dùng danh sách đen 31
2.2.2.2 Kiểm tra điểm không dùng danh sách đen 32
2.3 Chịu lỗi dựatrênđộtincậy 33
2.3.1 Tổng quan 33
2.3.2 Tínhtoánđộtincậy 35
2.3.3 Ứng dụng sự tincậy 36
2.3.3.1 Kết hợp biểu quyết và kiểm tra điểm 36
2.3.3.2 Kiểm tra điểm bằng biểu quyết 37
2.4 Khảo sát một số giảnđồlập lịch. 38
2.4.1 Lậplịch Round Robin 39
2.4.2 Lậplịch Round Robin dựatrên sự ưu tiên về khả năngtínhtoán 41
Chương 3. GIẢNĐỒLẬPLỊCH ROUND ROBIN DỰATRÊNĐỘTIN CẬY
44
3.1 Giảnđồlậplịch Round Robin dựatrên sự ưu tiên về độtincậy 44
3.2 Giảnđồlậplịch Round Robin dựatrên kiểm thử độtincậy 55
Chương 4. KẾT QUẢ THỰC NGHIỆM 65
4.1 Chương trình mô phỏng 65
4.2 Kịch bản mô phỏng 65
4.3 Kết quả 66
Chương 5. KẾT LUẬN 72
5.1 Những kết quả đạt được 72
5.2 Những công việc chưa làm được 72
5
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
5.3 Hướng phát triển trong tương lai 73
TÀI LIỆU THAM KHẢO 74
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1-1. Minh họa về tínhtoán lưới 9
Hình 1-2. Tổ chức ảo 11
Hình 1-3. Mô hình mạng ngang hàng 12
Hình 1-4. Mô hình tínhtoántìnhnguyện 15
Hình 1-5. Mô hình cơ bản của BOINC 16
Hình 1-6. Kiến trúc BOINC 18
Hình 1-7. Sự tương tác giữa máy trạm và máy chủ 19
Hình 2-1. Mô hình chủ khách 26
Hình 2-2. Hàng đợi công việc lậplịch tham lam với biểu quyết m đầu tiên 28
Hình 2-3. Tỉ lệ lỗi của biểu quyết số đông với nhiều các giá trị m và f [8] 30
Hình 2-4. Hàng đợi công việc lậplịch tham lam nângcaođộtincậy [8] 33
Hình 3-1. Mô tả hệthốngtínhtoántìnhnguyện 45
Hình 3-2. Sơ đồ hình vẽ các bước củagiảnđồlậplịch Round Robin dựatrên sự ưu
tiên về độtincậy 46
Hình 3-3. Sơ đồ hình vẽ các bước củagiảnđồlậplịch kiểm thử dựatrênđộtin cậy
57
Hình 4-1. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 0.25,N >P67
Hình 4-2. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 0.5,N >P 68
Hình 4-3 Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 0.75,N >P.68
Hình 4-4. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 1,N >P 69
Hình 4-5. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 0.25,N< P69
Hình 4-6. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 0.5,N< P 70
Hình 4-7. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 0.75,N< P70
Hình 4-8. Biểu đồ so sánh sự chậm chễ củacácgiảnđồlậplịch với s= 1,N< P 71
6
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
MỞ ĐẦU
Tính toántìnhnguyện là một mô hình tínhtoán song song hấp dẫn để xây dựng lên
các hệthốngtínhtoán có phạm vi rộng lớn từ số lượng lớn các máy tínhtình
nguyện trên mạng. Trong những năm gần đây, đã có sự quan tâm tăng lên và nhanh
chóng trongcáchệthốngtínhtoántình nguyện. Hệthốngtínhtoántìnhnguyện cho
phép người sử dụng từ bất cứ nơi nào trên mạng, đóng góp thời giantínhtoán nhàn
rỗi của máy tính để hướng vào giải quyết các bài toán có thời giantínhtoán lớ
n.
Tính toántìnhnguyện giúp cho có thể xây dựng các mạng tínhtoántoàn cầu lớn rất
nhanh, điều này được chứng mình bởi sự thành công của dự án SETI@home[2], dự
án này đang triển khai hàng trăm nghìn máy tínhtìnhnguyện để tìm kiếm số lượng
lớn dữ liệu đàm thoại radio cho tínhiệucủa sự sống bên ngoài trái đất,
Einstein@Home [6] tìm kiếm các sao neutron xoay rất nhanh dùng dữ liệu từ các
nhà dò tìm sóng hấp dẫn LIGO và GEO hay Climateprediction.net@Home [7] dùng
để dự đoán khí hậu trên trái đất …
Trong hệ
thốngtínhtoántình nguyện, khả năng chịu đựng lỗi là một vấn đề quan
trọng bởi vì có thể có nhiều những người dùng ác ý trên mạng phá hoại hệthống
bằng việc cố ý đệ trình các kết quả sai. Để giải quyết yêu cầu đưa ra kết quả tốt
trong hệthốngtínhtoántìnhnguyện mà có người dùng ác ý tham gia thì hệthống
lập lịch tại máy chủ phải thực thi các chính sách lậplịch ch
ịu lỗi. Dođótrongluận
văn này, tôi quan tâm đến vấn đề lậplịch nhiệm vụ phía máy chủ củahệthốngtính
toán tìnhnguyện thực thi các kĩ thuật chịu đựng lỗi. Mặc dù một số kĩ thuật chịu lỗi
đang tồn tại như là biểu quyết theo số đông, kiểm tra điểm, kết hợp biểu quyêt và
kiểm tra điểm, kiêm tra điểm b
ằng biểu quyết [8], hay giảnđồlậplịch Round Robin
dựa trên sự ưu tiên về khả năngtínhtoán [10] có thể đảm bảo các yêu cầu về độtin
cậy cho các kết quảtính toán, tuy nhiên, các kĩ thuật này luôn luôn là nguyên nhân
làm cho hiệunăng giảm đi trong giới hạn củatoàn bộ thời giantính toán. Trong
luận văn này tôi đề xuất hai kĩ thuật lậplịchhiệuquả cho máy chủ được gọi là lập
lịch Round Robin d
ựa trên sự ưu tiên về độtincậy và lậplịch Round Robin dựa
trên kiểm thử độtincậy nhằm nângcaohiệuquảcủagiảnđồlậplịchdựatrênđộtin
7
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
cậy trongcáchệthốngtínhtoántình nguyện. Các kĩ thuật này đều đưa ra các tiêu
chí để chọn một máy trạm phù hợp nhất để thực thi một nhiệm vụ. Kĩ thuật đầu tiên
quan tâm đến chọn một máy trạm đang có khả năng có độtincậycao nhất và khả
năng thực hiện tốt nhất. Kĩ thuật thứ hai thì chọn máy trạm sao cho khi nhiệm vụ
được thực hiện bở
i nó thì độtincậycủa nhiệm vụ sẽ tăng lên, Bằng việc sử dụng bộ
mô phỏng VCSIM để thực hiện mô phỏng các thuật toánlập lịch, tôi đã chỉ ra rằng
kĩ thuật được đưa ra có thể giúp giảm bớt thời gian thực thi củatoàn bộ hệthống so
với kĩ thuật lậplịch Round Robin tương ứng.
Phần còn lại củaluận văn này
được tổ chức như sau:
• Chương 1. Giới thiệu tổng quan: Trình bày về cáchệthốngtínhtoán phân
tán, tínhtoán lưới, tínhtoán ngang hàng, tínhtoántình nguyện, BOINC, và
khảo sát quacác thuật toánlậplịchtrongtínhtoántình nguyện.
• Chương 2. Lý thuyết cơ bản lậplịchdựatrênđộ tin: Trình bày về các mô
hình cơ bản củahệthống và các giả định, các kĩ thuật chịu lỗi chuyền thống,
chịu lỗi dựatrênđộtincậy và khả
o sát một số giảnđồlậplịch chịu lỗi dựa
trên độtin cậy.
• Chương 3. Giảnđồlậplịchdựatrênđộtin cậy: Mô tả các đề xuất của chúng
tôi về giảnđồlậplịchdựatrênđộtin cậy.
• Chương 4. Kết quả thực nghiệm: Giới thiệu kịch bản mô phỏng và thảo luận
về các kết quả mô phỏng.
•
Chương 5. Kết luận: Tóm tắt lại những công việc đã đạt được, những công
việc chưa làm được và hướng phát triển trong tương lai.
8
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
Chương 1. TỔNG QUAN
Ngày nay, 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 những bài toántrong nhiều lĩnh vực đòi hỏi sức mạnh tínhtoán mà một máy
tính riêng lẻ không thể đảm trách. Xuất phát từ những nhu cầu đó, các kỹ thuật tính
toán song song, tínhtoán phân tán đã được đề xuất và đã phần nào đáp ứng được
các yêu cầu này. Tuy nhiên, tham vọng của con người không dừng lại ở
đó. Họ
muốn một sức mạnh tínhtoán lớn hơn, với khả năng chia sẻ tài nguyên giữa mọi
người trên phạm vi toàn cầu, khả năng tận dụng các phần mềm cũng như tài nguyên
vật lý phân tán cả về mặt địa lý. Các tổ chức giải quyết vấn đề này bằng hai cách:
• Đầu tư thêm trang thiết bị, cơ sở hạ tầng tínhtoán (mua thêm máy chủ, máy
trạm, siêu máy tính, cluster ). Tuy nhiên cách làm này hế
t sức tốn kém.
• Có một cách làm khác hiệuquả hơn đó là phân bố lại hợp lý các nguồn tài
nguyên trong tổ chức hoặc thuê thêm các nguồn tài nguyên từ bên ngoài (tất
nhiên là với chi phí rẻ hơn nhiều so với việc đầu tư cho cơ sở hạ tầng tính toán).
Thực tế cho thấy có một phần lớn các nguồn tài nguyêncủa chúng ta đang được sử
dụng lãng phí: các máy để bàn công sở thường chỉ hoạt độ
ng khoảng 5% công suất,
ngay cả các máy chủ cũng có thể chỉ phải hoạt động với 20% công suất. Việc tận
dụng hiệuquảcác nguồn tài nguyên này có thể mang lại một sức mạnh tínhtoán
khổng lồ. Cách giải quyết thứ hai này chính là mục tiêu củatínhtoán lưới và tính
toán tình nguyện.
1.1 Tínhtoán lưới
Tính toán lưới hướng đến việc chia sẻ và sử dụng hiệuquảcác nguồn tài nguyên
thuộc về nhiều tổ chức trên một quy mô rộng lớn (thậm chí là quy mô toàn cầu).
Chính các công nghệ mạng và truyền thông phát triển mạnh mẽ trong những năm
qua đã biến những khả năng này dần trở thành hiện thực. Các nghiên cứu về tính
toán lưới đã và đang được tiến hành là nhằm tạo ra một cơ s
ở hạ tầng lưới cho phép
dễ dàng chia sẻ và quản lý các tài nguyên đa dạng và phân tán trong môi trường
9
Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008
lưới. Như vậy, tínhtoán lưới, hiểu một cách đơn giản là một dạng củatínhtoán
phân tán. Mục đích là tạo ra một máy tính ảo lớn mạnh từ một tập lớn cáchệthống
không đồng nhất nhằm nângcao khả năngtính toán, chia sẻ các tài nguyên khác
nhau.
Một ví dụ về dự án tínhtoán lưới là dự án Avian Flu Grid[24], dự án này nhằm sử
dụng lưới PRAGMA[25] và các cơ sở hạ tầng tínhtoán hiệ
u năngcao để phát triển
một mô hình cho hợp tác toàn cầu đấu tranh chống lại sự đe dọa dịch lớn của cúm
avian và các bệnh dịch lây nhiễm nghiêm trọng khác. Hệthống lưới PRAGMA, mà
trung tâm HPCC-HUT (Trung tâm tínhtoánhiệunăngcaocủa trường Đại Học
Bách Khoa Hà Nội) là một thành viên, được tạo ra nhằm duy trì các hoạt động cộng
tác và thúc đẩy sử dụng các kĩ thuật lưới trongcác ứng dụng khoa học tiên tiến giữa
các viện hàng đầu trongcác nước có đường biên giới nằm trên biển thái bình
dương.
Hình 1-1. Minh họa về tínhtoán lưới
Hình 1-1 là một ví dụ về lưới, như một mạng liên kết các tài nguyên phân tán về
mặt địa lý, các tài nguyên rất phong phú, đa dạng, bao gồm tập các siêu máy tính,
các thiết bị truyền thông vệ tinh, các kho lưu trữ, các cluster tínhtoánhiệunăngcao
[...]... chúng ta thêm các giá trị tincậy đến các đối tượng khác nhau tronghệ thống, được chỉ trong hình 2-1 Ở đây độtincậycủa một vài đối tượng X, được viết là , được định nghĩa là xác suất điều kiện để X cho một kết quả tốt Có bốn loại độtin cậy: Độtincậycủa một máy trạm, độtincậycủa kết quả, độtincậycủa một nhóm kết quả (một nhóm chứa đựng các kết quả giống nhau) và độtincậycủa một thực... cải thiện toàn bộ hiệunăngtrong giới hạn thời gian thực thi trong khi vẫn đảm bảo được yêu cầu độtincậy và đề xuất ra một thuật toánlậplịchhiệuquả được gọi là Lậplịch Round Robin dựatrênđộ ưu tiên về độtincậy và khả năng thực hiện” Tínhhiệuquảcủa thuật toán sẽ được xác minh bởi các mô phỏng ở phần 5 Hiện tại để đánh giá độtincậycủacác thuật toánlậplịchtìnhnguyện có thể sử Nguyễn... lỗi dựatrênđộtincậy 2.1 Mô hình cơ bản và các giả định Mô hình tínhtoánTrongluận văn này, tôi giả sử một mô hình chủ khách dựatrên hàng đợi công việc, mô hình này được dùng trong tất cả cáchệthốngtínhtoántìnhnguyện thực tế hiện nay, thêm vào đó là trong nhiều cáchệthống lưới, cáchệthống metacomputing, và toàn bộ cáchệthốngtínhtoán song song dựatrên mạng diện rộng khác Trong mô hình... bởi Sarmenta và kĩ thuật lậplịchdựatrênđộ ưu tiên của tác giả chưa quan tâm đến độtincậycủacác máy trạm và củacác nhiệm vụ đang được thực hiện, vì vậy thuật toándựatrênđộtincậy chưa đạt được hiệunăng tốt nhất trong giới hạn thời gian thực thi Trongluận văn này, tôi tập trung vào việc kết hợp giữa khả năngtínhtoán và độtincậycủa máy trạm với độtincậycủacác nhiệm vụ đang được thực... thể công việc Độtincậycủa một máy trạm phụ thuộc vào các hành vi quan sát được của nó như là tính chính xác của kết quả, số lượng điểm kiểm tra mà nó đã vượt quaĐộtincậycủa một kết quả thì bằng độtincậycủa máy trạm trả về kết quảđóĐộtincậycủa một nhóm các kết quả là xác suất có điều kiện để kết quả là chính xác Cuối cùng độtincậycủa một thực thể công việc là độtincậycủa nhóm tốt... nhiều các giá trị độtincậy có thể, tương ứng đối với các cách quan sát trạng thái hiện thời củahệthống khác nhau, thêm vào đó là các cách tínhtoán khác nhau hoặc ước lượng xác suất điều kiện củatính chính xác dựatrêncác quan sát Trong phần này chúng ta sẽ biểu diễn các giá trị đặc biệt mà chúng ta nhận thấy là hiệuquảĐộtincậycủa một máy trạm không có kiểm tra điểm là: Độtincậycủa một... Tínhtoán ngang hàng thật sự bao gồm sự tích trữ và lấy lại, không phải tínhtoánNguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 25 Chương 2 LÝ THUYẾT CƠ BẢN VỀ LẬPLỊCHDỰATRÊNĐỘTINCẬYTrong phần này, tôi tóm tắt lại mô hình cơ bản và các giả định, các kĩ thuật chịu lỗi truyền thống, các kĩ thuật chịu lỗi dựatrênđộtincậy cho tínhtoántìnhnguyên và khảo sát một số giảnđồlậplịch chịu lỗi dựa trên. .. vì vậy có một độtincậy rất cao Theo cách này, một thực thể công việc chỉ lặp lại một số lần để đạt được mức độ quan tâm mong đợi, nhưng không nhiều Điều này làm cho chịu lỗi dựatrênđộtincậy rất hiệu quả, và được chỉ trong phần 4.3, cho phép nó đạt được tỉ lệ lỗi rất thấp với độ dư thừa ít 2.3.2 Tínhtoánđộtincậy Quyết định chính trong kĩ thuật này là tínhtoáncác giá trị độtincậy là chính... 2006 – 2008 20 Lậplịchtronghệthốngtínhtoántìnhnguyện có vai trò hết sức quan trọng nó giúp nângcaotoàn bộ thời gian thực thi củahệthống Với máy trạm nó giúp cho lậplịch CPU và lấy công việc Với máy chủ lậplịch giúp cho tối đa hóa được số công việc được thực thi và giảm thời gian thực thi cuahệthống 1.3.3. 1Lập lịch phía máy trạm Lậplịch phía máy trạm đó là các chính sách lậplịch CPU và... độtincậycủa nhóm các kết quả liên quan đến chúng ) Giả sử có đủ các máy trạm tốt, độtincậycủa mỗi thực thể công việc W thậm chí hướng đến ngưỡng như máy chủ thu thập đủ kết quả ánh xạ cho một thực thể công việc W, hoặc các máy phân giảicác kết quảtrong W đủ quacác kiểm tra điểm để làm cho cácđộtincậy cảu các kết quảNguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 35 của chúng tăng lên hoặc đồng . NỘI
LUẬN VĂN THẠC SĨ KHOA HỌC
GIẢI PHÁP NÂNG CAO HIỆU QUẢ CỦA GIẢN ĐỒ
LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY TRONG CÁC
HỆ THỐNG TÍNH TOÁN TÌNH NGUYỆN
. số giản đồ lập lịch chịu lỗi dựa
trên độ tin cậy.
• Chương 3. Giản đồ lập lịch dựa trên độ tin cậy: Mô tả các đề xuất của chúng
tôi về giản đồ lập lịch