Chịu Lỗi Hệ Phân Tán (NW605) - Tài Liệu Text - 123doc
Có thể bạn quan tâm
- Trang chủ >>
- Công Nghệ Thông Tin >>
- Kỹ thuật lập trình
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 (232.88 KB, 25 trang )
VI. Chịu lỗiHệ phân tán (NW605)1. Sự cố / thất bại – failure (Coulouris 2.3.2)2. Process resillience3. Liên lạc đáng tin cậy – reliable communication4. Khôi phục – recovery Chịu lỗi 2Độ tin tưởng - dependabilityAvailability (độ sẵn có): xác xuất hệ thống hoạt động đúng tại một thời điểm bất kì và sẵn sàng thực hiện các chức năng của mình. –ví dụ availability 99,999% có nghĩa là hệ thống sẽ hoạt động đúng trong 99,999% thời gian. Reliability (độ tin cậy): năng lực của hệ thống trong việc chạy liên tục mà không gặp sự cố. –Lưu ý rằng reliability không giống availability. Safety (độ an toàn): khi một hệ thống (tạm thời) không thể chạy đúng, không có hậu quả gì nghiêm trọng xảy ra. Ví dụ bộ phận điều khiển một nhà máy điện hạt nhân đòi hỏi mức độ an toàn caoMaintainability (khả năng bảo trì): một hệ thống trục trặc có thể sửa chữa dễ dàng đến đâu. Điều này đặc biệt hữu ích nếu muốn có sự hồi phục tự động sau sự cố. Và nó cũng dẫn đến availability cao. Chịu lỗi 3Sự cố - failureThuật ngữ:Failure – Sự cố: Một hệ thống gặp sự cố khi nó không thỏa mãn cam kết và không cung cầp dịnh vụ theo cách được tả rõ.Error - Sai: phần trạng thái hệ thống dẫn đến sự cố (nghĩa là nó khác với giá trị mà đáng ra nó phải có)Fault - Lỗi: nguyên nhân của sai (kết quả của sai lầm trong thiết kế, lỗi chế tạo, suy thoái, hay nhiễu từ bên ngoài)Đệ qui:–Sự cố có thể là một lỗi–Lỗi chế tạo dẫ đến sự cố đĩa–Sự cố đĩa là một lỗi dẫn đến sự cố cơ sở dữ liệu–Sự cố cơ sở dữ liệu là một lỗi dẫn đến sự cố của dịch vụ email Chịu lỗi 4Sự cố toàn phần/bộ phậnSự cố toàn phần:Tất cả các thành phần của một hệ thống bị trục trặc–Điển hình ở hệ thống không phân tánSự cố bộ phận:Một vài (nhưng không phải toàn bộ) các thành phần của hệ thống gặp trục trặc.–Một số thành phần bị ảnh hưởng–Một số thành phần khác hoàn toàn không–Được xem là một lỗi đối với toàn bộ hệ thống Chịu lỗi 5Fault tolerance – chịu lỗiChịu lỗi:–Hệ thống có thể cung cấp dịch vụ ngay cả khi đang có lỗi.Mục tiêu:–Tự động phục hồi từ sự cố bộ phận.–Hiệu năng toàn cục không bị ảnh hưởng nặngKĩ thuật:–Ngăn chặn: ngăn chặn hoặc giảm số lần xuất hiện lỗi–Đoán: đoán các lỗi có thể xảy ra và xử lý chúng–Che dấu: che dấu các lần xuất hiện của lỗi–Khôi khục: khôi phục từ một trạng thái có lỗi tới một trạng thái không có lỗi. Chịu lỗi 6Các loại lỗi và sự cốLỗi:–Transient fault – lỗi nhất thời: xảy ra một lần rồi thôi–Intermittent fault – thỉnh thoảng xảy ra rồi biến mât–Permanent fault – luôn có mặt cho đến khi thành phần có lỗi được thay thếSự cố:–Process failure - sự cố tiến trình: tiến trình chạy đúng hoặc sai–Storage failure – sự cố nơi lưu trữ: không thể truy nhập thiết bị lưu trữ thứ cấp ‘bền vững’–Communication failure - Sự cố liên lạc: liên lết liên lạc hoặc một nút gặp sự cố. Chịu lỗi 7Các mô hình sự cốCrash Failure: server treo (chạy đúng cho đến khi treo).–Fail-stop: các tiến trình khác có thể phát hiện tình trạng treo–Fail-silent: các tiến trình khác không thể phát hiện tình trạng Omission Failure: –Receive Omission: thông điệp đến nơi nhưng receiver không nhận–Send Omission: sender thực hiện send, nhưng thông điệp không được gửiTiming Failure: phản ứng server ngoài khoảng thời gian định trướcResponse Failure: server trả lời sai.–Value Failure: kết quả trả lời có giá trị sai–State Transition Failure: server không chuyển trạng thái đúngArbitrary Failure (Byzantine failure): server phản ứng tùy tiện vào các thời điểm tùy tiện Chịu lỗi 8Phát hiện sự cốCác hệ đồng bộ:–Timeout–Failure detector gửi probe để phát hiện sự cố treoCác hệ không đồng bộ–Timeout không đảm bảo gì–Failure detector có thể theo dõi các tiến trình được nghi là có sự cố–Kết hợp kết quả từ nhiều detector–Làm thế nào để phân biệt giữa sự cố liên lạc và sự cố tiến trình? Chịu lỗi 9Che dấu sự cốCố gắng không để sự cố gây ảnh hưởng tới các tiến trình khácRedundancy - Dư thừa:–Dư thừa thời gian: cho phép một hành động được thực hiện nhiều lần nếu cần, khắc phục sự cố–Dư thừa thông tin: dữ liệu có thông tin thừa để khi cần có thể dùng để khôi phục dữ liệu bị mât–Dư thừa vật lý: sao lặp tài nguyên (tiến trình, dữ liệu…), sao lặp thành phần vật lý của hệ thống Chịu lỗi 10Process resiliencekhả năng khôi phục của tiến trìnhSao lặp để bảo vệ trước các sự cố tiến trìnhNhóm:–Tổ chức các tiến trình giống nhau thành các nhóm–Các nhóm tiến trình có tính động–Tiến trình có thể là thành viên của nhiều nhóm–Cơ chế quản lý nhóm và thành viên–Client giao tiếp với cả nhóm như thể với 1 tiến trìnhNhóm phẳng/cây–Nhóm phẳng: các quyết định do tập thể đưa ra–Nhóm cây: quyết định do điều phối viên / nhóm trưởng đưa ra Chịu lỗi 11Sao lặpTạo nhóm sao lặpPrimary-Based:–Một primary (thành phần chính) và các thành phần back-up–Nhóm có cấu trúc cây–Nếu primary treo thì chọn một primary mớiReplicated-Write:–Chủ động sao lặp–Nhóm phẳng–Sắp thứ tự các yêu cầu (bài toán multicast toàn vẹn-atomic)k Fault Tolerance:–Có thể chịu được sự cố tại k thành phần mà vẫn hoạt động đúng theo đặc tả–Cần k+1 replica nếu các sự cố thuộc loại fail-silence/fail-stop–Cần 2k+1 replica nếu các sự cố thuộc loại byzantine Chịu lỗi 12Đồng thuậnVí dụ: bầu cử, commit/abort giao tác, phân công công việc, mutual exclusion•Các thuật toán trước đều giả thiết rằng không có sự cố•Chuyện gì xảy ra khi–Có sự cố tiến trình?–Có sự cố liên lạc?–Có thể có sự cố byzantine?•Bài toán 2 cánh quân – tiến trình không lỗi, liên lạc lỗi•Bài toán các vị tướng byzantine – tiến trình lỗiMong muốn: tất cả các tiến trình không có lỗi đều đạt được đồng thuận (sau một số bước hữu hạn) Chịu lỗi 13Liên lạc đáng tin cậy•Các kênh liên lạc cũng có thể có sự cố•Chú trọng che crash failure và omission failureLiên lạc điểm-tới-điểm đáng tin cậy–Giao thức tầng giao vận đáng tin cậy (vd. TCP)•Che được omission failure, không che crash failureVí dụ RPC và các sự cố có thể xảy ra–Client không thể định vị server–Thông điệp yêu cầu gửi cho server bị thất lạc–Server treo sau khi nhận một yêu cầu–Thông điệp trả lời bị thất lạc–Client treo sau khi gửi yêu cầu•Xử lý như thế nào? Chịu lỗi 14Liên lạc nhóm đáng tin cậyCách tiếp cận cơ bản đối với multicast đáng tin cậy Chịu lỗi 15Liên lạc nhóm đáng tin cậyMulticast theo cây Chịu lỗi 16Failure Recovery – Khắc phục sự cốKhôi phục từ một trạng thái sai tới một trạng thái không có lỗiVấn đề:–Tái chiếm tài nguyên: khóa, bộ nhớ đệm giữ tại các nút khác–Tính nhất quán: Lùi các thao tác đang thực hiện dở dang trước khi khởi động lại–Hiệu quả: tránh khởi động lại toàn bộ hệ thống Chịu lỗi 17Khắc phục tiến và khắc phục lùiKhắc phục tiến – forward recovery–Sửa lỗi mà không quay về một trạng thái cũ–Xóa lỗi khỏi trạng thái hiện tại–Không thực hiện lại các tính toán–Đôi khi bất khả thiKhắc phục lùi – backward recovery–Sửa lỗi bằng cách quay về một trạng thái cũ đúng–Ví dụ: gửi lại một gói tin bị mất–Thực hiện lại các tính toán–Lỗi có thể tái xuất–Có thể có những thành phần không thể khôi phục Chịu lỗi 18Khắc phục lùiCách tiếp cận tổng quát:–Khôi phục tiến trình về điểm khôi phục – recovery point–Khôi phục hệ thống bằng cách khôi phục tất cả các tiến trình activeCác cách tiếp cận cụ thể:•Operation-based recovery – khôi phục theo thao tác–Ghi nhật trình (log) tất cả các thao tác–Khôi phục về điểm khôi phục bằng cách lùi các thay đổi•State-based recovery – khôi phục theo trạng thái:–Lưu trạng thái đầy đủ tại các điểm kiểm soát – checkpoint–Khôi phục tiến trình từ checkpoint.Nhật trình hoặc các checkpoint được ghi tại nơi lưu trữ bền vững Chịu lỗi 19Khắc phục lùi - Khôi phục theo thao tác Khôi phục theo thao tác – nhật trình thao tác:Cập nhật tại chỗ kèm theo ghi nhật trình trước đó•Mỗi thay đổi (cập nhật) dữ liệu đều được ghi lại trong một nhật trình, trong đó có:–Tên phần tử dữ liệu (định danh)–Trạng thái cũ của phần tử dữ liệu (để undo)–Trạng thái mới của phần tử dữ liệu (để redo)•Nhật trình undo được ghi trước khi sửa đổi được thực hiện (write-ahead log) Chịu lỗi 20Khắc phục lùi - Khôi phục theo trạng thái Khôi phục theo trạng thái – checkpoint:Thường xuyên lập các checkpoint trong khi chạyDùng checkpoint:•Bi quan/lạc quan:–Bi quan: cho rằng sự cố hay xảy ra, tối ưu hóa cho khôi phục sự cố–Lạc quan:cho rằng sự cố ít khi xảy ra, cực tiểu hóa chi phí checkpoint•Độc lập/phối hợp–Phối hợp: các tiến trình cùng lập checkpoint–Độc lập: mỗi tiến trình lập các checkpoint địa phương độc lập với các tiến trình khác•Đồng bộ/không đồng bộ:–Đồng bộ: tính toán phân tán bị khóa trong khi lập checkpoint–Không đồng bộ: tính toán phân tán vẫn tiếp diễn trong khi lập checkpoint Chịu lỗi 21Khắc phục lỗi trong hệ phân tán•Tiến trình gặp sự cố có thể gây ảnh hưởng nhân-quả đến các tiến trình khác•Khi khôi phục tiến trình bị sự cố, phải undo hiệu ứng của nó đối với các tiến trình khác•Phải roll back tất cả các tiến trình bị ảnh hưởng–Mọi tiến trình phải thiết lập các điểm khôi phục•Phải roll back về một trạng thái toàn cục nhất quán Chịu lỗi 22Khắc phục lỗi trong hệ phân tánHiệu ứng Domino:•P1 thất bại → roll back: P1 R13•P2 thất bại → P2 R23–Thông điệp mồ côi m được nhận nhưng chưa được gửi → P1 R12•P3 thất bại → P3 R32 → P2 R21 → P1 R11, P3 R31•Các quan hệ phụ thuộc của gửi nhận thông điệp cộng với checkpoint độc lập có thể buộc hệ thống phải roll back về trạng thái khởi đầu. Chịu lỗi 23Khắc phục lỗi trong hệ phân tánThông điệp bị thất lạc:•Sự cố P2 → P2 R21•Thông điệp m được ghi nhận là đã được gửi (bởi P1) nhưng không được nhận (bởi P2), và sau khi roll back m sẽ không bao giờ được nhận.•m bị thất lạc•m thất lạc do roll back hoặc do kênh liên lạc là không thể phân biệt được!Giải quyết như thế nào? Chịu lỗi 24Khắc phục lỗi trong hệ phân tánLivelock:P2↓ → P2 R21 → P1 R11. n1 đang trên đường truyền•Thông điệp trước khi roll back, n1, được nhận sau roll back•Buộc phải roll back lần nữa, P2 R21 → P1 R11•Với thời gian căn thích hợp, roll-back có thể lặp lại vô hạn Chịu lỗi 25Checkpoint nhất quánLát cắt nhất quán:
Tài liệu liên quan
- Mẫu đơn xin việc dành cho sinh viên khối ngành kinh tế mới ra trường
- 3
- 11
- 76
- Tài liệu Luận văn " SẢN PHẨM PHẦN MỀM - LĨNH VỰC XUẤT KHẨU ĐẦY TRIỂN VỌNG CỦA NGÀNH CÔNG NGHỆ THÔNG TIN VIỆT NAM " docx
- 99
- 730
- 1
- Tài liệu công nghệ thông tin - Các nguyên lý cơ bản trong thiết kế HĐT pptx
- 19
- 616
- 1
- Đề tài thực tập tốt nghiệp chuyên ngành công nghệ thông tin potx
- 14
- 1
- 0
- Để thấy ảnh hưởng rộng lớn của XML trong ngành Công Nghệ Thông Tin cận đại pps
- 37
- 216
- 0
- Hệ thống thông tin chuyên nganh công nghệ thông tin
- 78
- 149
- 0
- Chịu lỗi hệ phân tán (NW605)
- 25
- 598
- 1
- đề tài tôt nghiệp chuyên ngành công nghệ thông tin quản lý tiến trình
- 61
- 346
- 0
- đồ án công nghệ thông tin Tìm hiểu và xây dựng ứng dụng P P theo kién trúc Kademlia
- 59
- 1
- 3
- Bài tập lớn môn kiến trúc máy tính ngành công nghệ thông tin
- 4
- 521
- 0
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(387 KB - 25 trang) - Chịu lỗi hệ phân tán (NW605) Tải bản đầy đủ ngay ×Từ khóa » Hệ Thống Chịu Lỗi
-
Fault Tolerance Là Gì? Hệ Thống Chịu Lỗi Có Tác Dụng Gì? - Bizfly Cloud
-
Hệ Thống Chịu Lỗi Byzantine | Binance Academy
-
Sự Thật Thú Vị Về Hệ Thống Chịu Lỗi Byzantine Mà Bạn Chưa Biết
-
Tìm Hiểu Về Hệ Phân Tán (Phần 8: Tính Chịu Lỗi ) - Part 1
-
Byzantine Fault Tolerance (BFT) Là Gì? Cách Bitcoin Giải Quyết Lỗi ...
-
BFT Là Gì? Hệ Thống Chịu Lỗi Byzantine Fault Tolerance
-
Khả Năng Chịu Lỗi - Wikimedia Tiếng Việt
-
Hệ Thống Chịu Lỗi Byzantine Là Gì, Bài Toán Các Vị Tướng ...
-
Fault Tolerance Là Gì? - Từ điển CNTT
-
Thuật Toán đồng Thuận Byzantine Fault Tolerance (BFT) Là Gì?
-
KHẢ NĂNG CHỊU LỖI Tiếng Anh Là Gì - Trong Tiếng Anh Dịch
-
FAULT TOLERANCE Tiếng Việt Là Gì - Trong Tiếng Việt Dịch
-
Fault Tolerance Là Gì - Hệ Thống Chịu Lỗi Có Tác Dụng Gì
-
Công Nghệ Blockchain | Hệ Thống Chịu Lỗi Byzantine - YouTube