Tải bản đầy đủ (.docx) (23 trang)

THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (274.7 KB, 23 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

ĐIỆN TOÁN LƯỚI
ĐỀ TÀI:
THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN
PHÂN TÁN
GVHD: TS. NGUYỄN PHI KHỨ
Học viên: Ngô Thanh Tuấn – CH1101054
Thành phố Hồ Chí Minh
06 – 2013
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

ĐIỆN TOÁN PHÂN TÁN















Trang 2
ĐIỆN TOÁN PHÂN TÁN


LỜI MỞ ĐẦU
Sự phát triển không ngừng của Internet và các siêu máy tính đang
có và mạng tốc độ cao đã góp cơ sở hạ tầng thiết bị cho một kỷ
nguyên mới, kỷ nguyên của điện toán mà trong đó ngoài sử dụng tài
nguyên của các siêu máy tính, còn có thể tận dụng luôn một nguồn
máy tính vô cùng, vô tận từ các máy tính người dùng. Điện toán lưới
là một bước ngoặc công nghệ hỗ trợ tính toán, thực hiện chương trình
trên nhiều mô hình tính toán khác nhau: phân tán, ngang hàng, xử lý
song song … Ngày nay, nhờ vào sự đóng góp điện toán lưới, điện toán
đám mây ra đời, đã cung cấp cho người cho người sử dụng nhiều dịch
vụ lưu trữ, ứng dụng … mang lại cho con người nhiều tiện ích.
Trong điện toán phân tán, quá trình xử lý được chia ra trên nhiều
máy tính, do đó các kết quả cần phải được kiểm định, và bảo đảm sự
chính xác. Trong bài viết này, tổng hợp một số khái niệm tổng quan
về điện toán phân tán, đồng thời bài viết cũng trình bày lại một nghiên
cứu về thuật toán dư thừa trong điện toán phân tán. Thuật toán này
nhằm giúp đánh giá các kết quả từ các máy tính thực hiện các nhiệm
vụ, qua đó chọn ra được kết quả chính xác. Trong bài viết khó tránh
khỏi sơ suất, kính mong thầy cho em các nhận xét để có thể hoàn thiện
hơn nội dung của bài tiểu luận. Em xin chân thành cám ơn.
Trang 3
ĐIỆN TOÁN PHÂN TÁN
MỤC LỤC
Trang 4
Distributed compung
Distributed compung
Peer-to-peer
compung
Peer-to-peer
compung

Cluster compung
Cluster compung
Ulity compung
Ulity compung
Grid compung
Grid compung
Cloud compung
Cloud compung
Jungle compung
Jungle compung
ĐIỆN TOÁN PHÂN TÁN
1 ĐIỆN TOÁN PHÂN TÁN
Điện toán phân tán đã trở thành một thành phần thiết yếu của tính toán khoa
học trong nhiều thập kỷ. Nó có nhiều thành phần chức năng phối hợp với nhau để
đạt được mục tiêu chung. Hầu hết các trang mạng xã hội đều cài đặt trên một hệ
thống tính toán phân tán lớn. Chúng được cài đặt thành các trung tâm dữ liệu tập
trung. Tuy nhiên xu hướng của các hệ thống đồ sộ mở rộng được tận dụng khả
năng đa dụng của mạng ngang hàng, gom cụm, và tính toán rừng (jungle
computing). Điện toán phân tán có thể được phân lớp như sau:
Hình 1: Phân lớp điện toán phân tán [1]
− Peer to peer computing (điện toán ngang hàng): trong hệ thống ngang
hàng, mỗi nút đóng vừa đóng vai trò máy chủ vừa đóng vai trò máy
khách, cung cấp phần nào đó của tài nguyên hệ thống. Các máy ngang
hàng chỉ đơn giản là các máy khách kết nối vào Internet. Không cần bộ
điều khiển trung tâm hay trung tâm dữ liệu.
− Cluster computing (điện toán gom cụm): bao gồm một bộ nhiều máy
tính riêng biệt độc lập và một mạng máy tính để kết nối chúng lại. Nó
hợp tác với nhau trong các công việc như thể chung một nguồn tài
Trang 5
ĐIỆN TOÁN PHÂN TÁN

nguyên trên máy tính. Một cụm là một khu vực mà trong đó tất cả
thành phần hệ thống con được giám sát bên trong một miền quản trị
đơn, thông thường hệ thống được đặt trong một phòng và được quản lý
như thể chỉ có một máy tính.
− Utility computing (điện toán tiện ích): được xem như là thế hệ tiếp theo
của cách mạng công nghệ thông tin nó mô tả làm nhu cầu điện toán của
người dùng có thể được hoàn thành trong tương lai của ngành công
nghiệp công nghệ thông tin như thế nào. Điện toán tiện ích tập trung
trên mô hình kinh doanh, khách hàng sử dụng các tài nguyên điện toán
thông qua các nhà cung cấp dịch vụ có phí.
o Grid computing (điện toán lưới): Mục đích của tính toán lưới là
để cho phép chia sẻ tài nguyên và phối hợp giải quyết vấn đề
linh động, các tổ chức ảo đa chế độ. Có nhiều định nghĩa về điện
toán lưới, bên dưới là một trong số các định nghĩa phổ biến:
 Là một dạng của điện toán phân tán nơi có các siêu máy
tính và máy tính ảo được xây dựng trên các cụm mạng,
các cặp máy tính rời rạc, đóng vai trò trong việc phối hợp
để thực hiện các tác vụ lớn.
 Là một công nghệ tạo điều kiện cho việc thực thi của các
ứng dụng nhiều tài nguyên quy mô lớn trên các tài
nguyên phân tán theo địa lý (Foster).
o Cloud computing (điện toán đám mây): là một mẫu điện toán
liên quan đến cung ứng các tài nguyên điện toán với khả năng
mở rộng phạm vi tài nguyên có thể dùng, theo nhu cầu dữ liệu
trong phạm vi nhỏ hoặc không cần đầu tư cơ sở hạ tầng công
nghệ thông tin.
− Jungle computing (điện toán rừng rậm): là sự kết hợp đồng thời của tài
nguyên máy tính không đồng nhất, có phân cấp, và các tài nguyên điện
Trang 6
ĐIỆN TOÁN PHÂN TÁN

toán phân tán. Điện toán rừng đề cập đến việc sử dụng đa dạng, các hệ
thống máy tính phân tán và cấu hình khác nhau để đạt được hiệu năng
cao nhất.
Cùng với sự phát triển đa dạng của phần cứng, vấn đề hiệu quả tính toán trở
nên phức tạp hơn, có nhiều cơ hội cũng như thử thách cho việc tính toán phân tán
như sau:
− Sự vô hình với người dùng: sự phân tán được giấu đi đối với người dùng
cấp cao và giấu sự phân tán này với các chương trình ở mức thấp (tại mỗi
máy được giao tính toán). Có nhiều dạng của sự vô hình này như là: địa
điểm, di trú, sao chép, đồng thời, song song.
− Sự mềm dẻo: để có thể dễ dàng phát triển.
− Tin cậy: bao gồm các nhân tố không thất thoát dữ liệu, bảo mật hệ thống,
hệ thống kháng lỗi.
− Hiệu quả: hiệu năng của hệ thống phải cao.
− Khả năng mở rộng: khả năng này không được có giới hạn.
2 DƯ THỪA TRONG TÍNH TOÁN PHÂN TÁN
Nhiều hệ thống phần mềm ngày nay, như là cửa hàng lưu trữ dữ liệu phân tán
(ví dụ: Freenet) các ứng dụng truyền trực tuyến (Skype), lượng lớn các phần mềm
độc lập và các phần cứng tham gia vào tương tác qua các mạng không tin cậy.
Những hệ thống ngày tối ưu cơ chế dư thừa để giảm lỗi và đạt ngưỡng mức độ tin
cậy chấp nhận được. Các kiến trúc tính toán phân tán (DCA: Distributed
Computation Architecture) giải quyết hàng loạt bài toán bằng cách triển khai các
tính toán có khả năng song song hóa cao lên các mạng có các nốt mạng tiềm tàng
lỗi và không tin cậy một cách linh hoạt. Một số kiến trúc tính toán phân tán nổi
tiếng bao gồm hệ thống lưới (Globus), hệ thống điện toán tiên phong (BOINC), và
hệ thống MapReduce (Hadoop). Các DCA được sử dụng phổ biến trong nhiều ứng
Trang 7
ĐIỆN TOÁN PHÂN TÁN
dụng khác nhau, bao gồm phân tích mật mã, phân tích web, các mô phỏng trong
các lĩnh vực như là vật lý, sinh học, kinh tế.

Các kiến trúc tính toán phân tán nhằm mục đích phòng chống các lỗi thường
xảy ra bởi vì các thực thể trong mạng không có một chương trình nào kiểm tra độ
tin cậy thực sự và các thực thể độc hại dễ dàng tham gia hệ thống hoặc ảnh hưởng
đến các người tham gia khác. Kỹ thuật DCA nhắm đến làm chính xác việc thực thi
các tác vụ thông qua việc bầu chọn: đó là nhiều máy làm việc độc lập, thực hiện
cùng công việc tính toán, kết quả sẽ được kiểm lại thông qua sự thỏa thuận. Tuy
nhiên, việc làm như vậy sẽ tốn kém, giảm hiệu suất của hệ thống.
Trong phần này của bài viết, sẽ giới thiệu một phương pháp tối ưu việc dư thừa
gọi là dư lặp (interative redundancy). Phương pháp này dựa trên việc bầu chọn
nhưng nó khai thác các thuộc tính của DCA để làm phù hợp cho việc thay đổi môi
trường thực hiện và cải thiện độ tin cậy hiệu quả hơn các hệ thống thay thế đã có
sẵn. Tổng quát hơn, dư lặp được ứng dụng vào các hệ thống thực hiện tính toán sử
dụng một vùng xử lý tài nguyên độc lập, do đó nhiều nguồn tài nguyên có thể thực
hiện mỗi tác vụ và hệ thống có thể chọn giữa các tài nguyên đang khả dụng ngẫu
nhiên tại thời điểm chạy. Đặc trưng của dư lặp là nó không cần biết độ tin cậy của
tài nguyên xử lý trong vùng, nó mở rộng khả năng ứng dụng vào các hệ thống mà
thông tin không thể xác định được. Ngoài phương pháp dư lặp cũng có một số
phương pháp khác như:
- Dư truyền thống, còn được gọi là dư k-đồng dư (k-modular redundancy),
với thực hiện tính toán độc lập của cùng tác vụ song song và tuyển chọn
dựa trên sự đúng đắn của kết quả.
- Dư lũy tiến (progressive redundancy) là một sự điều hòa của kỹ thuật liên
quan từ một vùng tự cấu hình nghiên cứu chương trình lạc quan
Phương pháp dư lặp tốt hơn cả hai phương pháp dư truyền thống và dư lặp.
Dư lặp tạo ra cùng mức độ tin cậy hệ thống với chi phí thấp trong việc sử dụng
tài nguyên hệ thống (nói cách khác nếu cùng chi phí thì nó sẽ cho độ tin cậy cao
hơn).
Trang 8
ĐIỆN TOÁN PHÂN TÁN
2.1 Định nghĩa và giả thiết

2.1.1 Mô hình hệ thống
Thao tác điện toán là một bài toán lớn đặc trưng có thể giải bằng DCA. Một
tác vụ là một trong các phần của việc tính toán có thể thực thi độc lập với các tác
vụ khác. Một nhiệm vụ là thể hiện của một tác vụ mà một nốt (một máy tính, hay
một bộ xử lý …) riêng biệt thi hành. Vì có dư thừa, mỗi tác vụ sẽ được thực thi
như một số nhiệm vụ giống nhau thực hiện trên các nốt phân biệt. Một máy chủ
tác vụ sẽ phân nhỏ tính toán thành vô số các tác vụ nhỏ. Máy chủ tác vụ gán
nhiệm vụ cho các nốt trong phạm vi của nốt, và các nốt này được chọn ngẫu
nhiên. Sau khi trả về phản hồi một nhiệm vụ đến máy chủ tác vụ, mỗi nốt sẽ
tham gia trở lại vùng nốt và có thể được chọn lại và gán nhiệm vụ mới. Các nốt
có thể tham gia một cách tự nguyện hay có thể rời bỏ vùng nốt chứa đó.
Hình 2: Một mô hình DCA
Trang 9
ĐIỆN TOÁN PHÂN TÁN
2.1.2 Mô hình đe dọa
Trong phần này sẽ giới thiệu mô hình sai sót Byzantine đã được ứng dung
nhiều trong các hệ thống phân tán. Mô hình bao gồm các sai sót Byzantine và
cho phép các nốt nguy hiểm kết cấu và xây dựng thỏa thuận nhằm cố làm sai hay
làm gián đoạn các tính toán. Các nốt Byzantine có thể thông báo các kết quả
không chính xác hoặc không thông báo kết quả nào. Có hai phát biểu quan trọng
về mô hình đe dọa này:
1. Mô hình đe đọa ít nhất cũng mạnh như những kỹ thuật dư thừa trong DCA.
Một mặt mô hình này không phải là một phương tiện đỡ đạn. Ví dụ, nếu
các thất bại liên hệ mật thiết với nhau, do đó các kỹ thuật dư thừa sẽ không
làm tăng độ tin cậy của hệ thống được. Mặt khác, sẽ không có giả thiết nào
về các sai sót tồn tại trong các cài đặt DCA đang có không làm. Và thêm
vào đó, một nốt hỏng cũng là một chức năng của nốt đó, và không tính
toán nào được thực thi.
2. Cho sai sót xảy ra, giả định ngữ cảnh của trường hợp xấu nhất có thể xảy
ra: tất cả các sai sót là sai sót Byzantine. Các nốt độc hại có thể thông đồng

trả về các kết quả gây hại cho độ tin cậy của hệ thống.
Trong một hệ thống có bầu chọn, mô hình sai sót Byzantine được ứng dụng
bằng việc giả định kết quả các nhiệm vụ là một trong hai giá trị có khả dụng.
Mặc dù có thể phản tác dụng, giả thiết này tạo ra một ngữ cảnh tệ nhất bởi vì tất
cả thất bại và các nốt độc hại chỉ trả về kết quả sai nhưng sai giống nhau gây khó
khăn để phân biệt kết quả sai từ kết quả đúng.
2.1.3 Các giả thiết
Trong phần này đề cập đến năm giả thiết. Các giả thiết này nhằm đơn giản mô
tả và phân tích ba kỹ thuật dư thừa đồng thời hỗ trợ định nghĩa các lớp hệ thống
cho các kỹ thuật tương ứng được dùng.
Trang 10
ĐIỆN TOÁN PHÂN TÁN
1. Mỗi nhiệm vụ gửi tới vùng chứa các nốt có cùng xác suất thất bại bởi vì
các nhiệm vụ được gán cho các nốt một cách ngẫu nhiên, không phân biệt
nốt nào có độ tin cậy hơn các nốt khác.
2. Độ tin cậy của các nốt không thể xác định được. Giả thuyết này tạo một
ràng buộc trên kỹ thuật dư thừa, nhưng mở rộng lớp của các hệ thống mà
kỹ thuật này được áp dụng.
3. Các nốt thất bại độc lập với nhau. Tuy nhiên, các nốt thất bại một lần,
chúng có thể liên kết với nhau theo mô hình sai sót Byzantine.
4. Kết quả của mỗi nhiệm vụ là một trong hai giá trị (ví dụ: 0 hoặc 1), nhưng
kết quả không dễ để kiểm tra. Giả thuyết này kế thừa từ mô hình sai sót
Byzantine.
5. Tính tin cậy của máy khách nhận kết quả cuối cùng của tính toán được bỏ
qua trong tính tin cậy của hệ thống.
2.2 Các thuật toán dư thừa
Trong phần này, sẽ giới thiệu ba thuật toán đã đề cập trong phần giới thiệu về
DCA: dư truyền thống, dư lũy tiến và cuối cùng lằ dư lặp. Để phân biệt hành vi
của mỗi thuật toán, chúng ta dùng công thức cho hai thước đo hiệu quả của
chúng trên các hệ thống: độ tin cậy hệ thống R(r) đạt được bởi và nhân tố chi phí

C(r) của việc áp dụng kỹ thuật dư. Cả hai thước đo này là các hàm độ tin cậy
trung bình của vùng chứa nốt; r có thể định nghĩa tỉ lệ thời gian một nhiệm vụ
trả về đúng kết quả.
2.2.1 Dư truyền thống
Dư truyền thống bầu chọn theo k thực hiện thực thi độc lập song song cùng
một tác vụ, sau đó chọn lựa dựa trên độ chính xác của kết quả. Nếu một số ít nhất
thực thi phù hợp trên một kết quả, kết quả đó được chọn làm lời giải. Để đơn
giản cho các phần đề cập sau, chúng ta dùng (đa số) là số lượng ít nhất các kết
quả phù hợp được yêu cầu cầu cần đồng tình. Các cài đặt dựa trên thuật toán dư
truyền thống gồm có BOINC, Hadoop.
Trang 11
Phân phối k nhiệm vụ độc lập
Xác định số lớn nhất (các kết quả giống nhau)
Lời giải
ĐIỆN TOÁN PHÂN TÁN
Hình 3: Thuật toán dư truyền thống
Ví dụ: giả sử mỗi nốt có đột tin cậy r = 0.7, k =1 (không có dư thừa) thì hệ
thống phân phối chỉ một nhiệm vụ đơn cho mỗi tác vụ và hệ thống có độ tin cậy
0.7. Thay và đó, k=19 kết quả trong một độ tin cậy hệ thống: , nhưng chi phí cho
xử lý nào đã sử dụng 19 lần tài nguyên.
Với độ tin cậy của hệ thống và nhân tố chi phí , phương pháp dư lặp bầu chọn
theo k lặp trên mỗi tác vụ k lần và độc lập với r. Do đó:
= k (1)
Độ tin cậy của dư truyền thống dựa vào bầu chọn k là xác suất mà ít nhất
nhiệm vụ đều thành công, nói cách khác, tổng của xác suất chỉ có 0, 1 nhiệm
vụ thất bại.
(2)
2.2.2 Dư lũy tiến
Hiện nay thuật toán này không được sử dung trong các hệ thống phân tán,
nhưng vai trò của nó chính là điểm giữa của quá trình cải tiến từ thuật toán dư

truyền thống và lặp dư.
Trang 12
ĐIỆN TOÁN PHÂN TÁN
Mấu chốt của lặp lũy tiến là sự quan sát dư truyền thống thỉnh thoảng đạt được
sự thống nhất nhanh chóng nhưng vẫn còn tiếp tục phân tán các nhiện vụ không
ảnh hưởng đến kết quả cuối cùng của tác vụ. Dư lũy tiến làm giảm tối đa số
nhiệm vụ cần để tạo ra sự phù hợp: dư lũy tiến bầu chọn theo k máy chủ tác vụ
phân phối chỉ nhiệm vụ. Nếu tất cả các nhiệm vụ trả về cùng kết quả, nó sẽ có sự
thống nhất và các kết quả tạo ra bới bất kỳ các nhiệm vụ sau đó của cùng tác vụ
sẽ coi như là không hợp lệ. Nếu một số nốt đồng ý, nhưng không đủ để đạt được
sự thỏa thuận, máy chủ tác vụ tự động phân phối một lượng ít nhất bản sao thêm
vào của các nhiệm vụ cần thiết để tạo sự thỏa thuận, giả sử tất các cá thực thi
thêm vào đều sinh ra cùng kết quả. Máy chủ tác vụ lặp lại quá trình này cho tới
khi một thỏa thuận được đạt.
Trang 13
a 0
b 0
Phân phối nhiệm vụ độc lập
Lời giải
sai
đúng
ĐIỆN TOÁN PHÂN TÁN
Hình 4: Thuật toán dư lũy tiến
Ví dụ: cũng như ví dụ trước giả sư k=19, r = 0.7. Với dư lũy tiến, độ tin cậy hệ
thống là xác xuất ít hơn 10 (nhỏ hơn phân nửa) hoặc 0.97, nó giống với dư truyền
thống. Nhờ công thức (3), chi phí tài nguyên của xử lý gấp 14.2 lần so với không
dùng phương pháp này. Nhưng nó vẫn nhỏ hơn 1.3 lần so với chi phí của dư
truyền thống: trong khi thỉnh thoảng một số tác vụ được phân phối trên 19 nốt, có
nhiều tác vụ đạt được kết quả sớm hơn.
Trang 14

ĐIỆN TOÁN PHÂN TÁN
Với dư lũy tiến dựa trên bầu chọn k, chúng ta dùng và lần lượt là độ tin cậy
hệ thống và chi phí. Chi phí của dư lũy tiến ít nhất đồng thuận cộng thêm tổng,
mỗi số nguyên i lớn hơn sự đồng thuận k, xác suất mà j nhiệm vụ không tạo ra
đồng thuận.
(3)
Sự tin cậy của một hệ thống dư lũy tiến là xác suất ít nhất một số nhiệm vụ
đồng thuận không thất bại, chính xác giống như dư truyền thống
(4)
2.2.3 Dư lặp
DCA thực hiện các nhiệm vụ bất đồng bộ và có truy cập vào thông tin thời
gian chạy về độ tin cậy hệ thống và khả năng thay thế quyết định triển khai tác
vụ dựa trên thông tin đó. Nhờ vào các thông tin đó là nguồn gốc để phát triển kỹ
thuật dư lặp.
Dư lặp phân phối số lượng tác vụ nhỏ nhất cần thiết để đạt được một mức độ
tin cậy trong kết quả, với giả định rằng tất cả các kết quả của các nhiệm vụ đều
phù hợp. Nếu tất cả các nhiệm vụ đều phù hợp, tác vụ hoàn thành. Tuy nhiên nếu
tất cả các kết quả đều không phù hợp, độ tin cậy tương ứng với kết quả chính bị
giảm bớt theo xác suất mà các kết quả không phù hợp một cách chính xác. Nói
cách khác, các nguy cơ sai sót của tác vụ càng tăng lên. Thuật toán đánh giá lại
tình trạng và phân thêm vào một lượng ít nhất các nhiệm vụ để có thể đạt được
mức độ tin cậy mong muốn. Quá trình này lặp lại cho đến khi các kết quả phù
hợp nhiều hơn các kết quả không phù hợp để đạt được ngưỡng tin cậy.
Trang 15
Phân phối đầy đủ các nhiệm vụ độc lập để đạt được độ tin cậy mong muốn (trong trường hợp lý tưởng)
Tính độ tin cậy dựa trên các kết quả tính toán
Độ tin cậy đã đạt được như mong muốn chưa?
sai
Lời giải
đúng

ĐIỆN TOÁN PHÂN TÁN
Hình 5: Thuật toán lặp dư
Ví dụ: giả sử và độ tin cậy mong muốn của hệ thống là . Dư lặp sử dụng như
ngưỡng tin cậy và tính toán bao nhiêu kết quả các nhiệm vụ phải phù hợp hoàn
toàn để chắc chắn sự chính xác của kết quả với xác suất . Ví dụ, nếu máy chủ tác
vụ phân phát chỉ một nhiệm vụ, ta có cơ hội để kết quả đúng đắn, nhưng nếu
máy chủ tác vụ phân phối bốn nhiệm vụ và tất cả đều trả về một kết quả, do đó ta
có xác suất kết quả chính xác. Bốn là số nhỏ nhất các tác vụ có thể đạt được
ngưỡng tin cậy trong ví dụ này, vì vậy máy chủ tác vụ phân phối bốn nhiệm vụ.
Nếu tất cả bốn nhiệm vụ trả về cùng kết quả, tác vụ đã được hoàn thành. Ngược
lại, mộ sốt nhiệm vụ trả về kết quả không phù hợp, máy chủ tác vụ xác định xem
tối thiểu bao nhiêu nhiệm vụ nữa phải được phân phó để đạt ngưỡng tin cậy và
Trang 16
ĐIỆN TOÁN PHÂN TÁN
tạo nên được độ tin cậy mong muốn. Ví dụ, nếu ba nhiệm vụ trả kết quả phù hợp
và một không phù hợp, máy chủ tác vụ xác định rằng ít nhất hai nhiệm vụ thêm
phải có kết quả giống phần lớn các nhiệm vụ (không có nhiệm vụ nào trả về kết
quả thiểu số) để đạt được . Máy chủ tác vụ tự động phân phối hai nhiệm vụ nữa.
Chi phí tài nguyên của kỹ thuật dư lặp trong trường hợp này sẽ tốn hơn 9.4 lần so
với một hệ thống không sử dụng kỹ thuật này. Chi phí này vẫn nhỏ hơn 1.5 lần
so với dư lũy tiến và 2.0 lần so với dư truyền thống.
Một cách trực quan, dư lũy tiến bảo đảm cho việc phân phối ít nhất số nhiệm
vụ để đạt được thỏa thuận. Ngược lại, dư lặp bảo đảm việc phân phối ít nhiệm vụ
nhất cần để đạt được độ tin cậy hệ thống ở mức mong muốn.
Thuật toán phức tạp
Giả sử có (a + b) nhiệm vụ, a trả về kết quả với xác suất r, và b trả về kết quả
với xác xuất (1 – r). Gọi độ tin cậy là q(r, a, b), do đó
Gọi : số nhiệm vụ tả về kết quả đúng từ b.
R: là độ tin cậy trong đa số kết quả.
có thể được tính bằng cách kiểm các giá trị a liên tiếp hoặc dùng phương pháp

Newton.
Ví dụ: nếu thuật toán tìm thấy 6 kết quả, nhưng chỉ có 4 phù hợp còn 2 kết quả
không phù hợp, thuật toán sẽ phân phát thêm 4 nhiệm vụ để tạo ra một tỉ lệ số
đông 8-2. Do đó, thuật toán cố gắng đạt được một sự khác biệt 6 giữa kết quả
phù hợp và không phù hợp. Ví dụ 6 kết quả phù hợp với 0 kết quả phù hợp cũng
giống độ tin cậy 16 phù hợp và 10 không phù hợp .
Định lý 1: Cho . Thì
Định lý 2 mô tả một ý rõ ràng hơn: bất chấp r giá trị bao nhiêu, nếu một đồng
tiền xu lật lần và mặt ngữa là lần, xác suất đồng xu thiên về mặt ngữa cao hơn
mặt xấp phụ thuộc chủ yếu trên giá trị của d và không phụ thuộc vào giá trị b.
Trang 17
ĐIỆN TOÁN PHÂN TÁN
Định lý 2: Cho X là một biến Bernoulli tùy ý và . Thì tồn tại c sao cho, tất cả,
nếu ngoài số mẫu của X, đúng như vậy là T (và b là F), thì xác suất .
: là một hằng số.
Thuật toán: chúng ta có thể chỉ cần xác định d(r, R, 0) một lần và chỉ định số
nhỏ nhất khác nhau d giữa nhiệm vụ trả về kết quả số đông và số nhiệm vụ trả về
kết quả thiểu số. Trong trường hợp d(r, R, 0) = 6, thì thuật toán phân phối nhiệm
vụ cho tới khi 6 nhiệm vụ được thông báo cho một kết quả hơn các số lượng kết
quả còn lại. Ngoài ra, người dùng có thể muốn tăng độ tin cậy dựa lên d, không
phải người sử dụng hay kỹ thuật cần biết trung bình độ tin cậy của các nốt trong
vùng nốt. Tình trạng này được thực hiện song song trên kỹ thuật dư truyền thống
và dư lặp. Bên dưới trình bày một thuật toán được đơn giản và khác nhiều so với
thuật toán gốc, thuật toán này được áp dụng cùng số lượng nhiệm vụ dư thừa
trong mỗi tình trạng và đạt được chính xác cùng hiệu quả.
Trang 18
COMPUTE(Task task, int d)
a ← 0
b ← 0
while ((a – b) < d)

{
thực hiện d − (a − b) task nhiệm vụ độc lập, chọn ngẫu nhiên máy để thực
thi
a ← a + số kết quả a
b ← b + số kết quả b
if (a < b) a ↔ b
}
return a
ĐIỆN TOÁN PHÂN TÁN
Cho dư lặp với d được định nghĩa như trên, và lần lượt là độ tin cậy của hệ
thống và nhân tố chi phí. Nhân tố chi phí của dư lặp là một tổng xác suất ứng với
mỗi b mà hệ thống phân phối (d+2b) nhiệm vụ và nhận (d+b) kết quả đa số và b
kết quả còn lại, tổng chi phí là (d+2b). Do đó
(5)
Độ tin cậy của hệ thống dư lặp là xác suất mà d nhiệm vụ trả về kết quả đúng
hơn là kết quả sai. Do đó
(6)
2.3 Các mối đe dọa đến sự chính xác
2.3.1 Dự đoán độ tin cậy
Có rất nhiều kỹ thuật (chốt kiểm tra kết quả (spot-checking of result), danh
sách đen (blacklisting), tính độ tín nhiệm của nốt) được đưa ra như là các phương
tiện để xác định độ tin cậy của các nốt và tối ưu thông tin để cải thiện độ tin cậy
của hệ thống. Ví dụ BOINC sử dụng kỹ thuật nhân rộng thích nghi (adaptive
replication) nhằm tránh việc lặp lại một tác vụ nếu nó đã được gửi tới một máy
có độ tin cậy cao, tuy nhiên việc này cần đến hơn 50% hiệu năng của CPU để
kiểm tra độ tin cậy [4].
Tuy nhiên các kỹ thuật này làm ảnh hưởng nghiêm trọng tới hiệu năng của các
máy tính. Trong các hệ thống lớn, chi phí hiệu năng có ý nghĩa quan trọng, đôi
khi chúng ta xem xét không ứng dụng dư lặp để tính toán độ tin cậy cũng là một
thuận lợi đáng kể.

2.3.2 Thời gian đáp ứng
Sử dụng dư truyền thống, một máy chủ tác vụ có thể triển khai k nhiệm vụ tại
một thời điểm. Trong khi đó với dư lặp và dư lũy tiến chỉ triển khai một vài
nhiệm vụ và chờ kết quả trước khi triển khai thêm. Do đó, các kỹ thuật này tăng
thời gian phản hồi kết quả cho một tác vụ riêng biệt. Trong ngữ cảnh của DCA,
Trang 19
ĐIỆN TOÁN PHÂN TÁN
số tác vụ lớn hơn số lượng nốt, do đó tăng thời gian đáp ứng không là vấn đề
nghiêm trọng bởi vì các nốt có thể thực các nhiệm vụ liên quan đến các tác vụ
khác. Nói khác đi, không có nốt nào sẽ rảnh rỗi mãi và tất cả khả năng xử lý của
chúng đều được tối ưu. Tuy nhiên, vẫn có một số ứng dụng đòi hỏi thời gian
phản hồi cho các tác vụ riêng biệt.
2.3.3 Mở rộng giả thiết
Các công thức từ (1) đến (6) nói lên rằng mỗi nhiệm vụ đều có một xác suất
thất bại. Giả thiết này dựa trên các DCA (BOINC, Hadoop) gán các nhiệm vụ lên
các nốt một cách ngẫu nhiên; do đó, từ độ tin cậy tương lai của nốt, mỗi nhiệm
vụ được đưa vào hàng đợi nhiệm vụ có cùng xác suất thất bại. Tuy nhiên, trên
một số hệ thống khác, giả thiết này có thể không đúng. Trong các trường hợp
này, chỉ cần thay đổi tham số r của các công thức trên bằng độ tin cậy xấp xỉ của
các nốt liên quan. Ví dụ: nếu r
c
là độ tin cậy của một nhiệm vụ c, công thức (3)
trở thành:
Chi phí và xác suất thất bại dựa trên xác xuất phân tán.
Giả sử kết quả của mỗi tác vụ là một bit (bit nhị phân 0/1). So sánh hai loại tác
vụ: t1 (tác vụ thứ nhất) yêu cầu 2
2
= 4 và t2 yêu cầu kết quả của 2
2
. Kết quả của

t1, tất cả các nốt trả lời kết quả sai nghĩa là trả về là “0”, có khả năng khó phân
biệt giữa kết quả đúng và sai. Kết quả của t2, các nốt có thể trả về các số nguyên
khác nhau, và có thể xác định kết quả đúng là 4 ngay cả hơn phân nữa số nốt bị
thất bại, bởi vì số nhiều (mặc dầu không phải là phần tối đa) sẽ trả về kết quả
đúng.
Dư lặp cũng có thể ứng dụng trên các hệ thống không phải là kết quả đúng/sai.
Tất cả hệ thống có các nốt nguy hiểm có thể bắt tay với nhau tạo nên sai phạm
trong kết quả, các phân tích trên cung cấp các biên trên các xác suất sai phạm và
chi phí thực hiện.
Trang 20
ĐIỆN TOÁN PHÂN TÁN
Một mặt quan trọng của kết quả không phải chỉ là đúng/sai là hai kết quả
không bằng nhau có thể là thể hiện cho cùng một thông tin (ví dụ: số Pi có thể
khác nhau tùy vào hệ thống trả về số chữ số sau dấu chấm thập phân). Do đó hệ
thống phải có các phương pháp kiểm tra, so sánh phù hợp với từng bài toán, và
các nốt phân tán phải có thuật toán so sánh phù hợp. BOINC sử dụng dư đồng
nhất (homogeneous redundancy) để sắp xếp các nốt vào các lớp tương đương nếu
chúng trả về các kết quả giống nhau để giải quyết vấn đề này [5].
3 KẾT LUẬN
3.1 Kết quả đạt được
Thông qua quá trình tìm hiểu đã giúp em hiểu thêm về các mô hình đặc điểm
của điện toán phân tán. Đồng thời nhận ra vai trò của việc xác định độ tin cậy, độ
chính xác của kết quả khi triển khai tính toán trên các hệ thống điện toán phân
tán. Kết quả trả về không phải bao giờ cũng đúng đắn, do đó cần phải có thêm
các thuật toán chống lỗi khi thực thi tính toán. Tuy nhiên, cần phải xem xét khi
nào nên cần dùng các thuật toán này, bởi vì dùng chúng tốn tài nguyên đáng kể
trên các hệ thống.
3.2 Hạn chế
Do thời gian có hạn, với lượng kiến thức hạn chế, bài tiểu luận chưa xây dựng
được một chương trình mô phỏng chạy thuật toán dư lặp, dư truyền thống để

kiểm tra và đánh giá qua thực nghiệm như thống kê của tác giả của tài liệu tham
khảo [3].
3.3 Hướng phát triển
− Triển khai cài đặt mô phỏng thuật toán trên các hệ thống tính toán phân
tán như BOINC để kiểm tra, đánh giá các thuật toán.
− Tìm hiểu cách sử dụng BOINC để có thể triển khai các ứng của điện
toán phân tán tận dụng tài nguyên của các máy tính tình nguyện trong
hệ thống này.
Trang 21
ĐIỆN TOÁN PHÂN TÁN
Trang 22
ĐIỆN TOÁN PHÂN TÁN
4 TÀI LIỆU THAM KHẢO
[1] The Distributed Computing Paradigms: P2P, Grid, Cluster, Cloud, and
Jungle – Brijender Kahanwal,Tejinder Pal Singh Assistant Professor, CSE
Department, Galaxy Global Group of Institutions, Dinarpur, Ambala,
Haryana INDIA
[2] Bài giảng môn học điện toán lưới – TS. Nguyễn Phi Khứ
[3] Smart Redundancy for Distributed Computation – Yuriy Brun, George
Edwards, Jae young Bang, Nenad Medvidovic
[4] />[5] />Trang 23

×