클래식 Paxos 및 Fast Paxos의 정확성 증명


13

Leslie Lamport 의 "Fast Paxos"논문 을 읽고 클래식 Paxos와 Fast Paxos의 정확성 증명을 고수합니다.

일관성을 위해, 값 위상 코디네이터 고른 2 라운드 나는 만족해야v2ai

임의의 라운드 J < , 이외의 값 (V)을 하거나 또 라운드에서 선택되지 않을 수있다 J .CP(v,i):j<ivj


고전 Paxos 들어 , 증명 (8 페이지)는 세 가지 경우로 분할된다 : , J = K , 및 J < K , K는 일부 셉터 상으로 코디네이터보고가있는 큰 원형 번호 1 B는 메시지. 세 번째 경우에 대한 주장을 이해하지 못했습니다.k<j<ij=kj<kk1b

사례 . 우리가 할 수 유도에 의해 가정 속성 것을 C P는 수용체 때 유지 0 투표 V 라운드 K . 이것은 v 이외의 값이 라운드 j 에서 선택되었거나 아직 선택되지 않았 음을 의미합니다 .j<kCPa0vkvj

내 질문은 :

  1. 왜 우리는 해당 속성 가정 할 수 있습니다 수용체 때 열린 0 투표 V 라운드에서 K ?CPa0vk

우리는 수학적 유도를 사용하는 것 같습니다. 그러므로 기초, 귀납 가설 및 귀납적 단계는 무엇입니까?


Fast Paxos 의 경우 동일한 인수 (18 페이지)가 계속됩니다. 그것은 말합니다

사례 . 임의의 경우 V 에서 V 이외의 값 (V)을 하거나 또 라운드에서 선택되지 않을 수있다 J .j<kvVvj

내 질문은 :

  1. 이것은 어떻게 얻습니까? 특히, 왜 "어떤을위한 에서 V 여기에?"vV

내 의견으로는, 케이스 의 정확성 증명 은 k < j < ij = k 의 경우에 (재귀 적으로) 의존합니다 . j<kk<j<ij=k

따라서, 어떻게 케이스 결론 지을 수 제 실증없이 J를 = k는 (subcase의 누락, 즉 완전히 J를 = K V가 더 이상 하나 개의 값 포함)?j<kj=kj=kV

답변:


10

수락 자 a0이 라운드 k에서 v에 투표했을 때 재산 CP가 유지되었다고 가정 할 수있는 이유는 무엇입니까? 우리는 수학적 유도를 사용하는 것 같습니다. 그러므로 기초, 귀납 가설 및 귀납적 단계는 무엇입니까?

강력한 유도 사례를보고 있습니다. 간단한 유도에서는 속성이 유지한다고 가정 하고 n = m + 1을 유지한다는 것을 증명합니다 . 강력한 유도에서는 속성이 n : n < m 동안 유지되고 n = m + 1 동안 유지되는 것으로 가정합니다 .n=mn=m+1n:n<mn=m+1

근거 (나는 믿는다) : . 즉, 라운드는 1부터 시작하므로 널 라운드입니다. 이것은 사소한 사실이므로 아마도 명시 적으로 언급되지 않은 이유 일 것입니다.j=0

유도 단계 : 가정 ; 증명 C P ( V를 , J + 1 ) 여기서, J < I .n,nj:CP(v;n)CP(v;j+1)j<i

믿거 나 말거나, 이것은 단지 스케치 일뿐 입니다. 실제 증거는 파트 타임 의회 보고서에 있습니다. (어떤 사람들은 종이를 비밀스러운 것으로 생각하고 다른 사람들은 그것을 유머라고 생각합니다.)


이것은 어떻게 얻습니까?

내 의견으로는, 케이스 의 정확성 증명 은 k < j < ij = k 의 경우에 (재귀 적으로) 의존합니다 .j<kk<j<ij=k

따라서, 어떻게 케이스 결론 지을 수 제 실증없이 J를 = k는 (subcase의 누락, 즉 완전히 J를 = K V가 더 이상 하나 개의 값 포함)?j<kj=kj=kV

이것은 다시 강한 유도이므로, k < jj = k 의 경우에 의존 하지만 유도 가설을 통해 , 즉 이전 Paxos 라운드에서 온다.j<kk<jj=k


