skip to main content
research-article

Blurred Persistence: Efficient Transactions in Persistent Memory

Published:07 January 2016Publication History
Skip Abstract Section

Abstract

Persistent memory provides data durability in main memory and enables memory-level storage systems. To ensure consistency of such storage systems, memory writes need to be transactional and are carefully moved across the boundary between the volatile CPU cache and the persistent main memory. Unfortunately, cache management in the CPU cache is hardware-controlled. Legacy transaction mechanisms, which are designed for disk-based storage systems, are inefficient in ordered data persistence of transactions in persistent memory. In this article, we propose the Blurred Persistence mechanism to reduce the transaction overhead of persistent memory by blurring the volatility-persistence boundary. Blurred Persistence consists of two techniques. First, Execution in Log executes a transaction in the log to eliminate duplicated data copies for execution. It allows persistence of the volatile uncommitted data, which are detectable with reorganized log structure. Second, Volatile Checkpoint with Bulk Persistence allows the committed data to aggressively stay volatile by leveraging the data durability in the log, as long as the commit order across threads is kept. By doing so, it reduces the frequency of forced persistence and improves cache efficiency. Evaluations show that our mechanism improves system performance by 56.3% to 143.7% for a variety of workloads.

References

  1. AMD. 2011. AMD64 Architecture Programmer’s Manual Volume 3: General Purpose and System Instructions.Google ScholarGoogle Scholar
  2. Vijay Chidambaram, Tushar Sharma, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2012. Consistency without ordering. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Joel Coburn, Trevor Bunker, Meir Schwarz, Rajesh Gupta, and Steven Swanson. 2013. From ARIES to MARS: Transaction support for next-generation, solid-state drives. In Proceedings of the 24th ACM Symposium on Operating Systems Principles (SOSP). ACM, New York, NY, 197--212. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, Rajesh K. Gupta, Ranjit Jhala, and Steven Swanson. 2011. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM, New York, NY, 105--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jeremy Condit, Edmund B. Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, Doug Burger, and Derrick Coetzee. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM SIGOPS Symposium on Operating Systems Principles (SOSP). ACM, New York, NY, 133--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System software for persistent memory. In Proceedings of the 9th European Conference on Computer Systems (EuroSys). ACM, New York, NY, Article 15, 15 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Pascal Felber, Christof Fetzer, and Torvald Riegel. 2008. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). ACM, New York, NY, 237--246. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Christopher Frost, Mike Mammarella, Eddie Kohler, Andrew de los Reyes, Shant Hovsepian, Andrew Matsuoka, and Lei Zhang. 2007. Generalized file system dependencies. In Proceedings of the 21st ACM SIGOPS Symposium on Operating Systems Principles (SOSP). ACM, New York, NY, 307--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jim Gray, Paul McJones, Mike Blasgen, Bruce Lindsay, Raymond Lorie, Tom Price, Franco Putzolu, and Irving Traiger. 1981. The recovery manager of the system R database manager. Computing Surveys (1981). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jorge Guerra, Leonardo Marmol, Daniel Campello, Carlos Crespo, Raju Rangaswami, and Jinpeng Wei. 2012. Software persistent memory. In Proceedings of the 2012 USENIX Annual Technical Conference (USENIX ATC). USENIX, Boston, MA, 319--331. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Tim Harris, Jim Larus, and Ravi Rajwar. 2010. Transactional Memory (Synthesis Lectures on Computer Architecture) (2nd ed.). Morgan & Claypool, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Maurice Herlihy and J. Eliot B. Moss. 1993. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture (ISCA). ACM, New York, NY, 289--300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Intel. 2013. Intel architecture instruction set extensions programming reference, 319433-015.Google ScholarGoogle Scholar
  14. Intel. 2014. Intel© C++ STM Compiler, Prototype Edition. Retrieved December 15, 2015 from https://software.intel.com/en-us/articles/intel-c-stm-compiler-prototype-edition.Google ScholarGoogle Scholar
  15. Emre Kultursay, Mahmut Kandemir, Anand Sivasubramaniam, and Onur Mutlu. 2013. Evaluating STT-RAM as an energy-efficient main memory alternative. In Proceedings of 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). IEEE, 256--267.Google ScholarGoogle ScholarCross RefCross Ref
  16. FAL Lab. 2014. Tokyo Cabinet: A modern implementation of DBM. Retrieved December 15, 2015 http://fallabs.com/tokyocabinet/.Google ScholarGoogle Scholar
  17. Benjamin C. Lee, Engin Ipek, Onur Mutlu, and Doug Burger. 2009. Architecting phase change memory as a scalable dram alternative. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA). ACM, New York, NY, 2--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Eunji Lee, Hyokyung Bahn, and Sam H. Noh. 2013. Unioning of the buffer cache and journaling layers with non-volatile memory. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. David E. Lowell and Peter M. Chen. 1997. Free transactions with Rio Vista. In Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP). ACM, New York, NY, 92--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Youyou Lu, Jiwu Shu, Jia Guo, Shuai Li, and Onur Mutlu. 2013a. LightTx: A lightweight transactional design in Flash-based SSDs to support flexible transactions. In Proceedings of the IEEE 31st International Conference on Computer Design (ICCD). IEEE, 115--122.Google ScholarGoogle ScholarCross RefCross Ref
  21. Youyou Lu, Jiwu Shu, Jia Guo, Shuai Li, and Onur Mutlu. 2015a. High-performance and lightweight transaction support in flash-based SSDs. IEEE Transactions on Computers 64, 10, 2819--2832.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Youyou Lu, Jiwu Shu, Jia Guo, and Peng Zhu. 2015b. Supporting system consistency with differential transactions in flash-based SSDs. IEEE Transactions on Computers (2015). DOI:http://dx.doi.org/10.1109/ TC.2015.2419664 to appear.Google ScholarGoogle Scholar
  23. Youyou Lu, Jiwu Shu, and Long Sun. 2015c. Blurred persistence in transactional persistent memory. In Proceedings of the 31st Conference on Massive Storage Systems and Technologies (MSST). IEEE, 1--13.Google ScholarGoogle ScholarCross RefCross Ref
  24. Youyou Lu, Jiwu Shu, Long Sun, and Onur Mutlu. 2014a. Loose-ordering consistency for persistent memory. In Proceedings of the IEEE 32nd International Conference on Computer Design (ICCD). IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  25. Youyou Lu, Jiwu Shu, and Wei Wang. 2014b. ReconFS: A reconstructable file system on flash storage. In Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA, 75--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Youyou Lu, Jiwu Shu, and Weimin Zheng. 2013b. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Youyou Lu, Jiwu Shu, and Peng Zhu. 2014c. TxCache: Transactional cache using byte-addressable non-volatile memories in SSDs. In Proceedings of the 3rd IEEE Nonvolatile Memory Systems and Applications Symposium (NVMSA). IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  28. Justin Meza, Yixin Luo, Samira Khan, Jishen Zhao, Yuan Xie, and Onur Mutlu. 2013. A case for efficient hardware/software cooperative management of storage and memory. In Proceedings of 5th Workshop on Energy Efficient Design.Google ScholarGoogle Scholar
  29. C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, and Peter Schwarz. 1992. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Iulian Moraru, David G. Andersen, Michael Kaminsky, Nathan Binkert, Niraj Tolia, Reinhard Munz, and Parthasarathy Ranganathan. 2011. Persistent, Protected and Cached: Building Blocks for Main Memory Data Stores. Technical Report CMU-PDL-11-114v2. Parallel Data Laboratory, Carnegie Mellon University, Pittsburgh, PA.Google ScholarGoogle Scholar
  31. Dushyanth Narayanan and Orion Hodson. 2012. Whole-system persistence. In Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM, New York, NY, 401--410. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Edmund B. Nightingale, Kaushik Veeraraghavan, Peter M. Chen, and Jason Flinn. 2006. Rethink the sync. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI). USENIX, Berkeley, CA, 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Xiangyong Ouyang, David Nellans, Robert Wipfel, David Flynn, and Dhabaleswar K. Panda. 2011. Beyond block I/O: Rethinking traditional storage primitives. In Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 301--311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Steven Pelley, Peter M. Chen, and Thomas F. Wenisch. 2014. Memory persistency. In Proceedings of the 41st ACM/IEEE International Symposium on Computer Architecture (ISCA). 265--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Vijayan Prabhakaran, Lakshmi N. Bairavasundaram, Nitin Agrawal, Haryadi S. Gunawi, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2005. IRON file systems. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP). ACM, New York, NY, 206--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Vijayan Prabhakaran, Thomas L. Rodeheffer, and Lidong Zhou. 2008. Transactional flash. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI). USENIX, Berkeley, CA, 147--160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Moinuddin K. Qureshi, Sudhanva Gurumurthi, and Bipin Rajendran. 2011. Phase change memory: From devices to systems. Synthesis Lectures on Computer Architecture 6, 4, 1--134. Google ScholarGoogle ScholarCross RefCross Ref
  38. Moinuddin K. Qureshi, Vijayalakshmi Srinivasan, and Jude A. Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA). ACM, New York, NY, 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Raghu Ramakrishnan and Johannes Gehrke. 2000. Database Management Systems. Osborne/McGraw-Hill, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. M. Satyanarayanan, Henry H. Mashburn, Puneet Kumar, David C. Steere, and James J. Kistler. 1994. Lightweight recoverable virtual memory. ACM Transactions on Computer Systems 12, 1, 33--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Margo I. Seltzer, Gregory R. Ganger, Marshall K. McKusick, Keith A. Smith, Craig A. N. Soules, and Christopher A. Stein. 2000. Journaling versus soft updates: Asynchronous meta-data protection in file systems. In Proceedings of 2000 USENIX Annual Technical Conference. USENIX, Berkeley, CA, 71--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Long Sun, Youyou Lu, and Jiwu Shu. 2015. DP2: Reducing transaction overhead with differential and dual persistency in persistent memory. In Proceedings of the ACM International Conference on Computing Frontiers (CF). ACM, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Stephen C. Tweedie. 1998. Journaling the Linux ext2fs filesystem. In The Fourth Annual Linux Expo.Google ScholarGoogle Scholar
  44. Shivaram Venkataraman, Niraj Tolia, Parthasarathy Ranganathan, Roy H. Campbell, and others. 2011. Consistent and durable data structures for non-volatile byte-addressable memory. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST). USENIX, Berkeley, CA, 61--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Haris Volos, Andres Jaan Tack, and Michael M. Swift. 2011. Mnemosyne: Lightweight persistent memory. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM, New York, NY, 91--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Z. Wang, H. Yi, R. Liu, M. Dong, and H. Chen. 2014. Persistent transactional memory. Computer Architecture Letters (2014).Google ScholarGoogle Scholar
  47. Wikipedia. (2015) NVDIMM. Retrieved December 15, 2015 from http://en.wikipedia.org/wiki/NVDIMM.Google ScholarGoogle Scholar
  48. Xiaojian Wu and A. L. Narasimha Reddy. 2011. SCMFS: A file system for storage class memory. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC). ACM, New York, NY, Article 39, 11 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Jishen Zhao, Sheng Li, Doe Hyun Yoon, Yuan Xie, and Norman P. Jouppi. 2013. Kiln: closing the performance gap between systems with and without persistence support. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). ACM, New York, NY, 421--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Ping Zhou, Bo Zhao, Jun Yang, and Youtao Zhang. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA). ACM, New York, NY, 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM Transactions on Storage
    ACM Transactions on Storage  Volume 12, Issue 1
    Special Issue on Massive Storage Systems and Technologies (MSST 2015)
    February 2016
    108 pages
    ISSN:1553-3077
    EISSN:1553-3093
    DOI:10.1145/2875132
    Issue’s Table of Contents

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 January 2016
    • Revised: 1 November 2015
    • Received: 1 November 2015
    • Accepted: 1 November 2015
    Published in tos Volume 12, Issue 1

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader