EECS 591 D ISTRIBUTED S YSTEMS Manos Kapritsos Fall 2020
D EALING WITH MULTIPLE PROPOSERS I swear I won’t follow an earlier leader! And, btw, here is my current accepted value (if any) by leader x. Proposer IAmLeader #1 YouAreLeader Decree Learner Accept Acceptors
D EALING WITH MULTIPLE PROPOSERS I swear I won’t follow an earlier leader! And, btw, here is my current accepted value (if any) by leader x. Proposer #1 IAmLeader #1 YouAreLeader Decree Learner Acceptors Accept Proposer #2 YouAreLeader Decree IAmLeader #2
O VERVIEW OF P AXOS Proposer Acceptor Send IAmLeader(n) to all Wait for a majority of responses If n is the highest leader # I have seen: respond with YouAreLeader(Value, LeaderWhoProposedValue) Once majority is received, send Propose(n, V) where V is the highest-leader proposal among the responses (or my own value, if none of the responses had a value) If n is the highest leader # I have seen, send Accept(n, V) to the learner
E XAMPLES OF ACCEPTOR STATES (as leader #50 comes to power) Acceptors Value By leader x 37 - - - - - - - -
E XAMPLES OF ACCEPTOR STATES (as leader #50 comes to power) Acceptors Value By leader x 37 y 42 - - x 37 y 41
E XAMPLES OF ACCEPTOR STATES (as leader #50 comes to power) Acceptors Value By leader x 37 y 42 - - x 37 x 41
T OLERATING FAILURES Safety There are acceptors A value is only chosen if accepted by a majority ( ) So, even if of those acceptors fail, one will remain and will be part of any future majority Liveness The leader always waits for responses. So, even if replicas fail, it will not block
T HE THREAT TO LIVENESS : DUELING PROPOSERS Greetings, peasants! I am your fearless leader #1! Grant me your blessing! Greetings, peasants! I am your fearless leader #2! Grant me Greetings, peasants! I am your blessing! your fearless leader #3! Grant me Greetings, peasants! I am your blessing! your fearless leader #4! Grant me Greetings, peasants! I am your blessing! your fearless leader #5! Grant me your blessing! Greetings, peasants! I am your fearless leader #6! Grant me Greetings, peasants! I am your blessing! your fearless leader #7! Grant me your blessing! Greetings, peasants! I am your fearless leader #8! Grant me your blessing! . . . . . .
T HE THREAT TO LIVENESS : DUELING PROPOSERS This problem can be avoided during synchrony (proposer faults can be detected accurately using timeouts) It’s impossible to avoid during asynchrony! Well, we kind of knew that already…
T HE BEAUTY OF P AXOS Paxos cannot be both safe and live during asynchrony! (that would violate FLP) So it’s doing the next best thing: staying safe all the time and achieving liveness when the system starts behaving synchronously
U SING ( MULTI ) P AXOS TO IMPLEMENT S TATE M ACHINE R EPLICATION The original Paxos algorithm achieves agreement on one value SMR required replicas to agree on the sequence of commands that will be executed 3. Ensure that all replicas go through the same sequence of state transitions … 12 13 14 0 1 2 3 4 5 6 7 8 9 10 11 MultiPaxos: Run an instance of Paxos for each slot in the sequence Important : we don’t need to run phase (election) every time!
P AXOS /SMR IN REAL LIFE Proposers, acceptors and learners are all collocated on replicas request A reply Command 0 P A Accept IAmLeader #1 YouAreLeader is A L A L A L A 0 1 2 3 4 5 6 7 8 9
P AXOS /SMR IN REAL LIFE Proposers, acceptors and learners are all collocated on replicas request A reply Command 0 P A Accept IAmLeader #1 YouAreLeader is A L P A L A L A 0 1 2 3 4 5 6 7 8 9
A DMINISTRIVIA Implementation project Going out after class Groups of 2 (no need to declare) Upcoming deadlines Declare project topic: 10/8 Problem set #2: 10/12 Midterm exam: 10/21 Implementation project: 10/26 Presentation slides: 11/2
A DMINISTRIVIA Presentations start on 10/19 Schedule posted on Piazza 2 papers in each class Write a short review for one of them We will setup a website for you to post reviews
W RITING R EVIEWS Short summary Strengths what is the contribution nice insight/implementation/presentation Weaknesses I think this doesn’t work, because… performance is bad indifferent motivation bad presentation (optional) future work?
Recommend
More recommend