Luận văn 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

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ưới .8

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 nganghàng .23

1.3.4.1 Tính toán lưới.23

1.3.4.2 Tính toán ngang hàng.23

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

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

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ẬY44

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

5.3 Hướng phát triển trong tương lai .73

TÀI LIỆU THAM KHẢO.

pdf76 trang | Chia sẻ: maiphuongdc | Lượt xem: 1534 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
sánh với tính toán lưới và tính toán ngang hàng 1.3.4.1 Tính toán lưới Tính toán lưới và Tính toán tình nguyện giống nhau ở chỗ cùng sử dụng nhiều máy tính kết nối với nhau để thực hiện một công việc chung. Tuy nhiên, tính toán lưới không có một máy chủ tập trung mà được phân thành các cụm nhỏ, mỗi cụm nhỏ ấy 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 file và dữ liệu khác được trao đổi giữa các “máy ngang hàng” (ví dụ như các PCs) mà không liên can gì tới máy chủ trung tâm. Nó khác với tính toán tình nguyện: 24 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 - 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. 25 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Chương 2. LÝ THUYẾT CƠ BẢN VỀ LẬP LỊCH DỰA TRÊN ĐỘ TIN CẬY Trong 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ựa trên độ tin cậy cho tính toán tình nguyên và khảo sát một số giản đồ lập lịch chịu lỗi 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 hàng đợi công việc, mô hình này được dùng trong tất cả các hệ thống tính toán tình 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 rộng khác. Trong mô hình này một tính toán được chia vào thành vào một dãy các lô, mỗi lô bao gồm nhiều các đối tượng công việc độc lập nhau [1]. Tại thời điểm 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 hợp được các kết quả cho tất cả các đối tượng công việc, nó sẽ tạo ra một lô các đối 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 này, tôi cũng giả sử rằng mọi nhiệm vụ có kích cỡ giống nhau. Một giải thích cho mô hình này được chỉ đinh trong hình 2-1. 26 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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 với các kết quả cuối cùng được chấp nhận tại cuối của nhóm. Cách thứ hai, chúng ta cũng có thể định nghĩa nó là xác suất của từng kết quả cuối cùng riêng biệt là lỗi, như vậy về trung bình, số lượng các lỗi được mong đợi trong một nhóm N các kết quả được cho bởi . Để đơn giản, tôi giả sử rằng các nhóm công việc là độc lập 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 thiết kế các kĩ thuật của tôi, tôi giả sử rằng có một tỉ lệ lỗi chấp nhận được là khác không, , và nhằm làm cho tỉ lệ lỗi thấp hơn nó. Một vài thuật toán “chịu lỗi tự nhiên” như là các thuật toán di truyền, xuất video, và một vài các ứng dụng thống kê có thể cho phép có một phân số lớn liên quan (1% hoặc nhiều hơn) các kết quả cuối cùng là lỗi, và vì vậy có tỉ lệ lỗi chấp nhận cao. Trong các ứng dụng khác không cho phép bất cứ lỗi nào tại tất cả các kết quả, phải được thiết lập để làm 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 nhỏ. Cho ví dụ, Giả sử rằng một tính toán có 10 lô mỗi lô có 100 đối tượng công việc riêng biệt và mỗi lô này phụ thuộc vào nhau do đó một kết quả lỗi trong bất cứ nhóm nào trong 10 lô sẽ là nguyên nhân của toàn bộ tính toán sai. Trong trường hợp này, để làm cho xác suất của toàn bộ tính toán là lỗi, P (lỗi), kém hơn 1%, tỉ lệ lỗi , tỉ lệ xác suất của một kết quả riêng biệt bị lỗi, phải không lớn hơn: 27 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 Kẻ phá hoại. Chúng ta giả sử rằng một phân số mắc lỗi, f, của toàn bộ máy trạm, P, là các kẻ phá hoại. Nút chủ (nút mà chúng ta giả sử là tin cậy) có thể không biết giá trị thực sự của f, nhưng được cho phép giả định một cận trên của nó, do đó không có sự đảm bảo cần được làm nếu phân số mắc lỗi thực lớn hơn cận trên giả định. Để đơn giản, chúng ta giả định rằng tất cả các máy trạm, bao gồm cả các máy phá hoại, chạy chính xác với tốc độ giống nhau, để mà các đối tượng công việc là giống nhau và được phân bố ngẫu nhiên giữa các máy trạm và các máy phá hoại. Vì vậy, mỗi kết quả chúng ta nhận được là bằng giống như là đến từ bất cứ máy trạm nào, tỉ lệ lỗi gốc - nghĩa là tỉ lệ lỗi được mong đợi mà không phải chịu đựng lỗi đơn giản là f. Tỉ lệ phá hoại và sự cấu kết. Cho đơn giản, chúng ta làm mỗi máy phá hoại theo phương thức Bernoulli với một xác suất s cho một kết quả lỗi, và chúng ta giả sử rằng s, được gọi là tỷ lệ phá hoại, là một hằng số theo thời gian và giống nhau cho tất cả các máy phá hoại. Chú ý rằng trong giả sử này, các máy trạm và phá hoại là độc lập lẫn nhau và không giao tiếp với nhau. Đặc biệt, trong trường hợp ở đó các máy phá hoại không luôn cho kết quả sai, chúng ta giả sử rằng các máy phá hoại không tán thành cho kết quả sai, nhưng quyết định làm là độc lập. Tuy nhiên, nếu hai hoặc nhiều máy phá hoại xuất hiện quyết định cho kết quả sai 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 chúng phù hợp, trừ trường hợp đã định khác. Điều này cho phép các máy phá hoại biểu quyết cùng nhau, và điều này không chỉ là một giả định có từ trực quan, chúng ta có thể mong đợi tỉ lệ lỗi cuối cùng thấp hơn nếu các máy phá hoại không thể biểu quyết cùng nhau. 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 vài thời gian tính toán thêm để thực thi lại các nhiệm vụ. Để đánh giá hiệu năng và hiệu quả của một kĩ thuật chịu lỗi, chúng ta quan tâm đến sự dư thừa và sự chậm chễ. Sự dư thừa được định nghĩa là tỉ số giữa số lượng tổng trung bình của các đối tượng công việc thực sự được gán đến các máy trạm trong một lô khi dùng kĩ thuật, 28 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 và số lượng gốc của các thực thể công việc, N. Sự chậm chễ được định nghĩa tương tự là tỉ số giữa các lần chạy của sự tính toán có và không có dùng kĩ thuật. Thông thường, sự dư thừa sẽ hướng tới một sự chậm chễ tương ứng, từ khi chúng ta giả sử rằng các đối tượng công việc nhiều hơn gấp nhiều lần các máy, để mà không có các máy trạm nhàn rỗi trong hầu hết các thời gian. Cho ví dụ, một kĩ thuật làm trung bình tất cả các công việc gấp hai lần sẽ mất thời gian gấp đôi. 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 Tuy nhiên chú ý rằng, trong một vài trường hợp – đặc biệt khi máy trạm có thể gia nhập, dời đi hoặc cho vào danh sách đen trong giai đoạn giữa của lô – sự chậm chễ có thể khác so với sự dư thừa. Nếu máy trạm dời đi, cho ví dụ, thì các máy trạm còn lại phải lấy quá các công việc của chúng. Điều này tăng sự chậm chễ, thậm chí xuyên suất tổng số lượng của công việc, và vì vậy độ dư thừa là giống nhau. 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 cuối cùng là nhỏ nhất có thể, hoặc giảm nó ít nhất đến một mức chấp nhận, (2) tố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ủ 29 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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 việc được đánh dấu đã được thực thi trên máy chủ hoặc trên một vài máy tính tình 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ết theo số đông Chúng ta có thể dễ dàng thực thi giản đồ biểu quyết theo số đông truyền thống bằng cách dùng một hàng đợi công việc tham lam được thay đổi [11] được chỉ định trong hình 2-2. Ở đây, máy chủ tiếp tục đi xuyên suất các thực thể công việc trong hàng đợi công việc theo phương thức Rough-Robin, cho đến khi tất cả các cờ được làm của tất cả các thực thể công việc được thiết lập. Cờ được làm của mỗi thực thể công việc được dời không thiết lập cho đến khi chúng ta tập hợp được m kết quả phù hợp đầu tiên cho thực thể công việc đó, kết quả thực thi một giản đồ biểu quyết m đầu tiên. Giản đồ này có một sự dư thừa được mong đợi là , và một tỉ lệ lỗi giảm theo hàm mũ với m, được chỉ định trong hình 2-3 [8]. Tỉ lệ lỗi giảm theo hàm mũ nghĩa rằng các công việc được biểu quyết rất tốt trong các hệ thống với f nhỏ, và xa hơn, các công việc biểu quyết lấy tăng lên tốt hơn là f giảm. Vì vậy, trong hệ 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. 30 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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] 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ả khi f không nhỏ. Được chỉ trong hình 2-3, cho ví dụ, tại f = 20%, làm tất cả các công 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, nó có một sự dư thừa tối thiểu 2 ít liên quan đến f và tỉ lệ lỗi mục tiêu, . Vì 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 ở đó: (1) f là nhỏ (ví dụ, ) và (2) hoặc (a) chúng ta có đủ các nút nhàn rỗi hoặc dư 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 Trong trường hợp ở đó hoặc f là lớn, hoặc là tỉ lệ lỗi chấp nhận được lớn nhất của 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 31 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 đượ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. Bởi vì kiểm tra điểm không bao gồm thực hiện lại tất cả các đối tượng công việc, 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 chủ kiểm tra điểm mỗi máy trạm với một xác suất Bernoulli q, được gọi là tỉ lệ kiểm tra điểm, thì dư thừa, về trung bình, sẽ chỉ là . Cho ví dụ, nếu q = 10%, 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 về trung bình, máy chủ cho ra bên ngoài các đối tượ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 Tuy nhiên, thậm chí với sự dư thừa thấp này, kiểm tra điểm có thể vẫn đạt được các tỉ lệ lỗi rất thấp. Xem điều này, quan tâm đến trường hợp ở đó các máy phá hoại bị bắt ở trong danh sách đen và không bao giờ cho phép quay trở lại hoặc tất cả các công việc nhiều hơn (ít nhất là trong lô hiện tại). Trong trường hợp này, các lỗi chỉ có thể đến từ các máy phá hoại mà tồn tại đến tận cuối của lô. Giả sử rằng một máy phá hoại được cho một tổng n đối tượng công việc, bao gồm cả các công việc giám sát, trong một lô. Ở đây n là phần được phân của máy phá hoại trong tổng công việc, ví dụ, N/P, thêm vào đó là sự dư thừa của kiểm tra điểm và tải thêm để 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ì vậy tỉ lệ lỗi cuối cùng trung bình với kiểm tra điểm có danh sách đen, , có thể đượ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 máy phá hoại, là xác suất của một máy phá hoại tồn tại trong xuất n 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 32 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 [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 lập tỉ lệ lỗi phá hoại là , khi tỉ lệ lỗi cao hơn dẫn đến máy phá hoại đang được 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, phương trình (2) chỉ rằng tỉ lệ lỗi trung bình không thể lớn hơn . Đó là, kiểm tra điểm giảm tuyến tính tỉ lệ lỗi trung bình trong trường hợp tồi nhất với n (cho f là hằng số). Vì vậy để giảm tỉ lệ lỗi, máy chủ phải làm các lô dài hơn để n lớn hơn. 2.2.2.2 Kiểm tra điểm không dùng danh sách đen Không may mắn, danh sách đen không phải luôn luôn có thể có hiệu lực. Mặc dù chúng ta có thể có danh sách đen các máy phá hoại dựa trên địa chỉ thư, thì cũng không quá khó cho các máy phá hoại tạo một địa chỉ thư mới và máy tình nguyện đó sẽ trở thành máy tình nguyện mới. Danh sách đen theo địa chỉ IP cũng không làm việc được bởi nhiều người sử dụng các nhà cung cấp dịch vụ ISP mà cấp cho họ địa chỉ động sau mỗi lần họ quay số. Yêu cầu nhiều mẫu xác minh để thẩm định như là địa chỉ nhà và số điện thoại có thể cấm máy phá hoại, nhưng cũng có thể cấm nhiều máy tình nguyện có ý tốt. Kĩ thuật này thì rất hữu ích khi quan tâm đến hiệu quả của kiểm tra điểm khi danh sách đen không có hiệu lực. Không may mắn, trong trường hợp này, các máy phá hoại có thể tăng đáng kể tỉ lệ lỗi bằng việc dời đi sau khi chỉ làm một giới hạn số lượng công việc, l, và sau đó quay lại gia nhập với một nút mới. Chúng ta có thể 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 trường hợp tồi nhất đến . Điều này kém hơn trước đó. Bởi vì không giống phương trình (2), tỉ lệ này không giảm nghịch đảo với n. Vì vậy không thể mong đợ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 33 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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 trạm không thể lấy được bất cứ công gì khi dời đi sớm. Trong trường hợp này tỉ lệ lỗi là giống như trong phần 3.2.1.Tuy nhiên, giản đồ này không có ích nếu lô quá dài, khi đó nó sẽ lãng phí nguồn tài nguyên tiềm năng của các máy tình nguyện tốt 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 độ tin cậy, ý tưởng này không chỉ giải quyết lỗi của danh sách đen mà quan trọng 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ể. Hình 2-4. Hàng đợi công việc lập lịch tham lam nâng cao độ tin cậy [8] 2.3.1 Tổng quan Ý tưởng chính trong chịu lỗi dựa trên độ tin cậy đó là nguyên lý ngưỡng tin cậy: 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 34 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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ệ lỗi (về trung bình) sẽ kém hơn một vài được mong đợi, bằng cách chuyển đổi đơ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 quả tốt nhất đạt đến ngưỡng . Để 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 nhau trong hệ thống, được chỉ trong hình 2-1. Ở đây độ tin cậy củ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: Độ 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, độ tin cậy củ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ải các kết quả trong W đủ qua các kiểm tra điểm để làm cho các độ tin cậy cảu các kết quả 35 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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 quả cuối cùng, kết quả sẽ là chính xác, nên lớn hơn và vì vậy tỉ lệ lỗi hầu hết tại . Chú ý rằng giản đồ này tự động cân đối hiệu năng cho tính chính xác. Nó tương tự như biểu quyết ngoại trừ rằng ở đây, m không được xác minh trước, nhưng được 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 độ tin cậ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í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ả. Độ tin cậy của một máy trạm không có kiểm tra điểm là: Độ tin cậy của một máy trạm có kiểm tra điểm và danh sách đen, giả sử nó đã qua k 36 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 lần kiểm tra là: Độ tin cậy của một máy trạm có kiểm tra điểm và không có danh sách đen được ước lượng là: Nếu một thực thể công việc có g nhóm, thì độ tin cậy của nhóm a, cho , 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 ở đây P(Ga tốt) là xác suất để tất cả các kết quả của là tốt: Và ở đây P(Ga xấu) là xác suất để tất cả các kết quả là xấu: 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 37 Nguyễn Quang Hòa - Lớp CH CNTT 2006 – 2008 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ó một độ tin cậy và bắt đầu tập hợp các kết quả. Nếu ngưỡng độ tin cậy là đủ 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 đợi với chỉ độ dư thừa bởi các công việc giám sát. Nếu là cao, thì kiểm 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 một sự chậm chễ tương ứng xấp xỉ là . Tuy nhiên kiểm tra điểm giảm hiệu quả thuật toán này, , tuyến tính với thời gian, và vì vậy 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ử rằng yêu cầu là nhỏ (

Các file đính kèm theo tài liệu này:

  • pdf000000104513R.pdf