- Consistency models
- Graph Theory
- Time, Clocks, and the Ordering of Events in a Distributed System
- The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
- Data Intensive Applications
- Scalability! But at what COST?
- PACELS
- Paxos:
- Raft:
- Heidi Howard - Paxos vs Raft: Have we reached consensus on distributed consensus?
- Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems
- The Byzantine Generals
- Bitcoin
- TON:
- Ethereum:
- Asynchronous Consensus without Trusted Setup or Public-KeyCryptography
- Practical Byzantine Fault Tolerance
- The Honey Badger of BFT Protocols
- HotStuff: BFT Consensus in the Lens of Blockchain
- Tendermint: Consensus without Mining
- Protocol-Aware Recovery
- Kademlia: A Peer-to-peer Information System Based on the XOR Metric
- BEPs
- BitTorrent Spec V2
- SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol
- Chord
- Distributed Transaction Processing: The XA Specification
- Two Phase Locking (2PL)
- Detetministic:
- Maurice Herlihy — Transactional memory
- The hitchhiker's guide to distributed transactions
- Hermitage
- Simulations:
- TLA:
- Testing Distributed Systems
- Large-scale cluster management at Google with Borg
- Quincy: Fair Scheduling for Distributed Computing Clusters
- Amazon:
- Apache:
- Apple:
- FoundationDB
- Google:
- Yandex:
- Facebook:
- ETCD Key-Value
- Scalable Channel
- Nikita Koval — Synchronization primitives can be faster with SegmentQueueSynchronizer
- A Practical Multi-Word Compare-and-Swap Operation
- Efficient Multi-word Compare and Swap
- Easy Lock-Free Indexing in Non-Volatile Memory