Skip to content
Snippets Groups Projects
Commit 3b83aeb9 authored by Peter J. Keleher's avatar Peter J. Keleher
Browse files

auto

parent ae3e0524
No related branches found
No related tags found
No related merge requests found
# State-Machine Replication for Planet-Scale Systems (ATLAS)
EPaxos but......faster.
- fastpath quorum: *floor(n/2) + f*
- *more likely* than epaxos to use fast path w/ concurrent non-commuting ops (epaxos can sometimes do this as well, if majority replicas agree on dependencies)
- *always* fast path for *f=1*, fast path minimal majority
- faster non-fault-tolerant reads "when the conflict relation between commands is transitive".
![protocol](atlasFig1.png)
## Protocol
![protocol](atlasProtocol.png)
## Fast Path Optimization
Statement:
**deps returned do not have to agree if each reported is reported by at least *f* respondents**.
For example, we can recover *D* at *f=2* after just fast path even w/ two failures:
1. One failure leaves at least one replica that reported the dep, so it will be seen afterwards. This takes us to *f-1*.
1. The other failure must be the coordinator, as no need to recover if coordinator doesn't go down. The coordinator appends any deps it knows initially to messages in the collect phase. Therefore, if the coordinator was one of the *f* that reported a specific dependency, the other particplants of the collect phase will know about it. This takes us to *f-2*.
![protocol](atlasFig2.png)
## Issues
- "violating the assumption ...number of failures may only compromise liveness, but never safety"
- assumes replicas recoverable
notes/atlasFast.png

12.5 KiB

notes/atlasFig1.png

632 KiB

notes/atlasFig2.png

790 KiB

notes/atlasProtocol.png

1.32 MiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment