https://github.com/spacejam/paxos
simple CASPaxos implementation written in rust on top of a simulator for finding bugs quickly
https://github.com/spacejam/paxos
Last synced: about 1 year ago
JSON representation
simple CASPaxos implementation written in rust on top of a simulator for finding bugs quickly
- Host: GitHub
- URL: https://github.com/spacejam/paxos
- Owner: spacejam
- Created: 2019-01-05T11:12:32.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-07-11T17:37:12.000Z (almost 6 years ago)
- Last Synced: 2025-04-12T01:23:59.892Z (about 1 year ago)
- Language: Rust
- Size: 21.5 KB
- Stars: 140
- Watchers: 8
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# paxos
[](https://crates.io/crates/paxos)
[](https://docs.rs/paxos)
[](https://discord.gg/Z6VsXds)
[](https://github.com/sponsors/spacejam)
Currently, this is an implementation of
[CASPaxos](https://arxiv.org/pdf/1802.07000.pdf)
built on top of the sled lightweight database kit.
It is being grown into a more featureful replication
library that is mindful of modern consensus research.
#### why not raft?
* raft is great for teaching purposes, but is not very performant
* a replicated log is just the beginning
# roadmap
- [ ] simple http API
- [ ] built-in kv
- [ ] membership reconfiguration
- [ ] cheap-paxos storage reduction
- [ ] gossip-based replication of state
- [ ] log reclamation
- [ ] read-only followers
# References
* [CASPaxos: Replicated State Machines without logs](https://arxiv.org/pdf/1802.07000.pdf)
* [PigPaxos: Devouring the communication bottlenecks in distributed consensus](https://arxiv.org/abs/2003.07760)
* [SDPaxos: Building Efficient Semi-Decentralized Geo-replicatedState Machines](https://www.microsoft.com/en-us/research/uploads/prod/2018/09/172-zhao.pdf)
* [State-Machine Replication for Planet-Scale Systems (Extended Version)](https://arxiv.org/abs/2003.11789)
* [WPaxos: Wide Area Network Flexible Consensus](https://arxiv.org/abs/1703.08905)
* [A Generalised Solution to Distributed Consensus](https://arxiv.org/abs/1902.06776)
* [Cheap Paxos](https://lamport.azurewebsites.net/pubs/web-dsn-submission.pdf)
* [Edelweiss: Automatic Storage Reclamation for Distributed Programming](http://www.neilconway.org/docs/vldb2014_edelweiss.pdf)