Bằng chứng chính xác của Paxos cổ điển và Paxos nhanh


13

Tôi đang đọc bài báo "Fast Paxos" của Leslie Lamport và bị mắc kẹt với các bằng chứng chính xác của cả Paxos cổ điển và Paxos nhanh.

Để thống nhất, giá trị v được chọn bởi điều phối viên trong giai đoạn2một ở vòng sẽ thỏa mãnTôi

CP(v,Tôi): Đối với bất kỳ vòng , không có giá trị nào ngoài đã hoặc có thể được chọn trong vòngj<Tôivj .


Đối với Paxos cổ điển , bằng chứng (Trang 8) được chia thành ba trường hợp: , và , trong đók<j<Tôij= =kj<kk là số tròn lớn nhất trong đó một số người chấp nhận đã báo cáo cho điều phối viên theo thông điệp pha . Tôi không hiểu lý lẽ cho trường hợp thứ ba:1b

Trường hợp . Chúng ta có thể giả sử bằng cách cảm ứng rằng tài sản được tổ chức khi người chấp nhận bỏ phiếu cho ở vòng . Điều này ngụ ý rằng không có giá trị nào ngoài đã hoặc có thể được chọn trong vòng .j<ka 0 v k v jCPmột0vkvj

Câu hỏi của tôi là:

  1. Tại sao chúng ta có thể giả sử rằng tài sản được tổ chức khi người chấp nhận bỏ phiếu cho v ở vòng k ?CPmột0vk

Dường như chúng ta đang sử dụng quy nạp toán học, do đó, cơ sở, giả thuyết quy nạp và các bước quy nạp là gì?


Đối với Paxos nhanh , cùng một lập luận (Trang 18). Nó nói rằng,

Trường hợp j<k . Đối với bất kỳ v trong V , không có giá trị nào khác ngoàiv đã hoặc có thể được chọn trong vòngj .

Câu hỏi của tôi là:

  1. Làm thế nào điều này có được? Cụ thể, tại sao là "Đối với bất kỳ v in V " ở đây?

Theo tôi, bằng chứng chính xác của trường hợp j<k dựa (đệ quy) vào những trường hợp k<j<Tôij= =k .

Do đó, làm thế nào chúng ta có thể kết luận trường hợp mà không chứng minh hoàn toàn j = k (cụ thể là thiếu chữ con của j = k trong đó V chứa nhiều hơn một giá trị)?j<kj= =kj= =kV

Câu trả lời:


10

Tại sao chúng ta có thể giả sử rằng CP tài sản được tổ chức khi người chấp nhận a0 bỏ phiếu cho v ở vòng k? Dường như chúng ta đang sử dụng quy nạp toán học, do đó, cơ sở, giả thuyết quy nạp và các bước quy nạp là gì?

Bạn đang nhìn vào một ví dụ của cảm ứng mạnh mẽ . Trong cảm ứng đơn giản, bạn giả sử thuộc tính giữ cho và chứng minh rằng nó giữ cho n = m + 1 . Trong cảm ứng mạnh, bạn giả sử thuộc tính giữ cho n : n < m và chứng minh rằng nó giữ cho n = m + 1 .n= =mn= =m+1n:n<mn= =m+1

Cơ sở (tôi tin): j= =0 . Đó là, vòng null (vì các vòng bắt đầu từ 1). Điều này là tầm thường, có lẽ là lý do tại sao nó không được nêu rõ ràng.

Bước quy nạp : Giả sử ; chứng minh C P ( v ; j + 1 ) trong đó j < i .n,nj:CP(v;n)CP(v;j+1)j<Tôi

Tin hay không, đây chỉ là một bản phác thảo bằng chứng . Bằng chứng thực sự là trong bài báo của Nghị viện bán thời gian . (Một số người coi giấy khó hiểu, những người khác coi đó là hài hước.)


Làm thế nào điều này có được?

Theo tôi, bằng chứng chính xác của trường hợp dựa (đệ quy) vào những trường hợp k < j < ij = k .j<kk<j<Tôij= =k

