120 likes | 272 Views
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
E N D
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 • Utilizarea Metode și Algoritmi de Planificare
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
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
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
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
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
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
Î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
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
Utilizare • Google – Chubby • IBM –implementarea unor maşini virtuale tolerante la defecte • Microsoft - Bing Metode și Algoritmi de Planificare
Întrebări Metode și Algoritmi de Planificare