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

Giải pháp nâng ao 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

76 3 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

Tiêu đề 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
Tác giả Nguyễn Quang Hòa
Người hướng dẫn TS. Ngô Hồng Sơn
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 76
Dung lượng 4,75 MB

Nội dung

Tính toán tình nguyện giúp cho có thể xây dựng các mạng tính tốn tồ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

Trang 1

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Á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

NGÀNH: CÔNG NGHỆ TH ÔNG TIN

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

Trang 2

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 trong Luậ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)

Trang 3

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ông tin 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ọng trong 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

Trong quá 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ủa các thầy, các

cô và các bạn

Người thực hiện luận văn

Trang 4

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ính toán l 8ưới 1.2 Tính toán ngang hàng 12

1.3 Tính toán tình nguyệ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ập lịch trong tính toán tình nguyện 19

1.3.3.1 Lập lịch phía máy trạm 20

1.3.3.2 Lập lịch phía máy chủ 20

1.3.3.3 Lập lịch chịu lỗi dựa trên độ tin cậy 21

1.3.4 So sánh với tính toán lưới và tính toán ngang hàng 23

1.3.4.1 Tính toán l 23ưới 1.3.4.2 Tính toán ngang hàng 23

25

Trang 5

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ựa trên độ tin cậy 33

2.3.1 Tổng quan 33

2.3.2 Tính toán độ tin cậy 35

2.3.3 Ứng dụng sự tin cậ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ập lịch Round Robin 39

2.4.2 Lập lịch Round Robin dựa trên sự ưu tiên về khả năng tính toán 41

Ch ng 3.ươ GIẢN ĐỒ LẬP LỊCH ROUND ROBIN DỰA TRÊN ĐỘ TIN CẬY 44 3.1 Giản đồ lập lịch Round Robin dựa trên sự ưu tiên về độ tin cậy 44

3.2 Giản đồ lập lịch Round Robin dựa trên kiểm thử độ tin cậ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

Trang 6

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ính toá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ính toán tình nguyệ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ập lị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ị mvà f [8] 30

Hình 2-4 Hàng đợi công việc lập lịch tham lam nâng cao độ tin cậy [8] 33

Hình 3-1 Mô tả hệ thống tính toán tình nguyện 45

Hình 3-2 Sơ đồ hình vẽ các bước của giản đồ lập lịch Round Robin dựa trên sự ưu tiên về độ tin cậy 46

Hình 3-3 Sơ đồ hình vẽ các bước của giản đồ lập lịch kiểm thử dựa trên độ tin cậy 57

Hình 4-1 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.25,N >P 67 Hình 4-2 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.5,N >P 68

Hình 4-3 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.75,N >P 68 Hình 4-4 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 1,N >P 69

Hình 4-5 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.25,N< P 69 Hình 4-6 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.5,N< P 70

Hình 4-7 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 0.75,N< P 70 Hình 4-8 Biểu đồ so sánh sự chậm chễ của các giản đồ lập lịch với s= 1,N< P 71

Trang 7

MỞ ĐẦU

Tính toán tình nguyện là một mô hình tính toán song song hấp dẫn để xây dựng lên các hệ thống tính toán có phạm vi rộng lớn từ số lượng lớn các máy tính tình

Tính toán tình nguyện giúp cho có thể xây dựng các mạng tính toán toàn cầu lớn rất

án này đang triển khai hàng trăm nghìn máy tính tình nguyện để tìm kiếm số lượng lớn dữ liệu đàm thoại radio cho tín hiệu của sự sống bên ngoài trái đất,

để dự đoán khí hậu trên trái đất …

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

đ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à

dựa trên sự ưu tiên về khả năng tính toá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ịch Round Robin dựa trên sự ưu tiên về độ tin cậy và lập lịch Round Robin dựa trên kiểm thử độ tin cậy nhằm nâng cao hiệu quả của giản đồ lập lịch dựa trên độ tin

Trang 8

cậy trong các hệ thống tính toán tì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ênquan tâm đến chọn một máy trạm đang có khả năng có độ tin cậy cao 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ụ

mô phỏng VCSIM để thực hiện mô phỏng các thuật toán lập lịch, tôi đã chỉ ra rằng

khảo sát qua các thuật toán lập lịch trong tính toán tình nguyện

hình cơ bản của hệ 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ựa trên độ tin cậy và khảo sát một số giản đồ lập lịch chịu lỗi dựa

về các kết quả mô phỏng

việc chưa làm được và hướng phát triển trong tương lai

Trang 9

Chương 1 TỔNG QUAN

hiện những bài toán trong nhiều lĩnh vực đòi hỏi sức mạnh tính toán mà một máy

1.1 Tính toán lưới

Trang 10

lưới Như vậy, tính toán lưới, hi u mể ột cách đơn giản là m t d ng c a tính toán ộ ạ ủ

nhau

Trang 11

, các tổ ch c ứ ảo liên kết trong lưới Người dùng trong lưới cũng hế ứt s c đa dạng, t ừ

tham gia lưới. Các tổ chức phải tuân thủ ột số quy định chung khi tham gia m

lý phân tán

Trang 12

Riêng điểm th 2 là mứ ột điểm rất đáng lưu ý Vì lưới là một môi trường thu hút

