1 / 12

Paxos Made Simple

Computer Science Department. Polytechnic University of Bucharest. Automatic Control and Computers Faculty. Paxos Made Simple. Autor : Pu ş ca ş Radu George. Leslie Lamport - 01 Nov 2001. Cuprins. Problema abordată Alegerea valorii Algoritm Învăţarea valorii Asigurarea progresului

cher
Download Presentation

Paxos Made Simple

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science Department Polytechnic University of Bucharest Automatic Control and Computers Faculty Paxos Made Simple Autor: PuşcaşRadu George • Leslie Lamport - 01 Nov 2001

  2. Cuprins • Problema abordată • Alegerea valorii • Algoritm • Învăţarea valorii • Asigurarea progresului • Utilizarea Metode și Algoritmi de Planificare

  3. Problemaabordată • O colecţie de procesetrebuiesaaleagă o valoare • Doar o valoareapropusăpoatefialeasă • Doar o singurăvaloarepoatefialeasă • Un proces nu poateînvăţa o valoareadacăaceasta nu a fostaleasă • Treiroluri pentru procese: • Proposer • Acceptor • Learner Metode și Algoritmi de Planificare

  4. Alegerea valorii I • Un singur acceptor • Se alege prima valoarepropusă • În caz căpicăacceptorul, sistemul pică şi el • Mai mulţiacceptori • Propunerea e trimisă către un set de acceptori • Un set de acceptori = majoritate • Oricaredouămajorităti au un acceptor în comun • Trebuiealeasă o valoarechiardacă a fostpropusădoaruna Metode și Algoritmi de Planificare

  5. Alegerea valorii II • Un acceptor trebuiesaaccepte prima valoareprimită • Probleme: • Se propunmaimultevalorisimultan • Fiecare acceptor acceptă o valoare, darmajoritatea nu poatealegeunanimuna • Un acceptor poateacceptamaimultevalori • Valorilorpropuse le suntasociatenumerenaturale • Propunere = (valoare, număr) Metode și Algoritmi de Planificare

  6. Alegerea valorii III • Dacă o propunere cu valoarea v estealeasă, atuncioricepropunere cu un număr mai mare care estealeasă are valoarea v • Pentru a fialeasă, o valoaretrebuie să fie acceptată de minim un acceptor • Dacă o propunere cu valoarea v estealeasă, atuncioricepropunere cu un număr mai mare care esteaceptată are valoarea v • Se poatepropune o valoareadiferită cu un număr mai mare • Daca o propunere (v,n) estealeasa, oricepropunere (v’, n’), n’ > n vaavea v’ = v Metode și Algoritmi de Planificare

  7. Alegerea valorii IV • Pentruorice v şi n, dacă o propunere cu valoarea v si numărul n estepropusă, atunci există un set S de majorităţi care: • Fie niciun acceptor nu acceptă o propunere cu numărulmaimicdecat n • Fie v estevaloarea cu numărulcelmai mare propusă din toatepropunerilemaimicidecât n acceptată de acceptorii din S • Proceseletrebuie săstie de celmai mare n • Nu se pot prezicenumereleceurmează a fiasociatealtorpropuneri • Porcesele care propunceracceptorilor să nu acceptepropuneri cu n maimicdecât celpropus de ele Metode și Algoritmi de Planificare

  8. Algoritm • Faza 1: • Un procesalege un număr n şitrimite un ‘prepare request’ ce conţineacel n către o majoritate de acceptori • Dacă un acceptor primeşte un ‘prepare request’ cu un n mai mare decatorice alt ‘prepare request’ la care a răspunsdeja, garanteazăprocesului care a generatcererea că nu vamaiprimipropuneri cu un număr maimicdecatceltrimis de el • Faza 2: • Dacă un procesor primeşte un raspuns la propunerealui de la o majoritate de acceptori, trimite un ‘accept request’ ce conţinevaloareapropusa v şi numărul anterior, n • Dacă un acceptor primeşte un ‘accept request’, acceptăpropunereadoardacă nu a mai răspunsunui ‘prepare request’ având un n mai mare Metode și Algoritmi de Planificare

  9. Învăţarea valorii • Proceseletrebuie săafledacă o valoare a fostaleasă • Distribuire de la un acceptor la toateproceseleîn starea learn • Alegereaunui ‘distinguish learner’ • ‘distinguish learner’ se ocupă cu broadcast-ulvaloriialese • Alegereaunui set de ‘distinguish learners ’ • Fiecare procesor din set face broadcast cu valoareaaleasă • Procesele pot întrebaacceptoriidespreavaloareaaleasă Metode și Algoritmi de Planificare

  10. Asigurarea progresului • DouăprocesePşiQîncepsapropunănumere • P , n1, faza 1 • Q, n2, faza 1, n2 > n1 • PropunerealuiPesteignorată • P, n3, faza 1, n3 > n2 • Se alege un ‘distinguish proposer’ Metode și Algoritmi de Planificare

  11. Utilizare • Google – Chubby • IBM –implementarea unor maşini virtuale tolerante la defecte • Microsoft - Bing Metode și Algoritmi de Planificare

  12. Întrebări Metode și Algoritmi de Planificare

More Related