Distributed Consensus: Making Impossible Possible by Heidi howard
-
Upload
j-on-the-beach -
Category
Software
-
view
141 -
download
1
Transcript of Distributed Consensus: Making Impossible Possible by Heidi howard
![Page 1: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/1.jpg)
Distributed Consensus: Making Impossible
Possible
Heidi HowardPhD Student @ University of Cambridge
[email protected] @heidiann360
![Page 2: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/2.jpg)
![Page 3: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/3.jpg)
What is Consensus?
“The process by which we reach agreement over system state between unreliable machines connected by asynchronous networks”
![Page 4: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/4.jpg)
Why?• Distributed locking
• Banking
• Safety critical systems
• Distributed scheduling and coordination
Anything which requires guaranteed agreement
![Page 5: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/5.jpg)
A walk through historyWe are going to take a journey through the developments in distributed consensus, spanning 3 decades.
We are going to search for answers to questions like:
• how do we reach consensus?
• what is the best method for reaching consensus?
• can we even reach consensus?
• what’s next in the field?
![Page 6: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/6.jpg)
FLP Resultoff to a slippery start
Impossibility of distributed consensus with one faulty process Michael Fischer, Nancy Lynch
and Michael Paterson ACM SIGACT-SIGMOD
Symposium on Principles of Database Systems
1983
![Page 7: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/7.jpg)
FLPWe cannot guarantee agreement in an asynchronous system where even one host might fail.
Why?
We cannot reliably detect failures. We cannot know for sure the difference between a slow host/network and a failed host
NB: We can still guarantee safety, the issue limited to guaranteeing liveness.
![Page 8: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/8.jpg)
Solution to FLPIn practice:
We accept that sometimes the system will not be available. We mitigate this using timers and backoffs.
In theory:
We make weaker assumptions about the synchrony of the system e.g. messages arrive within a year.
![Page 9: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/9.jpg)
PaxosLamport’s original consensus algorithm
The Part-Time Parliament Leslie Lamport
ACM Transactions on Computer Systems May 1998
![Page 10: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/10.jpg)
Paxos
The original consensus algorithm for reaching agreement on a single value.
• two phase process: promise and commit
• majority agreement
• monotonically increasing numbers
![Page 11: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/11.jpg)
Paxos Example - Failure Free
![Page 12: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/12.jpg)
1 2
3
P: C:
P: C:
P: C:
![Page 13: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/13.jpg)
1 2
3
P: C:
P: C:
P: C:
B
Incoming request from Bob
![Page 14: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/14.jpg)
1 2
3
P: C:
P: 13 C:
P: C:
B
Promise (13) ?
Phase 1
Promise (13) ?
![Page 15: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/15.jpg)
1 2
3 P: 13 C:
OKOK
P: 13 C:
P: 13 C:
Phase 1
![Page 16: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/16.jpg)
1 2
3 P: 13 C: 13, B
P: 13 C:
P: 13 C:
Phase 2
Commit (13, ) ?B Commit (13, ) ?B
![Page 17: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/17.jpg)
1 2
3 P: 13 C: 13, B
P: 13 C: 13,
P: 13 C: 13,
Phase 2
B B
OKOK
![Page 18: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/18.jpg)
1 2
3 P: 13 C: 13, B
P: 13 C: 13,
P: 13 C: 13, B B
OK
Bob is granted the lock
![Page 19: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/19.jpg)
Paxos Example - Node Failure
![Page 20: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/20.jpg)
1 2
3
P: C:
P: C:
P: C:
![Page 21: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/21.jpg)
1 2
3
P: C:
P: 13 C:
P: C:
Promise (13) ?
Phase 1
B
Incoming request from Bob
Promise (13) ?
![Page 22: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/22.jpg)
1 2
3
P: 13 C:
P: 13 C:
P: 13 C:
Phase 1
B
OKOK
![Page 23: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/23.jpg)
1 2
3
P: 13 C:
P: 13 C: 13,
P: 13 C:
Phase 2
Commit (13, ) ?B
B
![Page 24: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/24.jpg)
1 2
3
P: 13 C:
P: 13 C: 13,
P: 13 C: 13,
Phase 2
B
B
![Page 25: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/25.jpg)
1 2
3
P: 13 C:
P: 13 C: 13,
P: 13 C: 13,
Alice would also like the lock
B
B
A
![Page 26: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/26.jpg)
1 2
3
P: 13 C:
P: 13 C: 13,
P: 13 C: 13,
Alice would also like the lock
B
B
A
![Page 27: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/27.jpg)
1 2
3
P: 22 C:
P: 13 C: 13,
P: 13 C: 13,
Phase 1
B
BA
Promise (22) ?
![Page 28: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/28.jpg)
1 2
3
P: 22 C:
P: 13 C: 13,
P: 22 C: 13,
Phase 1
B
BA
OK(13, )B
![Page 29: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/29.jpg)
1 2
3
P: 22 C: 22,
P: 13 C: 13,
P: 22 C: 13,
Phase 2
B
BA
Commit (22, ) ?B
B
![Page 30: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/30.jpg)
1 2
3
P: 22 C: 22,
P: 13 C: 13,
P: 22 C: 22,
Phase 2
B
B
OK
B
NO
![Page 31: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/31.jpg)
Paxos Summary
Clients must wait two round trips (2 RTT) to the majority of nodes. Sometimes longer.
The system will continue as long as a majority of nodes are up
![Page 32: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/32.jpg)
Multi-PaxosLamport’s leader-driven consensus algorithm
Paxos Made Moderately Complex Robbert van Renesse and Deniz
Altinbuken ACM Computing Surveys
April 2015 Not the original, but highly recommended
![Page 33: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/33.jpg)
Multi-Paxos
Lamport’s insight:
Phase 1 is not specific to the request so can be done before the request arrives and can be reused.
Implication:
Bob now only has to wait one RTT
![Page 34: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/34.jpg)
State Machine Replication
fault-tolerant services using consensus
Implementing Fault-Tolerant Services Using the State Machine
Approach: A Tutorial Fred Schneider
ACM Computing Surveys 1990
![Page 35: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/35.jpg)
State Machine ReplicationA general technique for making a service, such as a database, fault-tolerant.
Application
Client Client
![Page 36: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/36.jpg)
![Page 37: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/37.jpg)
Application
Application
Application
Client
Client
Network
Consensus
Consensus
Consensus
Consensus
Consensus
![Page 38: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/38.jpg)
![Page 39: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/39.jpg)
CAP TheoremYou cannot have your cake and eat it
CAP Theorem Eric Brewer
Presented at Symposium on Principles of Distributed
Computing, 2000
![Page 40: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/40.jpg)
Consistency, Availability & Partition Tolerance - Pick Two
1 2
3 4
B C
![Page 41: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/41.jpg)
Paxos Made LiveHow google uses Paxos
Paxos Made Live - An Engineering Perspective
Tushar Chandra, Robert Griesemer and Joshua Redstone
ACM Symposium on Principles of Distributed Computing
2007
![Page 42: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/42.jpg)
Paxos Made Live
Paxos made live documents the challenges in constructing Chubby, a distributed coordination service, built using Multi-Paxos and SMR.
![Page 43: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/43.jpg)
Isn’t this a solved problem?
“There are significant gaps between the description of the Paxos algorithm and the needs of a real-world system.
In order to build a real-world system, an expert needs to use numerous ideas scattered in the literature and make several relatively small protocol extensions.
The cumulative effort will be substantial and the final system will be based on an unproven protocol.”
![Page 44: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/44.jpg)
Challenges• Handling disk failure and corruption
• Dealing with limited storage capacity
• Effectively handling read-only requests
• Dynamic membership & reconfiguration
• Supporting transactions
• Verifying safety of the implementation
![Page 45: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/45.jpg)
Fast PaxosLike Multi-Paxos, but faster
Fast Paxos Leslie Lamport
Microsoft Research Tech Report MSR-TR-2005-112
![Page 46: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/46.jpg)
Fast Paxos
Paxos: Any node can commit a value in 2 RTTs
Multi-Paxos: The leader node can commit a value in 1 RTT
But, what about any node committing a value in 1 RTT?
![Page 47: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/47.jpg)
Fast PaxosWe can bypass the leader node for many operations, so any node can commit a value in 1 RTT.
However, we must either:
• reduce the number of failures we guarantee to tolerance, or
• increase the size of the quorum, or
• a combination of both
![Page 48: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/48.jpg)
Egalitarian PaxosDon’t restrict yourself unnecessarily
There Is More Consensus in Egalitarian Parliaments
Iulian Moraru, David G. Andersen, Michael Kaminsky
SOSP 2013
also see Generalized Consensus and Paxos
![Page 49: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/49.jpg)
Egalitarian Paxos
The basis of SMR is that every replica of an application receives the same commands in the same order.
However, sometimes the ordering can be relaxed…
![Page 50: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/50.jpg)
C=1 B? C=C+1 C? B=0 B=C
C=1 B?
C=C+1
C?
B=0
B=C
Partial Ordering
Total Ordering
![Page 51: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/51.jpg)
C=1 B? C=C+1 C? B=0 B=C
Many possible orderings
B? C=C+1 C?B=0 B=CC=1
B?C=C+1 C? B=0 B=CC=1
B? C=C+1 C? B=0 B=CC=1
![Page 52: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/52.jpg)
Egalitarian Paxos
Allow requests to be out-of-order if they are commutative.
Conflict becomes much less common.
Works well in combination with Fast Paxos.
![Page 53: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/53.jpg)
Viewstamped Replication Revisited
the forgotten algorithm
Viewstamped Replication Revisited Barbara Liskov and James
Cowling MIT Tech Report
MIT-CSAIL-TR-2012-021
![Page 54: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/54.jpg)
Viewstamped Replication Revisited (VRR)
Interesting and well explained variant of SMR + Multi-Paxos.
Key features:
• Round robin leader election
• Dynamic Membership
![Page 55: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/55.jpg)
Raft ConsensusPaxos made understandable
In Search of an Understandable Consensus Algorithm
Diego Ongaro and John Ousterhout
USENIX Annual Technical Conference
2014
![Page 56: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/56.jpg)
RaftRaft has taken the wider community by storm. Due to its understandable description.
It’s another variant of SMR with Multi-Paxos.
Key features:
• Really strong leadership - all other nodes are passive
• Dynamic membership and log compaction
![Page 57: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/57.jpg)
Follower Candidate Leader
Startup/ Restart
Timeout Win
Timeout
Step down
Step down
![Page 58: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/58.jpg)
IosWhy do things yourself, when you can delegate it?
to appear
![Page 59: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/59.jpg)
Ios
The issue with leader-driven algorithms like Multi-Paxos, Raft and VRR is that throughput is limited to one node.
Ios allows a leader to safely and dynamically delegate their responsibilities to other nodes in the system.
![Page 60: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/60.jpg)
Hydraconsensus for geo-replication
to appear
![Page 61: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/61.jpg)
HydraDistributed consensus for systems which span multiple datacenters.
We use Ios for replication within the datacenter and a Egalitarian Paxos like protocol for across datacenters.
The system has a clear leader but most requests simply bypass the leader.
![Page 62: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/62.jpg)
1 2
3
4 5
6
7 8
9
Tokyo
West Coast
East Coast
B
![Page 63: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/63.jpg)
1 2
3
4 5
6
7 8
9
Tokyo
West Coast
East Coast
B
![Page 64: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/64.jpg)
1 2
3
4 5
6
7 8
9
Tokyo
West Coast
East Coast
B
![Page 65: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/65.jpg)
The road we travelled• 2 impossibility results: CAP & FLP
• 1 replication method: State machine Replication
• 6 consensus algorithms: Paxos, Multi-Paxos, Fast Paxos, Egalitarian Paxos, Viewstamped Replication Revisited & Raft
• 2 future algorithms: Ios & Hydra
![Page 66: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/66.jpg)
How strong is the leadership?
Strong Leadership Leaderless
Paxos
Egalitarian Paxos
Raft VRR Ios HydraMulti-Paxos Fast Paxos
Leader with Delegation
Leader only when neededLeader driven
![Page 67: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/67.jpg)
Who is the winner?
Depends on the award:
• Best for minimum latency: VRR
• Easier to understand: Raft
• Best for WANs (conflicts rare): Egalitarian Paxos
• Best for WANs (conflicts common): Fast Paxos
![Page 68: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/68.jpg)
Future1. More algorithms offering a compromise between
strong leadership and leaderless
2. More understandable consensus algorithms
3. Achieving consensus is getting cheaper, even in challenging settings
4. Deployment with micro-services and unikernels
5. Self-scaling replication - adapting resources to maintain resilience level.
![Page 69: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/69.jpg)
Stops we drove passedWe have seen one path through history, but many more exist.
• Alternative replication techniques e.g. chain replication and primary backup replication
• Alternative failure models e.g. nodes acting maliciously
• Alternative domains e.g. sensor networks, mobile networks, between cores
![Page 70: Distributed Consensus: Making Impossible Possible by Heidi howard](https://reader033.fdocuments.in/reader033/viewer/2022042513/589f75671a28abbf2e8b60f1/html5/thumbnails/70.jpg)
SummaryDo not be discouraged by impossibility results and dense abstract academic papers.
Consensus is useful and achievable.
Find the right algorithm for your specific domain.
[email protected] @heidiann360