Trang 13

Một số thuận lợi của tính toán ngang hàng đó là không có điểm trung tâm lỗi, khả năng mở rộng lớn vì mọi máy ngang hàng là giống nhau do đó có thể thêm nhiều máy ngang hàng đến hệ thống Điểm không thận lợi của tính toán ngang hàng chính

là sự điều phối không tập trung, tất cả các nút được tạo ra là không giống nhau về sức mạng tính toán, băng thông …

Trang 14

Trong tính toán ngang hàng, các ứng dụng được phân tách vào ba loại chính đó là:

Các ứng dụng phổ biến nhất trong tính toán ngang hàng [22] là chia sẻ nội dung và

đổi nội dung thực tế trong Napster là giữa các máy tính ngang hàng thì việc khám

Gnutella cung cấp một giải pháp chia sẻ file phân tán rõ ràng không sử dụng nút trung tâm Hạn chế của Gentella không phải là một ứng dụng mà là một giao thức dùng để tìm kiếm và chia sẻ file Để tìm nội dung và một máy ngang hàng khác một người dùng phải biết địa chỉ IP của ít nhất một nút Gnutella khác Một nút sẽ đưa ra một câu truy vấn cho một file bằng việc gửi nó đến tất cả các nút khác nó biết Nếu một nút không phục vụ được yêu cầu nó có thể truyền đến các nút khác Câu truy vấn sẽ đi hết các nút trong mạng Gnutella cho đến khi file được tìm thấy hoặc thời gian sống của nó đã hết Kĩ thuật khám phá này sẽ làm lụt mạng và đây chính là nguyên nhân cho các vấn đề về quy mô mạng Một vấn đề khác trong Gnutella là những người điều khiển tự do, ví dụ là những người không phân bố nội dung nhưng lại lấy nội dung từ người dùng khác Mojo Nation là ứng dụng trao đổi nội dung ngang hàng, nó giới thiệu một sự lưu hành ảo để đếm những người điều khiển tự do

Sư lưu hành ảo này dùng để khuyến phân bố các tài nguyên (như là không gian lưu trữ và nội dung) Các máy trạm trong mạn Mojo Nation có thể có các vai trò khác nhau Nội dung được phân tách vào thành các khối và được phân bố trên toàn bộ

Trang 15

mạng Mojo Do đó, máy chủ lưu giữ chỉ một phần nội dung các host chứ không phải toàn bộ file Một hệ thống chia sẻ file phổ biến khác là eDonkey Đặc điểm đặc

giống nhau nhưng tên file khác nhau Nó cũng có thể tải nội dung từ các file nguồn khác và vì vậy tăng tỉ lệ tải mạng Freenet cũng là một hệ thống chia sẻ nội dung/ file Mục đích chính của Freenet là làm cho nó có thể sử dụng với người vô danh Các yêu cầu của người dùng không phải của Freenet hoặc các file đang được đặc trong những nơi khác trong Freenet có thể được xác định Xa hơn, một người điều khiển của một nút Freenet không thể xác minh dữ liệu gì được lưu trữ trên đĩa cục

bộ của nó Freenet đã phân tán hoàn chỉnh và biểu diễn mạng ngang hàng theo mẫu của riêng nó

dự đoán khí hậu trên trái đất Khi tham gia vào dự án, những người tình nguyện được giữ bí mật về tên tuổi cùng các thông tin cá nhân khác Mặc dù khi đăng ký tham gia dự án họ phải cung cấp email cũng như một số thông tin, tuy nhiên dự án không thể làm ảnh hưởng đến đời sống thực của họ Và vì thế, họ không phải chịu bất kỳ trách nhiệm nào về dự án Tính toán tình nguyện giúp cho có thể xây dựng các mạng tính toán toàn cầu lớn rất nhanh, điều này được chứng mình bởi sự thành

Trang 16

công của dự án SETI@home với tổng số host 2,138,226 tổng số lượng người dùng

mỗi giây 51,103.68 GigaFLOPS (51.104 TeraFLOPS)

Một hệ thống tình nguyện điển hình bao gồm hàng trăm đến hàng nghìn máy tính tình nguyện và một trung tâm tính toán (trung tâm này có thể bao gồm nhiều các máy chủ trung tâm cho cân bằng tải) Các máy chủ của trung tâm tính toán quản lý các công việc tính toán song song được yêu cầu, phân chia chúng vào các nhiệm vụ nhỏ hơn và đặt chúng đến các máy tính tình nguyện để thực thi Mỗi máy tính tình nguyện thực thi các nhiệm vụ được chỉ định và rồi gửi các kết quả quay trở lại đến các máy chủ trung tâm Các máy chủ trung tâm sẽ tập hợp những kết quả đó và làm một vài các công việc thêm như là kiểm tra kết quả và trả về kết quả cuối cùng đến người dùng cuối của hệ thống

1.3.2 BOINC

1.3.2.1 Khái niệm

BOINC (Berkeley Open Infrastructure for Network Computing) là một hệ thống phần mềm trung gian cho tính toán tình nguyện BOINC đang được sử dụng bởi một số các dự án bao gồm: SETI@home [2], Einstein@Home [6], Climateprediction.net@Home [7] Những người tình nguyện tham gia hệ thống bằng cách chạy phần mềm khách BOINC trên máy tính của họ (hoặc các máy trạm)

Trang 17

Họ có thể tham gia mỗi máy trạm đến một tập các dự án, và có thể điều khiển chỉ định các tài nguyên giữa các dự án

Một dự án dựa trên BOINC cung cấp trên các máy chủ của nó Các máy trạm tải các chương trình thực thi ứng dụng và các file dữ liệu từ máy chủ, thực hiện các nhiệm

vụ (bằng cách chạy các ứng dụng theo các file dữ liệu đặc tả), và tải lên các file đầu

ra đến máy chủ Phần mềm BOINC bao gồm các thành phần phía máy chủ, như là các chương trình lập lịch và tiến trình để quản lý phấn bố và tập hợp các nhiệm vụ [12], và giao diện dựa trên web cho những người tình nguyện và các nhà quản trị dự

án

1.3.2.2 Các đặc trưng cơ bản của BOINC [23]

• Tính độc lập của dự án: Có nhiều dự án khác nhau đều sử dụng BOINC, tuy

liệu riêng, không có thư mục trung tâm cho tất cả các dự án Điểm chung của chúng là đều lấy BOINC làm nền phần mềm

• Tính linh hoạt trong sử dụng: Những người tình nguyện có thể tham gia vào

nhiều dự án; họ kiểm soát những dự án ấy, quản lý và phân chia tài nguyên cho các dự án Khi một dự án kết thúc hay không làm việc, tài nguyên dành cho nó

sẽ được thu hồi và phân chia cho các dự án khác

Trang 18

• Linh hoạt trong phát triển: Các ứng dụng viết bằng C, C++ hay Fortran có thể

chạy các ứng dụng BOINC mà không cần cải biên hay cải biên rất ít Một ứng dụng có thể bao gồm nhiều file (đa chương trình) Những phiên bản mới của ứng dụng có thể được tự động triển khai, cập nhật

• Tính bảo mật: BOINC bảo vệ để chống lại các kiểu tấn công có thể xảy ra Ví

virus…

• Tính thực thi và khả chuyển: Phần mềm máy chủ BOINC vô cùng hiệu quả

Vì thế, 1 máy chủ trung tâm có thể gửi đi và điều khiển hàng triệu công việc

BOINC máy chủ và BOINC khách Tuy vậy các ứng dụng của BOINC không nhất thiết phải là nguồn mở

hay sử dụng một số lượng lớn dữ liệu, hoặc cần dùng nhiều bộ nhớ Sự phân phối và tập hợp dữ liệu có thể được chia ra trên nhiều máy chủ Những người tham gia trao đổi lượng dữ liệu lớn một cách kín đáo Những người sử dụng có thể chỉ rõ giới hạn về bộ nhớ hay băng thông Công việc chỉ gửi đến những máy

có khả năng hoàn thành

