liberating distributed consensus
play

Liberating distributed consensus Heidi Howard @ Cambridge - PowerPoint PPT Presentation

Liberating distributed consensus Heidi Howard @ Cambridge University heidi.howard@cl.cam.ac.uk @heidiann360 heidihoward.co.uk Distributed Dream Performance - scalability, low latency, high throughput, low cost, energy e ffj ciency,


  1. Classic Paxos - Phase one • The client chooses an allocated register set i and sends PREPARE (i) to all servers. • Each server writes nil in any unwritten registers from 0 to i-1 and replies with the register number j and value w of the greatest non-nil register using PROMISED (i,j,w) . • When PROMISED (i,…) has been received from a quorum of servers, the client chooses the value v from the greatest register or its own value if none exists. � 38

  2. Classic Paxos - Phase two � 39

  3. Classic Paxos - Phase two • The client sends PROPOSE (i,v) to all servers. � 39

  4. Classic Paxos - Phase two • The client sends PROPOSE (i,v) to all servers. • Each server checks if register i is unwritten. If so, it writes the value v to register i and replies with ACCEPTED (i) . � 39

  5. Classic Paxos - Phase two • The client sends PROPOSE (i,v) to all servers. • Each server checks if register i is unwritten. If so, it writes the value v to register i and replies with ACCEPTED (i) . • The client terminates when ACCEPTED (i) has been received from a quorum of servers. � 39

  6. Example - Phase one S0 S0 S1 S2 R0 S1 R1 R2 R3 S2 � 40

  7. Example - Phase one PREPARE (R1) S0 C1 S0 S1 S2 R0 S1 R1 R2 R3 S2 � 40

  8. Example - Phase one S0 C1 S0 S1 S2 R0 - - - S1 R1 R2 R3 S2 � 41

  9. Example - Phase one S0 PROMISED (R1) C1 S0 S1 S2 R0 - - - S1 R1 R2 R3 S2 PROMISED (R1) � 41

  10. Example - Phase two S0 PROPOSE (R1,A) C1 S0 S1 S2 R0 - - - S1 R1 R2 R3 S2 � 42

  11. Example - Phase two S0 C1 S0 S1 S2 R0 - - - S1 R1 A A A R2 R3 S2 � 43

  12. Example - Phase two S0 ACCEPTED (R1) C1 S0 S1 S2 R0 - - - S1 R1 A A A R2 R3 S2 � 43

  13. Example - Phase one S0 S0 S1 S2 R0 - - - S1 R1 A A A C2 R2 R3 S2 � 44

  14. Example - Phase one S0 PREPARE (R2) S0 S1 S2 R0 - - - S1 R1 A A A C2 R2 R3 S2 � 44

  15. Example - Phase one S0 PROMISED (R2,R1,A) S0 S1 S2 R0 - - - S1 R1 A A A C2 R2 R3 S2 PROMISED (R2,R1,A) � 45

  16. Example - Phase two S0 PROPOSE (R2,A) S0 S1 S2 R0 - - - S1 R1 A A A C2 R2 R3 S2 � 46

  17. Example - Phase two S0 S0 S1 S2 R0 - - - S1 R1 A A A C2 R2 A A A R3 S2 � 47

  18. Example - Phase two S0 ACCEPTED (R2) S0 S1 S2 R0 - - - S1 R1 A A A C2 R2 A A A R3 S2 ACCEPTED (R2) � 47

  19. Quorum intersection � 48

  20. Quorum intersection Original requirement Paxos requires that a quorum of servers participate in each of its two phases and that any two quorums must intersect. � 48

  21. Quorum intersection Original requirement Paxos requires that a quorum of servers participate in each of its two phases and that any two quorums must intersect. Revised requirement A client using register i must get at least one server from each quorum of registers 0 to i-1 to participate in phase one. � 48

  22. Part 3 All aboard consensus � 49

  23. Current Reality Classic Paxos Multi Paxos Minimum round 2 1 trips? Which client can Any Leader only decide the value? � 50

  24. Current Reality Classic Paxos Multi Paxos Minimum round 2 1 trips? Which client can Any Leader only decide the value? Can we design an algorithm in which any client can achieve consensus in just 1 round trip ? � 50

Recommend


More recommend