Paksos made simple

TL;DR:

Paksos er en protokol, der løser problemet med at få en gruppe noder til at blive enige eller nå til enighed om en enkelt værdi.

sammendrag:

i dette papir introducerer forfatteren en fejltolerant algoritme, der bruges til at nå til enighed blandt en samling computere i asynkron og ikke-Bysantinsk model.

problemet med konsensus er at få en samling computere til at bestemme en ting, som om de var en computer. Den største forskel mellem konsensus og andre aftaleproblemer er, at konsensusprotokoller skal være fejltolerante, hvilket betyder, at der ikke er noget enkelt punkt for fiasko. I modsætning hertil i protokoller som to-fase commit, hvis koordinatoren skulle gå ned, kan hele systemet muligvis ikke gøre nogen fremskridt. Hvis der er en stabil leder, bliver konsensus triviel, fordi lederen kan etablere en samlet ordre over alle operationer selv og få andre noder til at følge den. Lederens fiasko vil dog forhindre systemet i at gøre fremskridt. Desuden, hvis leder valg algoritme mislykkes(som sandsynligvis vil ske i tilfælde af netværk partition), der kan eksistere flere ledere og overtræder aftale ejendom.

papiret definerer tre klasser af agenter:

1.Forslagsstillere (noder, der foreslår værdi) 2.Acceptorer (husk de foreslåede værdier) 3.Elever (opdag de valgte værdier).

derefter beskriver den følgende mislykkede forsøg på at løse konsensus:

1.Enkelt acceptor agent (fungere som leder). Utilfredsstillende på grund af det eneste fejlpunkt. 2.Flere acceptor agenter. – acceptorer accepterer den første værdi, de modtager-en værdi vælges, hvis den accepteres af et flertal acceptorer utilfredsstillende, fordi vi let kan konstruere tilfælde, hvor ingen værdi accepteres af et flertal af accepterer, overtræder opsigelse. 3. Accepter mere end en værdi utilfredsstillende, fordi meddelelsen kan leveres ude af drift og overtræde aftalen.

taksos algoritme:

Forbered fase:

for forslagsstiller vælger det et nyt forslagsnummer n og sender en forberedelsesanmodning(inkluderer n) til acceptorer. For acceptor sammenligner den n med det accepterede forslag med det højeste antal. Hvis n er større, sender acceptoren et løfte om at følge denne forslagsstiller og det højest nummererede forslag(og værdien forbundet med forslaget), det har accepteret, hvis nogen.

Accepter fase:

når forslagsstilleren modtager svar fra et flertal af acceptorer, sender forslagsstilleren en accept-anmodning til alle acceptorer. Acceptmeddelelsen indeholder forslagsnummeret og en værdi(værdien af det højeste nummererede forslag eller en hvilken som helst værdi, hvis alle acceptorer ikke svarer) når en acceptor modtager en acceptanmodning, accepterer den anmodningen, hvis forslagsnummeret er større end eller lig med det højeste nummererede forslag, det har accepteret. Endelig, hvis en accept anmodning accepteres af et flertal af acceptorer. Forslaget er valgt (eller besluttet).

Note: 1.Acceptoren skal huske det højest nummererede forslag, den har accepteret, hvis nogen, selvom det mislykkes og gendannes. Forslagsstilleren kan glemme sine forslag, så længe den aldrig forsøger at udstede et andet forslag med det samme forslag nummer 2.Forslagsnummeret skal være globalt unikt og monotont stigende 3.”Dueling forslagsstillere problem”.

når to forslagsstillere ønsker at foreslå samtidigt, kan de forsøge at blokere hinanden ved at udstede forslag med et tal, der er større end det foregående forslag. Denne situation kan fortsætte for evigt og overtræder opsigelse. Mulige løsninger omfatter leder valg og tilfældig backoff.

spørgsmål:

1. Hvad er ledervalgsalgoritmen i Afsnit 3?

2.Papiret præsenterer flere optimeringer, men det forklarer ikke, hvorfor og hvordan disse arbejder vil forbedre præstationen af Paros

3.As jeg læste papiret, jeg følte, at det kunne være for svært eller dyrt at gennemføre uden andre optimeringer

4.Antagelsen om, at meddelelserne ikke kan ødelægges, virker for stærk

5.Papiret virker noget ufuldstændigt. 1.it adresserer ikke om duelleringsforslagsstillernes problem beskrevet ovenfor såvel som løsningen. 2. Hvordan vælger du forslagsnummeret for at gøre det globalt unikt og monotont stigende? 3.Hvad med membership management?

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.