The RAMCloud Storage System

Abstract: RAMCloud is a new general-purpose storage system for large-scale applications running in a datacenter. RAMCloud stores all data in DRAM at all times in order to provide the lowest possible latency for access, and it aggregates the memories of thousands of commodity servers to provide total capacities of 1 Pbyte or more. When RAMCloud is combined with high-speed networking, an application running in the same datacenter can access any byte of data from a RAMCloud cluster in about 5 microseconds, which is 100-1000x faster than most existing storage systems. RAMCloud maintains backup copies of data on secondary storage (disk or flash) so that data stored in RAMCloud is durable and highly available (durable writes take less than 15 microseconds). Our hope is that RAMCloud will enable a new class of applications that manipulate large datasets much more intensively than has been possible before. In this tutorial I will present RAMCloud "from stem to stern" including: (a) the motivation for the system and its potential impact; (b) RAMCloud's application-visible architecture; (c) the log-structured mechanism used to represent the key-value store in DRAM; (d) RAMCloud's low-latency RPC system; (e) how RAMCloud ensures data durability and availability in the presence of server crashes; (f) early experiments with applications; and (g) limitations of the system and lessons learned so far.

Bio: John Ousterhout is the VMware Founders Professor of Computer Science at Stanford University. His current research focuses on storage systems for large-scale datacenter applications. Ousterhout's prior positions include 14 years in industry, where he founded two companies (Scriptics and Electric Cloud), preceded by 14 years as Professor of Computer Science at U.C. Berkeley. He is the creator of the Tcl scripting language and is also well known for his work in distributed operating systems and file systems. Ousterhout received a BS degree in Physics from Yale University and a PhD in Computer Science from Carnegie Mellon University. He is a member of the National Academy of Engineering and has received numerous awards, including the ACM Software System Award, the ACM Grace Murray Hopper Award, the National Science Foundation Presidential Young Investigator Award, and the U.C. Berkeley Distinguished Teaching Award.