Lamport의 증거에 대한 일반적인 팁.

Lamport는 계층 적 증명 기술을 사용합니다. 예를 들어, 7-8 페이지의 증명 구조는 다음과 같습니다.

  • 가정 ; 증명 C P ( V를 , J + 1 ) 여기서, J < I . n,nj:CP(v;n)CP(v;j+1)j<i
    1. 관찰 1
    2. 관찰 2
    3. 관찰 3
    4. k=argmax(...)
    5. 케이스 k = 0
    6. 케이스 k> 0
      • 케이스 k <j
      • 케이스 k = j
      • 사례 j <k

Lamport는 다른 유형의 계층을 사용하는 경향이 있습니다. 그는 더 간단한 알고리즘을 증명 한 다음 더 복잡한 알고리즘이 더 간단한 알고리즘에 매핑 (또는 "확장" ) 한다는 것을 증명할 것입니다 . 이것은 18 페이지에서 일어나지 않는 것 같지만주의해야합니다. (18 페이지 의 증거는 7-8 페이지의 증거를 수정 한 것으로 보이며 연장 은 아닙니다.)

Lamport는 강력한 유도 에 크게 의존합니다 . 그는 또한 숫자 대신 세트 로 생각하는 경향이 있습니다. 따라서 다른 사람들이 0 또는 null을 갖는 빈 세트를 얻을 수 있습니다. 또는 다른 사람들이 추가 할 수있는 조합을 설정하십시오.

ij<i

a

rnd[a]iai

이러한 종류의 시스템을 입증하는 것은 분명히 뇌 스트레칭입니다.

(업데이트) : 불변량을 나열합니다. Lamport는 개발할 때 많은 변형을 사용하고 그의 증거를 사용합니다. 그들은 때로는 증거 전체에 흩어져 있습니다. 때로는 기계 검사 증명에만 나타납니다. 각 불변에 대한 이유; 왜 거기에 있습니까? 다른 불변량과 어떻게 상호 작용합니까? 시스템의 각 단계는 어떻게이 불변성을 유지합니까?


전체 공개 : 나는 이 질문에 대답 할 때까지 Fast Paxos를 읽지 않았습니다 . 인용 된 페이지 만 보았습니다. 저는 수학자가 아닌 엔지니어입니다. Lamport의 작업에 대한 나의 솔은 순전히 대규모 분산 시스템을 올바르게 발명하고 유지해야 할 필요성에 기초합니다.

내 대답은 Lamport의 작업 경험에 크게 의존합니다. 나는 Lamport의 프로토콜과 증거를 읽었습니다. 저는 전문적으로 paxos 기반 시스템을 유지합니다. 처리량이 많은 컨센서스 프로토콜을 작성하고 입증했으며,이를 기반으로 시스템을 전문적으로 유지 관리합니다 (저는 회사에서 논문을 게시 할 수 있도록 노력하고 있습니다). 내가 내가 그를 세 번 만났다있는 램 포트와 하찮은 종이에 공동 (용지가 여전히 피어 리뷰 보류 중입니다.)


ik=max()CP(v,i)k<j<ij=kCP(v,k)CP(v,k)k=max()k<j<kj=kCP(v,k)kn=0k에스. 나는 시간이 흐르는 강력한 유도로 번역에 어려움이 앞으로 .
hengxin

1
i=0i=1

P18vV,CP(v,i)j<kP18P17vVCP(v,i)

마지막으로, 나는 불변이 무엇이며 강한 유도가 어떻게 작동하는지 깨달았습니다. 다시 감사합니다. BTW, 당신은 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 algorithm그러므로, 당신은 예를 보여 주거나 관련 논문을 인용 할 수 있다고 언급 했습니까? 또한, 귀하의 논문은 분류되지 않은 판을 사전 인쇄되어 있습니까?
hengxin

1
Lamport는 그의 논문 에서 증명을 작성하는 방법 의 첫 번째 유형의 계층 구조를 설명하고 정제 하여 Byzantizing Paxos 의 두 번째 예를 제공합니다 . 두 번째 유형의 계층 구조는 일반적으로 구체화 또는 매핑 이라고합니다 .
Michael Deardeuff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.