TY - GEN
T1 - Consistent and durable data structures for non-volatile byte-addressable memory
AU - Venkataraman, Shivaram
AU - Tolia, Niraj
AU - Ranganathan, Parthasarathy
AU - Campbell, Roy H.
PY - 2011
Y1 - 2011
N2 - 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%.
AB - 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%.
UR - http://www.scopus.com/inward/record.url?scp=84969754272&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84969754272&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:84969754272
T3 - Proceedings of FAST 2011: 9th USENIX Conference on File and Storage Technologies
SP - 61
EP - 75
BT - Proceedings of FAST 2011
PB - USENIX Association
T2 - 9th USENIX Conference on File and Storage Technologies, FAST 2011
Y2 - 15 February 2011 through 17 February 2011
ER -