platform thông dụng (Mac OS X, Windows, Linux và các hệ thống Unix khác

Kiến trúc phần mềm dễ mở rộng: Những thành phần quan trọng của BOINC

đều được tài liệu hoá và công bố rộng rãi; nhờ đó các nhà phát triển ở hãng thứ 3

có thể dễ dàng tạo phần mềm và website mở rộng BOINC

Tính cộng đồng người tình nguyện: BOINC cung cấp các công cụ trên web

như bảng tin nhắn, thông tin cá nhân những người tình nguyện và tin nhắn riêng;

Trang 19

điều đó giúp những người tình nguyện dễ dàng hình thành những cộng đồng trực

1.3.2.3 Kiến trúc BOINC

chạy các ứng dụng dự án Các ứng dụng được liên kết với hệ thống thời gian chạy, các chức năng của hệ thống này bao gồm điều khiển xử lý, điều khiển điểm kiểm tra, và các đồ thị [13] Máy khách thực thi lập lịch CPU(được thực thi trên đỉnh của

bộ lập lịch của hệ điều hành cục bộ, tại mức hệ điều hành, BOINC chạy các ứng

hoãn chúng(và rời chúng vào trong bộ nhớ) hoặc bằng cách chỉ dẫn chúng để thoát BOINC chủ thực hiện việc cung cấp các ứng dụng và các đơn vị công việc, xử lý các kết quả tính toán, quản lý sự phân phối và tập hợp dữ liệu

Trang 20

bao gồm một danh sách các công việc mới(mỗi công việc được miêu tả bởi một

máy chủ dữ liệu từ mỗi file có thể được tải về) Đôi khi các máy khách có các kết nối vật lý bị trục trặc Như là cách máy tính có thể kết nối một ít hàng ngày Trong khoảng thời gian kết nối mạng, BOINC cố gắng tải đủ công việc để giữ cho máy tính bận cho đến lần kết nối kế tiếp Hình vẽ bên dưới chỉ định trình tự thực hiện giữa máy trạm và máy chủ

1.3.3 Lập lịch trong tính toán tình nguyện

Theo như khái niệm về hệ thống tính toán tình nguyện ở trên thì một hệ thống tính toán tình nguyện bao gồm nhiều máy trạm kết nối đến máy chủ, trong đó máy trạm kết nối đến máy chủ để lấy công việc và thực hiện rồi trả về kết quả cho máy chủ, còn máy chủ thì thực thi lựa chọn các máy trạn để gán nhiệm vụ Vì vậy quá trình

• Lập lịch CPU : Của các việc có thể chạy hiện nay, công việc nào có thể chạy

• Lấy công việc : Khi nào để nghị một dự án cho nhiều công việc, dự án nào được đề nghị và đề nghị bao nhiêu công việc

• Gửi công việc : Khi một dự án nhận được một yêu cầu công việc, nó lên gửi công việc nào.nó lên gửi công việc nào

• Ước lượng thời gian hoàn thành : Ước lượng thời gian CPU duy trì công việc như thế nào

Trang 21

Lập lịch trong hệ thống tính toán tình nguyện có vai trò hết sức quan trọng nó giúp nâng cao toàn bộ thời gian thực thi của hệ thống Với máy trạm nó giúp cho lập lịch CPU và lấy công việc Với máy chủ lập lịch giúp cho tối đa hóa được số công việc

1.3.3.1 Lập lịch phía máy trạm

lập lịch phía may trạm phải quan tâm đến các đầu vào: Trước tiên đó là các đặc điểm phần cứng của máy trạm như là số lượng bộ vi xử lý Máy trạm theo dõi các đặc điểm ứng dụng đa dạng như là phân số thực thi(phân số của thời gian chạy và được phép làm tính toán), và các thống kê về các kết nối mạng của nó Thứ hai đó là

sự ưu tiên của người dùng Sự ưu tiên nay bao gồm : Tài nguyên chia sẻ cho mỗi

dự án, giới hạn về sử dụng bộ vi sử lý (điều kiện để tính toán trong khi máy đang trong sử dụng, số lượng tối đa CPU được dùng, và phân số thời gian CPU được dùng lớn nhất), khoảng kết lối(thời gian tối thiểu giưa các giai đoạn hoạt động của mạng, điều nay dùng để cung cấp một gợi ý các máy trạm kết nối thường mạng

số đặc tả cho dự án, bao gồm ước lượng của số lượng các toán tử con trỏ động của

dự án và thời gian cuối cùng để máy trạm báo cáo công việc

1.3.3.2 Lập lịch phía máy chủ

Vấn đề lập lích phía máy chủ đó là gửi công việc và ước lượng thời gian hoàn thành công việc Có rất nhiều các nghiên cứu về lập lịch phía máy chủ để tối ưu hóa được nguồn tài nguyên tình nguyện Chính sách lập lịch sử dụng phổ biến trong BOINC

là đến trước phục vụ trước, trong chính sách lập lịch này sẽ gán các công việc có khả năng đầu tiên đến các máy trạm yêu câu công việc đầu tiên đáp ứng được các tiêu chí về sự dư thừa đồng nhất cho việc phân bố nhiều công việc HR (HR phân bố các công việc giống nhau đến các máy trạm có khả năng tính toán như nhau nghĩa là chúng có hệ điều hành giống nhau và có bộ vi xử lý thuộc cùng nhà sản xuất)

Trang 22

sách này thiết lập hai ngưỡng một cho khả năng thực hiện công việc của máy trạm

và một cho sự tin cậy của máy trạm và sử dụng những ngưỡng này để xác minh các công việc phân bố đến máy trạm Nó sẽ không phân bố công việc đến máy trạm có

tỉ lệ độ tin cậy và khả năng thực hiện công việc thấp hơn giá trị ngưỡng định nghĩa Những ngưỡng này thuộc trong khoảng tử 0 đến 1 Khi một máy trạm yêu cầu một công việc mới, máy chủ sẽ tính toán tỉ lệ khả năng thực hiện công việc và tỉ lệ tin cậy của máy trạm dựa trên lịch sử thực hiện công việc của máy trạm Nếu đồng thời hai tỉ lệ này lớn hơn ngưỡng đã định nghĩa thì máy trạm được gán công việc nếu không thi máy trạm không được gán công việc Việc tính khả năng thực hiện của máy trạm dựa vào tổng số công việc được phân bố đến máy trạm và số công việc

mà máy trạm đã hoàn thành cho đến thời điểm hiện tại (nó chính bằng tỉ số giữa số công việc đã hoàn thàng trên tổng số công việc được giao), còn độ tin cậy của máy trạm chính là tỉ số giữa các công việc hoàn thành cho kết quả đúng trên số công việc hoàn thành của máy trạm

1.3.3.3 Lập lịch chịu lỗi dựa trên độ tin cậy

Cơ bản, một hệ thống tính toán tình nguyện cho phép truy xuất rộng rãi từ công chúng, vì vậy một vấn đề đang tăng lên là bảo vệ hệ thống như thế nào từ sự phá hoại của nhiều người dùng ác ý đệ trình các kết quả giả mạo Trong [17], các tác giả

đã đưa ra một kĩ thuật lịch dựa trên tính chính xác, trong kĩ thuật này sử dụng sự dư thừa trong thực hiên công việc để gán đến một nhóm máy trạm, việc nhóm các máy trạm thực hiện theo ba bước sau: (1) Ước lượng tỉ lệ tin cậy của các nút trạm độc lập, (2) Sử dụng các tỉ lệ tin cậy của các máy trạm đã được ước lượng để tính toán tính khả thi chính xác (LOC) của các nhóm có thể (3) Nhóm các máy trạm cho việc gán các nhiệm vụ dựa trên LOC để ước lượng số tối đa các đầu vào và tỉ lệ thành

đựng lỗi để bảo vệ các hệ thống chống lại những người tình nguyện ác ý như là biểu quyết, kiểm tra điểm, dò vết trở lại và danh sách đen Đặc biệt, tác giả đã giới thiệu định nghĩa độ tin cậy và đề xuất một kĩ thuật chịu đựng lỗi dựa trên độ tin cậy mới Trong kĩ thuật mới này, độ tin cậy của một kết quả được ước lượng như là sác xuất

Trang 23

điều kiện để mà kết quả chính xác Thực thi của một nhiệm vụ sẽ được lập lại trên các máy tính nhiều lần cho đến khi kết quả cuối cùng đạt được độ tin cậy đủ cao

Nó chứng minh rằng kĩ thuật chịu đựng lỗi dựa trên độ tin cậy được đề xuất có thể thực thi nhanh hơn các kĩ thuật truyền thống khác như là biểu quyết và kiểm tra điểm bên dưới các yêu cầu về tỉ lệ lỗi là giống nhau

Trong [10], tác giả đã mở rộng công việc của Sarmenta vào nhiều các trường hợp phổ biến bằng cách giải quyết các hệ thống tính toán song song chứa đựng nhiều các máy tính nguyện hơn số lượng các nhiệm vụ Vì trong trường hợp này, một nhiệm vụ lên được làm lại trong nhiều các máy tính nguyện để sử dụng tốt các tài nguyên dư thừa Nhận thấy rằng các kĩ thuật chịu lỗi dựa trên độ tin cậy đang tồn tại

đến trường hợp một nhiệm vụ giống nhau được thực hiện lại trên nhiều máy tình nguyện tại cùng một thời điểm Dẫn đến kết quả, thuật toán dựa trên độ tin cậy đang tồn tại đạt được hiệu năng tính toán thấp trong giới hạn thời gian thực thi Tác giả

đã đề xuất một thuật toán lập lịch dựa trên độ ưu tiên theo khả năng thưc thi của các máy tình nguyện cho trường hợp này Nó đã chứng minh được việc áp dụng thuật toán này đã làm tăng hiệu năng cho kĩ thuật chịu lỗi dựa trên độ tin cậy trong trường

Tuy nhiên, cần chú ý rằng kĩ thuật chịu đựng lỗi được đề xuất bởi Sarmenta và kĩ thuật lập lịch dựa trên độ ưu tiên của tác giả chưa quan tâm đến độ tin cậy của các máy trạm và của các nhiệm vụ đang được thực hiện, vì vậy thuật toán dựa trên độ tin cậy chưa đạt được hiệu năng tốt nhất trong giới hạn thời gian thực thi Trong

của máy trạm với độ tin cậy của các nhiệm vụ đang được thực thi để cải thiện toàn

bộ hiệu năng trong giới hạn thời gian thực thi trong khi vẫn đảm bảo được yêu cầu

độ tin cậy và đề xuất ra một thuật toán lập lịch hiệu quả được gọi là “Lập lịch Round Robin dựa trên độ ưu tiên về độ tin cậy và khả năng thực hiện” Tính hiệu quả 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á độ tin cậy của các thuật toán lập lịch tình nguyện có thể sử

Trang 24

dụng các bộ mô phỏng như SIMBA, SIMBOINC nhưng do quá trình liên hệ với các tác giả để xin mã nguồn chương trình các bộ mô phỏng có khó khăn và chỉ nhận được mã nguồn bộ mô phỏng SIMBA của tác giả Derrick Kondo sau khi đã sử dụng

bộ mô phỏng VCSIM và xây dựng mô phỏng xong Do thời gian không còn đủ để

có thể lại được phân chia nhỏ hơn và đơn vị nhỏ nhất là các PC thông thường, với nhiệm vụ là tính toán và trả về kết quả Liên tưởng tính toán lưới với sự tham chiếu tới việc chia sẻ những tài nguyên tính toán bên trong và giữa các tổ chức

- Mỗi tổ chức có thể đóng vai trò là người sản xuất hoặc khách hàng của tài nguyên (giống như trong lưới điện, các công ty điện năng có thể mua hoặc bán năng lượng từ các công ty khác, phù hợp với yêu cầu biến đổi)

- Các tổ chức chịu trách nhiệm qua lại, nếu 1 tổ chức cư xử không đúng, những tổ chức khác có thể từ chối hợp tác, chia sẻ tài nguyên với họ và ngược lại

Như vậy, tính toán lưới có tính đến trách nhiệm và không có tính che giấu Những người tham gia phải chịu trách nhiệm về các kết quả, các xung đột, sai sót… (điểm khác nhau cơ bản với tính toán tình nguyện)

1.3.4.2 Tính toán ngang hàng

Điểm khác nhau cơ bản nhất là tính toán ngang hàng không hề có server Nó chỉ đơn thuần gồm các PC kết nối với nhau và không có cái nào làm chủ Trong đó, các

Trang 25

- Tính toán tình nguyện có những máy chủ trung tâm Điển hình là không có truyền thông ngang hàng.

- Tính toán ngang hàng mang lại lợi ích cho những người tham gia Ở đó không

có khái niệm 1 dự án mà tài nguyên được cung cấp miễn phí

- Tính toán ngang hàng thật sự bao gồm sự tích trữ và lấy lại, không phải tính toán

Trang 26

Chương 2 LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊN

ĐỘ TIN CẬY

2.1 Mô hình cơ bản và các giả định

Mô hình tính toán Trong luận văn này, tôi giả sử một mô hình chủ khách dựa trên

nguyện thực tế hiện nay, thêm vào đó là trong nhiều các hệ thống lưới, các hệ thống metacomputing, và toàn bộ các hệ thống tính toán song song dựa trên mạng diện

bắt đầu của mỗi lô, những đối tượng công việc này được đặt vào trong một hàng đợi công việc bởi nút chủ, và sau đó được phân phối đến các nút máy trạm đã đăng kí gia nhập vào máy tính tình nguyện để thực thi chúng song song và rồi trả về kết quả của chúng đến máy chủ khi chúng kết thúc nhiệm vụ tính toán Khi máy chủ đã tập

tượng công việc tiếp (có thể dùng dữ liệu từ các kết quả của lô hiện tại), đặt chúng vào trong hàng đợi công việc, và lập lại điều này cho toàn bộ xử lý Trong mô hình

Trang 27

Hình 2-1 Mô hình chủ khách

T l l i ỉ ệ ỗ Chúng ta định nghĩa tỉ ệ ỗ l l i, , là tỉ ố ủ s c a các kết quả ỗ l i hoặc các lỗi so

lẫn nhau, do đó các lỗi trong một nhóm không ảnh hưởng lẫn nhau Xa hơn, trong

cho xác su t lấ ấy được bấ ứ ỗt c n i nào t i t t cạ ấ ả các kết quả cuối cùng là tương đối

t l xác su t cỉ ệ ấ ủa mộ ết k t qu ảriêng biệ ị ỗi, phảt b l i không lớn hơn:

Trang 28

K ẻ phá hoạ Chúng ta giả ử ằ i s r ng m t phân s m c l i, f, c a toàn b máy tr m, P, ộ ố ắ ỗ ủ ộ ạ

f

T l ỉ ệ phá hoại và sự ấu kế Cho đơn giả c t n, chúng ta làm m i máy phá ho i theo ỗ ạ

cho một th c th công viự ể ệc đặc biệt, chúng ta sẽ gi s rả ử ằng các trả ờ l i sai của

S ự dư thừ a và sự châm chễ Thông thường, một kĩ thuật chịu lỗi mới đưa ra một

Trang 29

và số lượ ng g c c a các th c th công vi c, Sự ậố ủ ự ể ệ N ch m ch ễ được định nghĩa

2.2 Các kĩ thuật chịu lỗi truyền thống.

Thông thường, các kĩ thuật ch u l i nh m vào (th t ị ỗ ằ ứ ự ưu tiên): (1) tối thi u t l l i ể ỉ ệ ỗ

thi u s ể ự dư thừa, và (3) t i thi u s ố ể ựchậm chễ

Cơ bản các kĩ thuật chịu lỗi dùng các kĩ thuật truyền thống như là biểu quyết, kiểm tra điểm hoặc danh sách đen để tăng độ tin cậy của các hệ thống tính toán tình nguyện Trong kĩ thuật biểu quyết, mỗi nhiệm vụ được thực thi nhiều lần và kết quả tốt nhất được lựa chọn xuyên suốt một xử lý biểu quyết Có hai cách biểu quyết: biểu quyết theo số đông và biểu quyết m đầu tiên Trong cách biểu quyết đầu tiên, kết quả có số lượng biểu quyết giống nhau cao nhất được lựa chọn là kết quả cuối cùng, trong cách thứ hai, sự thực thi một nhiệm vụ được lập lại cho đến khi nút chủ

Trang 30

tập hợp đủ m kết quả giống nhau Trong kĩ thuật kiểm tra điểm, máy chủ kiểm tra tính hợp lệ của máy trạm bằng cách cho ngẫu nhiên máy trạm một công việc được đánh dấu là kết quả chính xác đã thực sự được biết ở một nơi khác (ví dụ Các công

nguyện đáng tin cậy) Nếu kết quả trả về không đúng, nút chủ có thể từ bỏ kết quả hiện tại hoặc thậm chí quay lại kiểm tra lại tất cả các kết quả nhận được từ máy trạm

đó Trong trường hợp kĩ thuật danh sách đen, máy chủ có thể thêm các máy trạm nguy hiểm đã được dò tìm vào trong danh sách đen để ngăn chặn không cho chúng

đệ trình các kết quả sai lại nhiều lần nữa

2.2.1 Bi ể u quyế theo số đông t

thống với tỉ lệ lỗi rất thấp để bắt đầu, như là hệ thống phần cứng, nó không lấy nhiều sự dư thừa để giảm tỉ lệ lỗi đến các mức vô cùng thấp

Trang 31

Hình 2-3 Tỉ lệ lỗi của biểu quyết số đông với nhiều các giá trị mvà f [8] Tuy nhiên biểu quyết cũng có các khó khăn của nó Trước tiên nó không hiệu quả

việc ít nhất m = 6 lần vẫn còn một tỉ lệ lỗi lớn hơn 1% Thứ hai và quan trọng hơn,

những lý do này biểu quyết chỉ được thực hiện thực tế trong các trường hợp ở đó:

thừa để lấy thêm công việc mà không là nguyên nhân tạo thêm sự chậm chễ hoặc (b) sự chậm chễ của ít nhất hai (hoặc thông thường m) dường như là một cái giá chấp nhận được để trả cho việc giảm tỉ lệ lỗi

2.2.2 Kiểm tra điểm

chúng ta là không quá nhỏ, chúng ta có thể sử dụng một lựa chọn mới gọi là kiểm

tra điểm Trong kiểm tra điểm, nút chủ không quay lại làm tất cả các đối tượng

công việc hai hoặc nhiều lần, nhưng thay vào đó cho ngẫu nhiên một máy trạm một công việc giám sát, công việc mà kết quả đúng đã được biết trước hoặc sẽ được biết bằng việc kiểm tra nó trong một vài cách thức sau này.Sau đó nếu một máy trạm được bắt cho một kết quả tồi, máy chủ quay lại dò tất cả các kết quả nó đã nhận

Trang 32

được từ máy trạm đó và loại bỏ tất cả chúng Máy chủ cũng có thể có danh sách đen

máy phá hoại được bắt để mà ngăn chặn nó đệ trình các kết quả lỗi trong tương lai

nên nó có độ dư thừa thấp hơn nhiều với biểu quyết Nếu chúng ta giả sử rằng máy

thì 10% của công việc máy chủ cho là công việc giám sát Điều này có nghĩa rằng

công việc trong xuất tiến trình công việc của một lô với N các đối tượng công việc thực sự

2.2.2.1 Kiểm tra điểm dùng danh sách đen

để mà các máy trạm duy trì lấy khi một máy trạm được lấy vào danh sách đen), vì

được tính là:

ở đây s là tỉ ệ ỗ ủ l l i c a m t máy giộ ả ạ m o, f là phân số ủ c a toàn bộ máy g c mà là các ố

vòng, và mẫu số biểu diễn phân số của toàn bộ máy trạm gốc tồn tại đến cuối cùng của lô, bao gồm đồng thời các máy trạm tốt và xấu Phân tích kĩ hơn của hàm này

Trang 33

[11] chỉ ra rằng nó có giá trị lớn nhất xấp xỉ và giá trị này bị giới hạn như sau:

Trực quan, điều này nghĩa rằng nếu một máy phá hoại biết n trước đó, thì nó thiết

bắt cũng nhanh hơn, trong khi có một tỉ lệ lỗi thấp dẫn đến ít lỗi trong phần cuối của

lô Tuy nhiên thậm chí nếu các máy phá hoại tối ưu tỉ lệ phá hoại bằng cách này,

2.2.2.2 Kiểm tra điểm không dùngdanh sách đen

chỉ [8] rằng điều này sẽ thay đổi cận trên trong trường h p t l l i trung bình ợ ỉ ệ ỗ

đợi giảm với chiều dài của lô Điều tốt nhất máy chủ có thể làm trong trường hợp này là có gắng ép buộc các máy phá hoại ở lâu hơn (tăng l) bằng cách làm công việc

Trang 34

khó đối với chúng để chúng khó tiến tới một nhận dạng mới hoặc bằng cách đánh lừa chễ công việc.

Nếu các lô của chúng ta không quá dài thì chúng ta có thể đưa ra một quy tắc đó là người dùng mới không được phép gia nhập cho đến tận lô tiếp theo, để mà một máy

vì b ép bu c phị ộ ải đợi lô k ti p ế ế

2.3 Chịu lỗi dựa trên độ tin cậy

Trong phần này, chúng ta biểu diễn một ý tưởng mới được gọi là chịu lỗi dựa trên

hơn nó cung cấp một khung làm việc cho việc kết hợp lợi ích của biểu quyết, kiểm tra điểm và các kĩ thuật khác tốt có thể

2.3.1 Tổng quan

Nếu chúng ta chỉ đồng ý một kết quả cho một thực thể công việc khi xác suất điều

Trang 35

kiện của kết quả đang đúng đó là lớn hơn một vài ngưỡng ,thì xác suất đồng ý một kết quả đúng, trung bình của tất cả các thực thể công việc, phải lớn hơn

Nguyên lý này ám chỉ rằng nếu chúng ta có thể tính toán bằng cách này hay cách khác xác suất điều kiện, cho đến tận thời điểm kết quả tốt nhất cuối cùng tốt nhất của thực thể công việc là chính xác, thì chúng ta có thể đảm bảo toán học rằng tỉ lệ

đơn giản cờ được làm không được thiết lập cho đến khi xác suất điều kiện của kết

Để thực hiện ý tưởng này, chúng ta thêm các giá trị tin cậy đến các đối tượng khác

kết quả tốt Có bốn loại độ tin cậy: Độ tin cậy của một máy trạm, độ tin cậy của kết quả, độ tin cậy của một nhóm kết quả (một nhóm chứa đựng các kết quả giống nhau) và độ tin cậy của một thực thể công việc Độ tin cậy củ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 Độ tin cậy của một kết quả thì bằng độ tin cậy của máy trạm trả về kết quả đó Độ tin cậy củ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 độ tin cậy của một thực thể công việc là độ tin cậy của nhóm tốt nhất được xác minh qua quá trình xử lý biểu quyết

Trong suốt quá trình chạy một lô song song, độ tin cậy của các đối tượng trong hệ thống thay đổi hoặc là: (1) các máy trạm qua được các kiểm tra điểm (vì vậy tăng

độ tin cậy các kết quả của chúng và các nhóm chúng tham gia) (2) các kết quả ánh

xạ được nhận cho thực thể công việc giống nhau (vì vậy hình thành kết quả nhóm), (3) hoặc máy trạm có thể bị bắt (vì các kết quả chúng không hợp lệ, và giảm độ tin cậy củ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, độ

Trang 36

của chúng tăng lên hoặc đồng thời Khi điều này xảy ra, thực thể công việc được đánh dấu được là và máy chủ dùng quay lại gán các công việc đến các máy trạm Điều này tiếp tục xảy ra cho tất cả các thực thể công việc chưa được làm cho đến tận khi tất cả các thực thể công việc hướng đến ngưỡng được mong đợi

, tại điểm nào đó, cuối của lô Tại điểm này, giả sử rằng các độ tin cậy của chúng ta là các ước lượng của các xác suất có điều kiện tốt, phân số của các kết

xác minh động, bằng làm điều chỉnh lớn như là nó yêu cầu cho một thực thể công việc Tuy nhiên không giống như biểu quyết truyền thống, chúng ta không phải quay lại làm một thực thể công việc nhiều lần (hoặc tất cả) nếu kết quả của nó được làm bởi một máy trạm đã được kiểm tra điểm nhiều lần và vì vậy có một độ tin cậ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ựa trên

thấp với độ dư thừa ít

2.3.2 Tính toán độ tin cậy

Quyết định chính trong kĩ thuật này là tính toán các giá trị độ tin cậy là chính xác Thông thường, có nhiều các giá trị độ tin cậ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ủa hệ thống khác nhau, thêm vào đó là các cách tính toán khác nhau hoặc ước lượng xác suất điều kiện của tính chính xác dựa trên cá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ệu quả

Trang 37

lần kiểm tra là:

lượng là:

là xác suất có điều kiện để mà tất cả các kết quả trong nhóm a là đúng, giả sử rằng kết quả các nhóm khác là sai Xác suất này có thể được ước lượng là:

Tính độ tin cậy độ tin cậy của một vài đối tượng cho các trường hợp khác nhau

được tính toán

Cuối cùng, độ tin cậy của một thực thể công việc là độ tin cậy của nhóm có độ tin cậy cao nhất

2.3.3 Ứng dụng sự tin cậy

2.3.3.1 Kết hợp biểu quyết và kiểm tra điểm

Mặc dù chịu lỗi dựa trên độ tin cậy có thể được dùng với biểu quyết hoặc kiểm tra điểm một mình, nhưng tốt nhất dùng tích hợp biểu quyết và kiểm tra điểm cùng

Trang 38

nhau Trong trường hợp này, chúng ta bắt đầu với tất cả các máy trạm hiệu quả có

thấp, và các lô là dài, thì bằng thời điểm chúng ta đi một vòng hàng đợi công việc quay tròn, các máy trạm có thể giành được đủ độ tin cậy bằng việc vượt qua các kiểm tra điểm để làm cho các kết quả của chúng được chấp nhận Trong trường hợp này chúng ta không cần làm biểu quyết và chúng ta có thể hướng tới tỉ lệ lỗi mong

tra điểm không đủ, do đó chúng ta quay lại gán công việc, tâp hợp các kết quả dư thừa, và biểu quyết

Nếu chúng ta không dùng kiểm tra điểm, chúng ta thậm chí hướng đến ngưỡng sau

cho ta hướng tới ngưỡng mong đợi ít thời gian hơn nhiều so với biểu quết một mình

Một thuận lợi khác của việc dùng độ tin cậy đó là nó vẫn làm việc tốt thậm chí chúng ta không dùng danh sách đen Bằng việc dùng giá trị độ tin cậy từ phương trình 6, chúng ta đã làm mất tác dụng một cách hiệu quả ảnh hưởng của các máy phá hoại chỉ làm một ít công việc và rồi sau đó gia nhập nút mới

2.3.3.2 Kiểm tra điểm bằng biểu quyết

Mặc dù dùng độ tin cậy với biểu quyết và kiểm tra điểm thực sự làm việc khá tốt, chúng ta vẫn có thể thu được nhiều hiệu năng hơn bằng việc dùng biểu quyết cho kiểm tra điểm

Từ giờ trở đi, chúng ta giả sử rằng một máy chủ kiểm tra điểm một máy trạm bằng cách cho nó một loại công việc mà kết quả chính xác đã thực sự biết Bởi vậy điều này ám chỉ rằng hoặc máy chủ bản thân nó, hoặc một vài máy trạm có đầy đủ độ tin cậy, phải làm các công việc để xác minh kết quả chính xác, chúng ta thường giả sử

hạn tỉ lệ tại đó độ tin cậy tăng vì vậy giới hạn hiệu năng

Ngày đăng: 22/01/2024, 16:52

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w