BÁO cáo bài tập lớn môn hệ THỐNG PHÂN tán đề tài SAO lặp và TÍNH NHẤT QUÁN

19 706 2
BÁO cáo bài tập lớn môn hệ THỐNG PHÂN tán đề tài  SAO lặp và TÍNH NHẤT QUÁN

Đ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

TRƯỜNG ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN Hệ phân tán BÁO CÁO BÀI TẬP LỚN MÔN HỆ THỐNG PHÂN TÁN Đề tài : SAO LẶP VÀ TÍNH NHẤT QUÁN Sinh viên thực : Vũ Đức Hải Nguyễn Hữu Long Mục Lục Sao lặp Tính quán • Mô hình • Giao thức Phát tán cập nhật Sắp đặt replica Sao lặp kiểu lặp liệu Để cho thống nhất, ta thường phải đảm bảo tất thao tác có xung đột thực nơi theo thứ tự Sao lặp tạo dịch vụ nhiều máy Bao gồm: – Độ tin cậy • – – Dư thừa Hiệu • Tăng lực xử lý • Giảm liên lạc Tính mở rộng (giảm tập trung) • Ngăn chặn tải server đơn (mở rộng kích thước) • Tránh độ trễ liên lạc (mở rộng địa lý) Hai kiểu – Sao lặp liệu – Sao lặp điều khiển 1.1 Sao lặp liệu : Sao lặp server liệu: Caching trình duyệt Web: 1.2 Sao lắp điều khiển 1.3 Sao lặp liệu điều khiển: 1.4 Distributed data store: Các thao tác cho data store: – – – – Read Ri(x)b data store Write Wi(x)a Các thao tác tính chất tức thời: • Thời điểm phát ra: client gửi yêu cầu • Thời điểm thực hiện: thực yêu cầu • Thời điểm hoàn thành: client nhận kết trả lời Sự hợp tác (replica) Ví dụ: hai client truy nhập hai replica khác data store: Client A/ Replica1: W(x)1 thực thao tác gán giá trị x:= Client B/ Replica2: R(x) đọc giá trị phần tử liệu x, kết trả Read: thực thi chỗ Write: thực thi chỗ, sau phát tán sang khác Tính quán Một kho liệu tập hợp thiết bị lưu trữ bố trí cách phân tán máy khác Mỗi tiến trình truy nhập liệu kho kho đặt máy tính máy gần Các thao tác ghi phát tán tới khác Một mô hình quán hợp đồng kho liệu phân tán (distributed data store) tiến trình, mà kho liệu quy định xác kết thao tác đọc ghi có tương tranh xảy • • • Khi cập nhật, tất khác phải cập nhật theo Tùy theo thứ tự cách thức cập nhật → không quán Hai loại không quán: – Staleness - Ì trệ : • cập nhật chậm chễ so với – Thứ tự thực thi thao thác • Thứ tự khác khác Dữ liệu không phân tán: – Thứ tự thực thao tác client giữ nguyên – Tính gắn kết liệu tôn trọng Các thao tác đọc ghi xảy đồng thời dẫn đến xung đột Các thao tác xung đột – Đọc-ghi – Ghi-ghi Tính quán: – Thứ tự thực thi thao tác xung đột có ảnh hưởng đến tính quán – Thứ tự phận (partial order): thứ tự thao tác MỘT client – Thứ tự đầy đủ (total order): thứ tự chung cho tất thao tác xung đột Ví dụ thao tác xung đột thứ tự thực thi: Client A: x = 1; x = 0; Client B: print (x); print (x); Các kết thu B: , 11, 10, 00 Các môn hinh quán: • • Data-centric (lấy liệu làm trung tâm) – Một mô hình áp dụng cho toàn data-store – Mọi client thấy thao tác thứ tự kiểu Client-centric (lấy client làm trung tâm) – Mỗi client yêu cầu mô hình quán cụ thể – Các client khác thấy thao tác thứ tự khác • Các mô hình quán hướng liệu - data-centric consistency models: Một kho liệu tập hợp thiết bị lưu trữ bố trí cách phân tán máy khác Mỗi tiến trình truy nhập liệu kho kho đặt máy tính máy gần Các thao tác ghi phát tán tới khác Một mô hình quán hợp đồng kho liệu phân tán (distributed data store) tiến trình, mà kho liệu quy định xác kết thao tác đọc ghi có tương tranh xảy Strong ordering – theo thứ tự mạnh – Với client, thứ tự thực thao tác ghi • – Ví dụ: tất client thấy W(x)a W(x)b W(x)c Các mô hình Strict, Sequential, Causal, FIFO (PRAM) Weak ordering – thứ tự yếu – Sắp thứ tự nhóm thao tác ghi thay theo thao tác ghi – Các chuỗi ghi replica gộp thành nhóm – Chỉ phát tán kết nhóm thao tác ghi • – • Ví dụ {W(x)a W(x)b W(x)c} == {W(x)b W(x)a W(x)c} Các mô hình Weak, Release, Entry Nhất quán chuỗi - Sequential consistency: Kết chuỗi thực thi giống thể thao tác tất tiến trình thực theo thứ tự đó, thao tác tiến trình theo thứ tự quy định chương trình tương ứng Trong đó, Wi(x)a kí hiệu thao tác ghi giá trị a vào phần tử liệu x tiến trình Pi thực hiện, Ri(x)b kí hiệu thao tác đọc giá trị phần tử liệu x tiến trình Pi thực với kết trả b Giả thiết phần tử liệu có giá trị khởi đầu NIL Khi nhầm lẫn việc tiến trình truy nhập liệu, ta bỏ qua số ký W R Định nghĩa mô hình quán chuỗi có nghĩa tiến trình chạy song song máy khác nhau, chuỗi đan xen có hiệu lực thao tác đọc ghi chấp nhận được, tất tiến trình nhìn thấy chuỗi đan xen Theo định nghĩa này, thời gian vai trò quan trọng Xét tiến trình thao tác với phần tử liệu x Trong hình (a), tiến trình P1 thực thao tác W(x)a Sau (theo thời gian tuyệt đối), tiến trình P2 thực thao tác ghi b vào x Tuy nhiên, hai tiến trình P3 P4 đọc giá trị b trước, sau đọc giá trị a Nói cách khác, thao tác ghi P2 trông thực trước thao tác ghi P1 Ngược lại, hình (b) vi phạm mô hình quán chuỗi tất tiến trình nhìn thấy chuỗi đan xen thao tác ghi Cụ thể, tiến trình P3 phần tử liệu gán giá trị b trước sau nhận giá trị a, tiến trình P4 kết luận giá trị cuối b • Strict consistency: Thao tác read phần tử liệu x trả giá trị tương ứng với kết lần write gần x Thứ tự theo thời gian tuyệt đối tất lần truy nhập đến liệu dùng chung • Các mô hình quán hướng client - Client-centric consistency models: Đảm bảo thứ tự thao tác cho client – Client di chuyển truy nhập data-store replica khác (có sửa liệu) – Các client không dùng chung liệu – Các client khác thấy kiểu thứ tự khác cho thao tác Nói cách khác: – Kết thao tác tùy theo client thực – Kết phụ thuộc vào lịch sử thao tác mà client thực Các mô hình quán mô tả mục trước nhằm cung cấp view quán toàn hệ thống kho liệu Giả thuyết quan trọng tiến trình song song cập nhật kho liệu, cần đảm bảo tính quán tình trạng tương tranh Ví dụ, trường hợp tính quán object-based entry, kho liệu đảm bảo đối tượng gọi, tiến trình gọi cung cấp đối tượng với tất thay đổi thực trước (bởi tiến trình tiến trình khác) Trong mục này, ta xem xét lớp đặc biệt kho liệu phân tán - kho liệu cập nhật đồng thời có chúng phân giải dễ dàng, hầu hết thao tác đọc liệu Các kho liệu cung cấp mô hình quán yếu - eventual consistency Mục tiêu mô hình quán hướng client làm để tránh phải quán toàn hệ thống cách trọng vào nhu cầu client cụ thể thay vào việc server cần gìn giữ Mô hình quán hướng client đảm bảo với client tính quán truy nhập liệu cho client thực Nó không đảm bảo tính quán truy nhập tương tranh client khác thực Các mô hình hướng client dành cho user di động Ví dụ: xét sở liệu phân tán mà bạn truy nhập qua máy tính xách tay Giả sử máy tính xách tay bạn đóng vai trò hệ thống front-end CSDL Tại địa điểm A, bạn truy nhập CSDL để thực thao tác đọc cập nhật Tại địa điểm B, bạn tiếp tục công việc, bạn không truy nhập server mà bạn dùng địa điểm A bạn phát không quán như: • cập nhật mà bạn thực A chưa chuyển tiếp tới B • bạn đọc mục đọc A • cập nhật bạn B xung đột với cập nhật làm A Trong trường hợp này, điều mà bạn thực cần mục mà bạn đọc hay cập nhật A xuất B tình trạng giống hệt bạn thấy rời A Khi đó, CSDL quán bạn Các mô hình quán hướng client mô tả hệ thống kí hiệu sau: Xi[t] kí hiệu phiên phần tử liệu x liệu địa phương Li vào thời điểm t Phiên Xi[t] kết chuỗi thao tác ghi Li xảy kể từ khởi tạo Ta kí hiệu chuỗi thao tác WS(xi[t]) Nếu biết thao tác chuỗi WS(xi[t1]) thực địa phương Lj thời điểm t2 sau (nghĩa là phần WS(xj[t2])), ta viết WS(xi[t1] : xj[t2]) Nếu thứ tự thời gian rõ ràng, bỏ qua số thời gian Mô hình data-store cho client-centric consistency: Các phần tử liệu có chủ Không có xung đột write-write • Đọc đơn điệu - monotonic reads Một thao tác ghi lên phần tử liệu x hoàn thành trước tất thao tác ghi x client Một kho liệu xem cung cấp mô hình đọc-đơn điệu thỏa mãn điều kiện sau: Nếu tiến trình đọc giá trị phần tử liệu x, thao tác đọc sau tiến trình thực x luôn trả giá trị trùng với giá trị giá trị Nói cách khác, mô hình đọc đơn điệu đảm bảo tiến trình nhìn thấy giá trị x thời điểm t sau không nhìn thấy phiên cũ x Tất thao tác ghi client thành chuỗi • Ghi đơn điệu - monotonic writes Một thao tác ghi thao tác thực x hoàn thành trước thao tác ghi x tiến trình Nói cách khác, thao tác ghi phần tử liệu x thực cập nhật với tất thao tác ghi mà client thực trước (có thể thao tác xảy khác) Nếu cần, thao tác ghi phải đợi đến thao tác ghi cũ kết thúc • Read your writes: Hiệu ứng thao tác ghi tiến trình phần tử liệu x nhìn thấy thao tác đọc tiến trình x Mô hình Read Your Writes có quan hệ gần gũi với mô hình đọc đơn điệu Một kho liệu xem cung cấp tính quán Read your write điều kiện sau thỏa mãn: Hiệu ứng thao tác ghi tiến trình phần tử liệu x nhìn thấy thao tác đọc tiến trình x Minh họa kho liệu cung cấp tính quán read-your-writes Trong đó, tiến trình P thực thao tác ghi W(x1) sau thao tác đọc địa phương khác read-your-writes đảm bảo hiệu ứng thao tác ghi nhìn thấy thao tác đọc sau Nó thể WS(x1 : x2), nghĩa W(x1) phần WS(x2) Còn hình bên cạnh, W(x1) WS(x2), nghĩa hiệu ứng thao tác ghi trước tiến trình P chưa chuyển tới L2 • Writes follow Reads Cuối mô hình Một thao tác ghi tiến trình P phần tử liệu x thao tác đọc x tiến trình đảm bảo thực giá trị đọc giá x Mô hình đảm bảo người dùng dịch vụ newgroup nhìn thấy trả lời cho viết sau nhìn thấy viết đầu Một thao tác ghi x thực x với giá trị cập nhật theo lần đọc gần client • • Các giao thức quán Giao thức quán: cài đặt mô hình quán Primary-based protocols – giao thức ghi liệu – Remote-write protocols –ghi từ xa – Local-write protocols – ghi chỗ Replicated-Write protocols – giao thức ghi – Active replication – chủ động chép – Quorum-Based protocols – bỏ phiếu Remote-Write Protocols Tất lệnh ghi thực server Các cập nhật bị block thực tất • Local-Write Protocols • Active replication : mở rộng hoạt động Các cập nhật (ghi) gửi cho toàn replica Cần multicast thứ tự đầy đủ Hoặc sequencer/coordinator gắn số thứ tự chuỗi • • Phát tán cập nhật Dữ liệu – Tốn băng thông, – có lợi liệu cập nhật nhỏ cập nhật b Thao tác cập nhật – Các replica tự thực thao tác – tốn băng thông c Thông báo liệu replica khác cũ – Có lợi liệu lớn thường xuyên cập nhật Pull & push Pull (client-based): Các cập nhật lan truyền yêu cầu Thích hợp: Ghi nhiều đọc Có thể có polling delay (replica phải kiểm tra xem đâu phiên trước thực thao tác đọc) Push (server-based): Các cập nhật lan truyền Thích hợp: Ghi đọc nhiều; yêu cầu cao mức độ tươi liệu đọc Nơi ghi phải biết tất replica → tính mở rộng Sắp đặt replica • Replica cố định: – Tập replica khởi đầu – Do chủ data-store tạo bảo trì – Cho phép ghi Replica server (server-initiated replica) – Tăng hiệu – Không chủ data-store bảo trì – Đặt gần nhóm client – Thiết kế tay tự động dựa theo thông số lượng liệu, người sử dụng, tỷ lệ đọc/ghi Replica client (client-initiated replica) – Cache client – Có tính chất tạm thời – Chủ data-store replica Đặt gần client Hệ thống replica permanent replicas : thường xuyên Server -initiated replicas : server bắt đầu Client - initiated replicas :Client bắt đầu Server -initiated replication : server bắt đầu mô client -initiated replication : client bắt đầu mô Replica cố định: Tập replica khởi đầu Do chủ data-store tạo bảo trì Cho phép ghi  Replica server (server-initiated replica) Tăng hiệu Không chủ data-store bảo trì Đặt gần nhóm client Thiết kế tay tự động dựa theo thông số lượng liệu, người sử dụng, tỷ lệ đọc/ghi  Replica client (client-initiated replica) Cache client Có tính chất tạm thời Chủ data-store replica Đặt gần client  – – – – – – – – – – – [...]...Mục tiêu của các mô hình nhất quán hướng client là làm thế nào để tránh phải nhất quán trên toàn hệ thống bằng cách chú trọng vào nhu cầu của các client cụ thể thay vì vào việc server cần gìn giữ cái gì Mô hình nhất quán hướng client đảm bảo với mỗi client tính nhất quán của các truy nhập dữ liệu cho chính client đó thực hiện Nó không đảm bảo tính nhất quán của các truy nhập tương tranh do... hình này đảm bảo người dùng của một dịch vụ newgroup chỉ nhìn thấy bài trả lời cho một bài viết sau khi nhìn thấy chính bài viết đầu Một thao tác ghi đối với x được thực hiện trên một bản sao của x với giá trị đã được cập nhật theo lần đọc gần nhất của cùng client • • Các giao thức nhất quán Giao thức nhất quán: cài đặt một mô hình nhất quán Primary-based protocols – các giao thức ghi tại bản chính của... A Trong trường hợp này, điều duy nhất mà bạn thực sự cần là những mục mà bạn đã đọc hay cập nhật tại A cũng xuất hiện tại B ở tình trạng giống hệt như bạn đã thấy khi rời A Khi đó, CSDL sẽ có vẻ nhất quán đối với bạn Các mô hình nhất quán hướng client được mô tả bằng hệ thống kí hiệu sau: Xi[t] kí hiệu phiên bản của phần tử dữ liệu x tại bản sao dữ liệu địa phương Li vào thời điểm t Phiên bản Xi[t]... cơ sở dữ liệu phân tán mà bạn có thể truy nhập qua máy tính xách tay Giả sử máy tính xách tay của bạn đóng vai trò của một hệ thống front-end đối với CSDL Tại địa điểm A, bạn truy nhập CSDL để thực hiện các thao tác đọc và cập nhật Tại địa điểm B, bạn tiếp tục công việc, nhưng nếu bạn không truy nhập chính server mà bạn đã dùng khi ở địa điểm A thì bạn có thể phát hiện sự không nhất quán như: • các... hình Read Your Writes có quan hệ gần gũi với mô hình đọc đơn điệu Một kho dữ liệu được xem là cung cấp tính nhất quán Read your write nếu các điều kiện sau được thỏa mãn: Hiệu ứng của một thao tác ghi của một tiến trình đối với phần tử dữ liệu x sẽ luôn được nhìn thấy bởi thao tác đọc tiếp theo của chính tiến trình đó đối với x Minh họa một kho dữ liệu cung cấp tính nhất quán read-your-writes Trong đó,... Cache ở client – Có tính chất tạm thời – Chủ data-store không biết về các replica này Đặt gần client Hệ thống replica permanent replicas : bản sao thường xuyên Server -initiated replicas : server bắt đầu bản sao Client - initiated replicas :Client bắt đầu sao Server -initiated replication : server bắt đầu mô phỏng client -initiated replication : client bắt đầu mô phỏng Replica cố định: Tập các replica... tự đầy đủ Hoặc sequencer/coordinator gắn số thứ tự trong chuỗi 3 • • Phát tán cập nhật Dữ liệu – Tốn băng thông, – có lợi khi dữ liệu được cập nhật nhỏ và ít khi cập nhật b Thao tác cập nhật – Các replica tự thực hiện thao tác – tốn ít băng thông c Thông báo rằng bản dữ liệu của các replica khác đã cũ – Có lợi khi dữ liệu lớn và được thường xuyên cập nhật Pull & push Pull (client-based): Các cập nhật... phải kiểm tra xem đâu là phiên bản mới nhất trước khi thực hiện thao tác đọc) Push (server-based): Các cập nhật được lan truyền ngay Thích hợp: Ghi ít đọc nhiều; yêu cầu cao về mức độ tươi mới của dữ liệu đọc Nơi ghi phải biết về tất cả các replica → tính mở rộng được 4 Sắp đặt các replica • Replica cố định: – Tập các replica khởi đầu – Do chủ của data-store tạo và bảo trì – Cho phép ghi Replica server... Local-write protocols – ghi tại chỗ Replicated-Write protocols – các giao thức ghi tại bản sao – Active replication – chủ động sao chép – Quorum-Based protocols – bỏ phiếu Remote-Write Protocols Tất cả các lệnh ghi được thực hiện tại duy nhất 1 server Các cập nhật bị block cho đến khi đã được thực hiện tại tất cả các bản sao • Local-Write Protocols • Active replication : mở rộng hoạt động Các cập nhật (ghi)... thao tác ghi bất kì tiếp theo đối với x của chính tiến trình đó Nói cách khác, một thao tác ghi trên một bản sao của phần tử dữ liệu x chỉ được thực hiện khi bản sao đó đã được cập nhật với tất cả các thao tác ghi mà client đó đã thực hiện trước đó (có thể các thao tác đó đã xảy ra tại các bản sao khác) Nếu cần, thao tác ghi mới phải đợi đến khi các thao tác ghi cũ hơn kết thúc • Read your writes: Hiệu

Ngày đăng: 13/05/2016, 21:00

Từ khóa liên quan

Mục lục

  • Các mô hình nhất quán hướng dữ liệu - data-centric consistency models:

    • Nhất quán chuỗi - Sequential consistency:

  • Các mô hình nhất quán hướng client - Client-centric consistency models:

    • Đọc đơn điệu - monotonic reads

    • Writes follow Reads

  • Các giao thức nhất quán

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan