Design Seminars - Spring Quarter 2009

This page was used during the Spring Quarter of 2009 to collect design ideas for RAMCloud, a new kind of long-term storage based entirely in the main memories of a collection of commodity server machines.

Working Assumptions for RAMCloud:

  • Designed primarily for usage within a datacenter: there will be a collection of hundreds or thousands of dedicated RAMCloud server machines, which provide storage for hundreds or thousands of application machines running Web front-ends or other applications.
  • Supports 10000 or more RAMCloud servers.
  • Servers are commodity rack-mounted machines with as much memory as is cost effective (32-64 GB today?)
  • All information is stored at all times in main memory: disk accesses are not in the critical path for either reading or writing data.
  • Low latency access from other machines in the same datacenter: 5-10 microseconds total round-trip for small requests.
  • High throughput: 1 million requests/second for small requests, using servers with modest numbers of cores (4-8?).
  • Data durability equal to the best disk-based systems.

Goals for The Quarter

  • Explore the design space around RAMClouds
  • Err on the side of inclusivity of ideas and approaches rather than exclusivity: we don't have to make any actual design decisions this quarter, but we'd like to understand the consequences of a range of alternatives
  • Collect our ideas on this Wiki

Schedule

April 1: Data persistence (Ousterhout)
April 7: Node architecture (Leverich/Kozyrakis)
April 8: Low latency RPCs (Narayanan)
April 14: no meeting
April 15: no meeting
April 21: Distribution of data among servers, replication, locality (Stutsman)
April 22: Scalability (Rumble)
April 28: Applications(Erickson) and
April 29: PNUTS: weak consistency (Agrawal)
May 5: Data model (Rosenblum)
May 6: The role of flash memory and other technologies (Kozyrakis)
May 12: Security and access control (Mazieres)
May 13: no meeting
May 19: Split of functionality between servers and clients (Stratmann)
May 20: Naming and Indexing (Ousterhout)
May 26: Reliability (Mitra)
May 27: Network substrate (Rumble)
June 2: TBD
June 3: Spring Discussion Wrapup (Kozyrakis)

Future Discussion Topics

The name(s) after each topic are people who have volunteered to lead a discussion on that topic:

Miscellaneous Topics

Recent updates

Navigate space