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

作者: Niraj Tolia , Shivaram Venkataraman , Roy H. Campbell , Parthasarathy Ranganathan

DOI: 10.5555/1960475.1960480

关键词: BytePhase-change memoryMemristorRollbackComputer scienceThroughput (business)Big dataOperating systemData structureNoSQL

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

参考文章(38)
Brad Fitzpatrick, Distributed caching with memcached Linux Journal. ,vol. 2004, pp. 5- ,(2004)
Ashok Anand, Chitra Muthukrishnan, Suman Nath, Aditya Akella, Steven Kappes, Cheap and large CAMs for high performance data-intensive networked systems networked systems design and implementation. pp. 29- 29 ,(2010) , 10.5555/1855711.1855740
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber, Bigtable ACM Transactions on Computer Systems. ,vol. 26, pp. 1- 26 ,(2008) , 10.1145/1365815.1365816
Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, Russell Sears, Benchmarking cloud serving systems with YCSB Proceedings of the 1st ACM symposium on Cloud computing - SoCC '10. pp. 143- 154 ,(2010) , 10.1145/1807128.1807152
S. Raoux, G. W. Burr, M. J. Breitwisch, C. T. Rettner, Y.-C. Chen, R. M. Shelby, M. Salinga, D. Krebs, S.-H. Chen, H.-L. Lung, C. H. Lam, Phase-change random access memory: a scalable technology Ibm Journal of Research and Development. ,vol. 52, pp. 465- 479 ,(2008) , 10.1147/RD.524.0465
Philip A. Bernstein, Nathan Goodman, Concurrency Control in Distributed Database Systems ACM Computing Surveys. ,vol. 13, pp. 185- 221 ,(1981) , 10.1145/356842.356846
Hans-Juergen Boehm, Mark Weiser, Garbage collection in an uncooperative environment Software - Practice and Experience. ,vol. 18, pp. 807- 820 ,(1988) , 10.1002/SPE.4380180902
David Karger, Eric Lehman, Tom Leighton, Rina Panigrahy, Matthew Levine, Daniel Lewin, Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web symposium on the theory of computing. pp. 654- 663 ,(1997) , 10.1145/258533.258660
J. A. Mandelman, R. H. Dennard, G. B. Bronner, J. K. DeBrosse, R. Divakaruni, Y. Li, C. J. Radens, Challenges and future directions for the scaling of dynamic random-access memory (DRAM) Ibm Journal of Research and Development. ,vol. 46, pp. 187- 212 ,(2002) , 10.1147/RD.462.0187
Anthony M. Castaldo, R. Clint Whaley, Achieving accurate and context-sensitive timing for code optimization Software - Practice and Experience. ,vol. 38, pp. 1621- 1642 ,(2008) , 10.1002/SPE.V38:15