Consistent and durable data structures for non-volatile byte-addressable memory

  • Authors:
  • Shivaram Venkataraman;Niraj Tolia;Parthasarathy Ranganathan;Roy H. Campbell

  • Affiliations:
  • HP Labs, Palo Alto and University of Illinois, Urbana-Champaign;Maginatics;HP Labs, Palo Alto;University of Illinois, Urbana-Champaign

  • Venue:
  • FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The predicted shift to non-volatile, byte-addressable memory (e.g., Phase Change Memory and Memristor), the growth of "big data", and the subsequent emergence of frameworks such as memcached and NoSQL systems require us to rethink the design of data stores. To derive the maximum performance from these new memory technologies, this paper proposes the use of single-level data stores. For these systems, where no distinction is made between a volatile and a persistent copy of data, we present Consistent and Durable Data Structures (CDDSs) that, on current hardware, allows programmers to safely exploit the low-latency and non-volatile aspects of new memory technologies. CDDSs use versioning to allow atomic updates without requiring logging. The same versioning scheme also enables rollback for failure recovery. When compared to a memory-backed Berkeley DB B-Tree, our prototype-based results show that a CDDS B-Tree can increase put and get throughput by 74% and 138%. When compared to Cassandra, a two-level data store, Tembo, a CDDS B-Tree enabled distributed Key-Value system, increases throughput by up to 250%-286%.