Readings
Papers and concepts I've read through, with notes.
Spanner: Google’s Globally-Distributed Database
James C. Corbett, Jeffrey Dean, Michael Epstein et al. [Google Inc] (2012)
Spanner is Google's globally-distributed, externally-consistent database. It's heavily based on clock synchronization, and solves prominent clock synchronization issue through its novel TrueTime API (GPS + atomic clocks with bounded uncertainty) to assign globally meaningful commit timestamps, enabling (!!!) lock-free consistent reads and distributed transactions, even across datacenters.
ZooKeeper: Wait-free coordination for Internet-scale systems
Hunt, Konar, Junqueira & Reed (2010)
Zookeper is a distributed coordination service which handles a lot of distribtued system application workload and logic out of box. It works for specific use-cases.
Frangipani: A Scalable Distributed File System
Chandramohan A. Thekkath, Timothy Mann, Edward K. Lee (1997)
Frangipani is a scalable distributed file system layered on top of the Petal virtual disk. Machines cache and serve file system logic locally while Petal provides shared, replicated block storage, using distributed locking and per-server logging for coherence and crash recovery.
In Search of an Understandable Consensus Algorithm (RAFT)
Ongaro & Ousterhout (2014)
RAFT is a consensus algorithm designed to be more understandable than Paxos while providing equivalent strong consistenct guarantees.