August 08, 2014
Luis Ceze and Hank Levy
Storage class memories, such as phase-change memory, will soon have the cost, density, speed, and reliability to make large fractions of main memory non-volatile. This project will explore the design, implementation, and evaluation of a data storage system and access methods tailored for a non-volatile main store. This work is motivated by trends such as the growing number of cores in processors, the huge amounts of data being generated from experiments and sensors, the acceptance of key-value and other no-SQL data organizations, and the emergence of fast and dense persistent memory devices. The goals of this project are to build an in-memory persistent storage system (code-named “Snapshot”) that: presents a key-value interface, is durable, unifies small data storage (bytes) and large data storage (files), provides automatic data versioning for applications, supports highly-concurrent simultaneous operations from multiple workers, provides strong consistency guarantees, allows direct pointer-based, load-store, fine-grained data access, includes automatic garbage collection, and is very high performance.