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

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

23 640 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 262,51 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Thuật toán này nhằm giúp đánh giá các kết

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

Trang 3

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 4

MỤC LỤC

Trang 5

Đ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 khoahọ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ậptrung 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 (junglecomputing) Đ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 nganghàng, mỗi nút đóng vừa đóng vai trò máy chủ vừa đóng vai trò máykhách, cung cấp phần nào đó của tài nguyên hệ thống Các máy nganghà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áytí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 6

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 theocủa cách mạng công nghệ thông tin nó mô tả làm nhu cầu điện toán củangười dùng có thể được hoàn thành trong tương lai của ngành côngnghiệp công nghệ thông tin như thế nào Điện toán tiện ích tập trungtrên mô hình kinh doanh, khách hàng sử dụng các tài nguyên điện toánthô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ệntoá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áytí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àinguyê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ánliê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ệutrong phạm vi nhỏ hoặc không cần đầu tư cơ sở hạ tầng côngnghệ 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àinguyê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 7

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ăngcao 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ánnhư 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ùngcấ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ỗimá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

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 độ tincậy chấp nhận được Các kiến trúc tính toán phân tán (DCA: DistributedComputation Architecture) giải quyết hàng loạt bài toán bằng cách triển khai cáctí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ànglỗ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ổitiế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 8

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 trongcá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ườngxả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 thicá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ệncù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 Tuynhiê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ừagọi là dư lặp (interative redundancy) Phương pháp này dựa trên việc bầu chọnnhư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ôitrườ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ựchiệ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ẫunhiê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ủatà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ọndự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ênquan 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ụngtà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 caohơn)

Trang 9

2.1 Định nghĩa và giả thiế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 10

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 dungnhiề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 haylà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ếucá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ônglà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êmvào đó, một nốt hỏng cũng là một chức năng của nốt đó, và không tínhtoá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ảyra: tất cả các sai sót là sai sót Byzantine Các nốt độc hại có thể thông đồngtrả 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ụngbằ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ốngcho các kỹ thuật tương ứng được dùng

Trang 11

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ệtnố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ộtrà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ưngkết quả không dễ để kiểm tra Giả thuyết này kế thừa từ mô hình sai sótByzantine

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 vicủ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ủachú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ậytrung 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ùngmộ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ấtthực thi phù hợp trên một kết quả, kết quả đó được chọn làm lời giải Để đơngiả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ếtquả 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ư

Trang 12

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

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ậy0.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ọntheo k lặp trên mỗi tác vụ k lần và độc lập với r Do đó:

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 13

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êmvà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 thithê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ớikhi một thỏa thuận được đạt

Trang 14

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ềnthố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ôngdù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 15

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

Trang 16

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

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 17

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êmphả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ếtquả 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 sovớ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ápNewton

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ũnggiố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 đồngtiề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

Ngày đăng: 09/04/2015, 19:19

HÌNH ẢNH LIÊN QUAN

Hình 1: Phân lớp điện toán phân tán [1] - THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN
Hình 1 Phân lớp điện toán phân tán [1] (Trang 5)
Hình 2: Một mô hình DCA - THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN
Hình 2 Một mô hình DCA (Trang 9)
Hình 3: Thuật toán dư truyền thống - THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN
Hình 3 Thuật toán dư truyền thống (Trang 12)
Hình 4: Thuật toán dư lũy tiến - THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN
Hình 4 Thuật toán dư lũy tiến (Trang 14)
Hình 5: Thuật toán lặp dư - THUẬT TOÁN DƯ THỪA TRONG ĐIỆN TOÁN PHÂN TÁN
Hình 5 Thuật toán lặp dư (Trang 16)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w