in search of an understandable
play

In Search of an Understandable Consensus Algorithm Diego Ongaro and - PowerPoint PPT Presentation

In Search of an Understandable Consensus Algorithm Diego Ongaro and John Ousterhout Stanford University Overview Problem: Consensus; every state machine should be in the same state Why Raft when (Multi-)Paxos already exists? - Easier to


  1. In Search of an Understandable Consensus Algorithm Diego Ongaro and John Ousterhout Stanford University

  2. Overview λ Problem: Consensus; every state machine should be in the same state λ Why Raft when (Multi-)Paxos already exists? - Easier to understand - Easier to implement and modify

  3. Power of Simplicity λ Decompose logic: Clean separation between logical steps like leader election, normal operation and configuration changes. λ Reduce state space: Reduce the number of states in the state machine. Also, reduce non- determinism. λ Delineation of roles: Raft has a single proposer (called the leader), rest of the servers are passive acceptors.

  4. How it works λ Replicating state machines is equivalent to replicating a log of commands and then applying those commands to the state machine in order. λ So, the problem at hand is: How do we make consistent copies of logs across servers? Also, how do we know when it is safe to execute a command in the state machine?

  5. Raft in a nutshell λ The server which is most up-to-date always wins the election λ Client sends command to leader λ Leader appends command to its log λ Leader asks the followers to append the command to their log λ Once new entry committed(majority of followers added the command in their log): - Leader passes command to its state machine, returns result to client - Leader notifies followers of committed entries in subsequent requests to append λ Followers pass committed commands to their state machines λ Crashed/slow followers? - Leader retries RPCs until they succeed λ Performance is optimal in common case: - One successful RPC to any majority of servers

  6. Similarities and Differences (With Paxos) λ Similarities - Both solve consensus by replicating logs across servers - Both use two phases to reach consensus - Safety (same log everywhere) in asynchronous setting and liveness (progress) in synchronous setting λ Differences - Raft requires a leader, Paxos uses a leader to avoid livelocks (which can be solved using other techniques) and to improve performance (avoiding the propose phase) - Raft chooses the most up-to-date server as a leader, Paxos chooses leaders by their IDs - Raft treats log as a single entity it needs to replicate. Paxos treats the muti- value problem as a composition of single-value problem (Synod) - Paxos start with a specific case (single-value) and then uses it to solve the general case (multi-value). Raft directly solves the general case. - [I think this is why Raft is easier to understand]

  7. Key Findings λ Raft is simple and easy to understand λ [Not as simple as I just explained. I left out a lot of edge cases and details of other logical components like leader election and configuration changes.] λ To check exactly how easy to understand it is a quiz was conducted in classes of Stanford and UC Berkeley. λ [Students were first presented with a video lecture of Raft and Paxos and then graded on each of them] λ Raft's performance is similar to other consensus algorithms such as Paxos. - Uses minimum number of messages for replication; single round-trip from leader to half the followers - Easily supports batching and pipelining

  8. Key Findings

  9. Key Findings

  10. Take Aways λ Raft decomposes logically separate components to make things simple and easier to explain λ Separation of roles (Heterogeneous) vs. Homogeneous system (Single leader vs. anyone can serve client requests) λ Solving general case vs. deriving general from a specific case

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend