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
Session Notes
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?
- 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.