Do đó, làm thế nào chúng ta có thể kết luận trường hợp mà không chứng minh hoàn toàn j = k (cụ thể là thiếu chữ con của j = k trong đó V chứa nhiều hơn một giá trị)?j<kj= =kj= =kV

Đây lại là cảm ứng mạnh, vì vậy trường hợp không dựa vào các trường hợp k < jj = k , nhưng thông qua giả thuyết cảm ứngj<kk<jj= =k , cụ thể là từ vòng Paxos trước đó.


Lời khuyên chung cho bằng chứng của Lamport.

Lamport sử dụng một kỹ thuật chứng minh phân cấp. Ví dụ, cấu trúc của bằng chứng trên các trang 7-8 trông giống như thế này:

  • Giả sử ; chứng minh C P ( v ; j + 1 ) trong đó j < i . n,nj:CP(v;n)CP(v;j+1)j<Tôi
    1. Quan sát 1
    2. Quan sát 2
    3. Quan sát 3
    4. k= =mộtrgmmộtx(...)
    5. trường hợp k = 0
    6. trường hợp k> 0
      • trường hợp k <j
      • trường hợp k = j
      • trường hợp j <k

Lamport có xu hướng sử dụng một loại phân cấp khác. Anh ta sẽ chứng minh một thuật toán đơn giản hơn, và sau đó chứng minh rằng một thuật toán phức tạp hơn ánh xạ vào (hoặc "mở rộng" ) thuật toán đơn giản hơn. Điều này dường như không xảy ra ở trang 18, nhưng nó là một điều cần chú ý. (Bằng chứng ở trang 18 dường như là một sửa đổi của bằng chứng một trang 7-8; không phải là phần mở rộng của nó.)

Lamport phụ thuộc rất nhiều vào cảm ứng mạnh mẽ ; anh ấy cũng có xu hướng suy nghĩ về các bộ thay vì số. Vì vậy, bạn có thể nhận được các tập hợp trống trong đó những người khác sẽ có số không hoặc null; hoặc thành lập công đoàn nơi những người khác sẽ có thêm.

Chứng minh tính đúng đắn của các hệ thống truyền tin nhắn không đồng bộ cần một cái nhìn toàn diện về hệ thống đối với thời gian . Ví dụ: khi xem xét các hành động trong vòng , hãy nhớ rằng các hành động cho một số vòng j < i có thể không xảy ra theo thời gian!Tôij<Tôi . Tuy nhiên, Lamport tuyên bố những sự kiện tiềm năng trong tương lai ở thì quá khứ.

Các hệ thống và bằng chứng của Lamports có xu hướng có một biến hoặc tập hợp các biến chỉ được phép đi theo một hướng; chỉ tăng số và chỉ thêm vào bộ. Điều này được sử dụng rộng rãi trong các bằng chứng của mình. Ví dụ, trên trang 8 Lamport cho thấy cách anh ta tạo ra khả năng trong tương lai của để bỏ phiếu khác:một

... Vì nó set để i khi gửi một tin nhắn, một không thể sau đó đã tham gia bình chọn trong bất kỳ vòng đánh số ít hơn tôi ....rnd[một]TôimộtTôi

Nó chắc chắn là một bộ não để chứng minh các loại hệ thống.

(cập nhật) : Liệt kê các bất biến; Lamport sử dụng rất nhiều bất biến khi phát triển và bằng chứng của mình. Chúng đôi khi nằm rải rác trong các bằng chứng; đôi khi chúng chỉ có mặt trong bằng chứng kiểm tra máy. Lý do về mỗi bất biến; tại sao nó ở đó Làm thế nào để nó tương tác với các bất biến khác? Làm thế nào để mỗi bước trong hệ thống giữ bất biến này?


Tiết lộ đầy đủ : Tôi đã không đọc Fast Paxos cho đến khi tôi được yêu cầu trả lời câu hỏi này; và chỉ nhìn vào các trang được trích dẫn. Tôi là một kỹ sư và không phải là một nhà toán học; bàn chải của tôi với công việc của Lamport hoàn toàn dựa trên nhu cầu phát minh và duy trì chính xác các hệ thống phân tán quy mô lớn.

Câu trả lời của tôi phụ thuộc rất nhiều vào kinh nghiệm của tôi với công việc của Lamport. Tôi đã đọc một số giao thức và bằng chứng của Lamport; Tôi chuyên nghiệp duy trì một hệ thống dựa trên paxos; Tôi đã viết và chứng minh một giao thức đồng thuận thông lượng cao, và một lần nữa chuyên nghiệp duy trì một hệ thống dựa trên nó (Tôi đang cố gắng để công ty của tôi cho phép tôi xuất bản một bài báo). Tôi đã cộng tác trên một bài báo không đáng kể với Lamport, trong đó tôi đã gặp anh ấy ba lần (bài báo vẫn đang chờ đánh giá ngang hàng.)


Cảm ơn thời gian của bạn, câu trả lời và nhận xét tuyệt vời về bằng chứng của Lamport! Đối với Paxos: Bây giờ, tôi có thể nắm bắt được ý tưởng cơ bản về bằng chứng của Lamport. Tuy nhiên, dòng thời gian trong tâm trí tôi quay trở lại : Chúng ta đang ở vòng và có k = m a x ( ) . Để chứng minh C P ( v , i ) , chúng tôi kiểm tra các trường hợp k < j < ij = k , và chứng minh đệ quy C P ( v , k )Tôik= =mmộtx()CP(v,i)k<j<ij=kCP(v,k). Cụ thể, liên quan đến việc khác k ' = m một x ( ) , trường hợp của k ' < j ' < kk ' = k ' , và C P ( v , k ' ) . Đệ quy này chấm dứt tại k n ' = 0 . Theo cách này, đệ quy là trên kCP(v,k)k=max()k<j<kj=kCP(v,k)kn=0kS. Tôi gặp khó khăn trong việc chuyển nó thành cảm ứng mạnh mẽ với thời gian trôi về phía trước .
hengxin

1
@hengxin Khi suy luận về hệ thống / bằng chứng của tôi; Tôi nghĩ về nó như thời gian sắp tới. Tôi sẽ bắt đầu với và đảm bảo tất cả các bất biến đều được đáp ứng; Sau đó tôi sẽ đi với i = 1 và đảm bảo tất cả các bất biến được đáp ứng; và như thế. Điều đó nhắc nhở tôi để thêm một số con trỏ Lamport. i=0i=1
Michael Deardeuff

Đối với Paxos nhanh ( ), giả thuyết quy nạp có phải là " v V , C P ( v , i ) " (xem trường hợp j < k trong P 18 ) không? Tuy nhiên, ở dưới cùng của P 17 , nó nói Chúng ta phải tìm giá trị v trong V thỏa mãn C P ( v , i ) . Vì vậy, đó có phải là giả thuyết quy nạp quá mạnh? P18vV,CP(v,i)j<kP18P17vVCP(v,i)
hengxin

Cuối cùng, tôi nhận ra điều bất biến là gì và cảm ứng mạnh hoạt động như thế nào. Cảm ơn một lần nữa. Lamport tends to use another type of hierarchy. He'll prove a simpler algorithm, and then prove that a more complex algorithm maps onto (or "extends") the simpler algorithmDo đó, BTW, bạn đã đề cập rằng , do đó, bạn có thể vui lòng đưa ra một ví dụ hoặc trích dẫn một bài báo liên quan không? Ngoài ra, các giấy tờ của bạn đã được in sẵn, (thương mại) phiên bản chưa được phân loại?
hengxin

1
Lamport giải thích loại phân cấp đầu tiên trong bài viết của mình Cách viết một bằng chứng và đưa ra một ví dụ về thứ hai trong Byzantizing Paxos bằng cách sàng lọc . Loại phân cấp thứ hai thường được gọi là sàng lọc hoặc ánh xạ .
Michael Deardeuff
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.