Old Design Documents
This page contains older design documents that are no longer in current use. Most of these are out of date, in that they no longer match the code of the system (typically these documents are not updated once coding begins), but they may still have useful information about the rationale for particular decisions and the alternatives we consider. Just don't consider these "the truth" unless you check the code first.
- Tablet Migration (April 2012)
- Rethinking Tombstones (March 2012)
- Distributed Leases - A proposal for ensuring that a "dead" server does not continue serving requests after it has been replaced.
- The ALPO consensus protocol (early 2012, eventually turned into Raft)
- Detecting Incomplete Logs (January 2012)
- Recovery Blitz (Autumn Quarter 2010)
- Milestones from 2010
- Design Meetings from Winter Quarter 2010
- RPC Protocol (July 2010)
- Open Questions (October 2009)
- Design Meetings from Spring Quarter 2009
- Backup and Recovery Revisited
- Coordinator
- FastTransport
- Index API
- Primary Keys
- Proposed Server API
- Protocol Buffers
- RAMCloud Filesystem
- Recovery
- RPC API
- Server Memory Architecture
- Transactions
- Version Numbers