Design Review
This page contains materials related to the design review held at Stanford on April 1, 2010 and attended by a collection of reviewers from industry and academia.
Slides from Presentations
- Overview (unofficial pdf) (John Ousterhout)
- Durability and Logging (Steve Rumble)
- Recovery (pdf) (Ryan Stutsman)
- Assumptions (unofficial pdf) (Mendel Rosenblum)
- Low-Latency RPC (Aravind Narayanan)
- Transactions (Diego Ongaro)
- Indexing (pdf) (Ryan Stutsman)
- Cluster Management (Diego Ongaro)
Session Notes
- Overview
- Durability
- Recovery
- Assumptions
- Low-Latency RPC
- Transactions
- Indexing
- Cluster Management
- Final Comments
Additional Information
Conclusions
After discussing all the visitor comments, we made a list of the most important overall suggestions to consider as the project evolves:
- Leverage existing technologies, such as:
- ZooKeeper
- Infiniband
- Network file systems?
- Compression: how can it be incorporated into the system architecture?
- Locality may be more important that we have been thinking. Some examples of how to expose/encourage/support locality:
- Provide a
multiget
operation so that several objects can be fetched in a single RPC. - Allow applications to find out where objects are stored.
- Allow applications to ensure that objects are colocated on the same server. For example, allow applications to request that certain tablets always be colocated in the same server partition.
- Allow code to be shipped to servers?
- Provide a
- Many people liked the idea of making a fast RPC system available separately from the rest of RAMCloud, if that's possible.
- Applications: lots of encouragement to seek out appropriate applications for RAMCloud and use them to guide the design decisions.
- When measuring performance, measure distributions (e.g. 90th percentile), not just average or best-case performance.