skip to main content
10.1145/3092255.3092270acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
research-article
Public Access

Continuous checkpointing of HTM transactions in NVM

Published:18 June 2017Publication History

ABSTRACT

This paper addresses the challenges of coupling byte addressable non-volatile memory (NVM) and hardware transaction memory (HTM) in high-performance transaction processing. We first show that HTM transactions can be ordered using existing processor instructions without any hardware changes. In contrast, existing solutions posit changes to HTM mechanisms in the form of special instructions or modified functionality. We exploit the ordering mechanism to design a novel persistence method that decouples HTM concurrency from back-end NVM operations. Failure atomicity is achieved using redo logging coupled with aliasing to guard against mistimed cache evictions. Our algorithm uses efficient lock-free mechanisms with bounded static memory requirements. We evaluated our approach using both micro-benchmarks, and, benchmarks in the STAMP suite, and showed that it compares well with standard (volatile) HTM transactions. We also showed that it yields significant gains in throughput and latency in comparison with persistent transactional locking.

References

  1. H. Avni and T. Brown. PHyTM: Persistent hybrid transactional memory. Proceedings of the VLDB Endowment, 10(4):409–420, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. Avni, E. Levy, and A. Mendelson. Hardware transactions in nonvolatile memory. In International Symposium on Distributed Computing, pages 617–630. Springer, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. A. Bader and K. Madduri. Design and implementation of the HPCS graph analysis benchmark on symmetric multiprocessors. In International Conference on High-Performance Computing, pages 465–476. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. R. Chakrabarti, H.-J. Boehm, and K. Bhandari. Atlas: Leveraging locks for non-volatile memory consistency. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA ’14, pages 433–452, New York, NY, USA, 2014. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Chatzistergiou, M. Cintra, and S. D. Viglas. Rewind: Recovery write-ahead system for in-memory non-volatile data-structures. Proceedings of the VLDB Endowment, 8(5):497–508, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee. Better I/O through byte-addressable, persistent memory. In Proceedings of 22nd ACM SOSP. ACM Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. In Distributed Computing, pages 194–208. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Doshi, E. Giles, and P. Varman. Atomic Persistence for SCM with a Non-intrusive Backend Controller. In The 22nd International Symposium on High-Performance Computer Architecture. IEEE, March 2016.Google ScholarGoogle ScholarCross RefCross Ref
  9. F. Färber, S. K. Cha, J. Primsch, C. Bornhövd, S. Sigg, and W. Lehner. SAP HANA Database: Data management for modern business applications. SIGMOD Rec., 40(4):45–51, Jan. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Giles, K. Doshi, and P. Varman. Bridging the programming gap between persistent and volatile memory using WrAP. In Proceedings of the ACM International Conference on Computing Frontiers, page 30. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Giles, K. Doshi, and P. Varman. SoftWrAP: A lightweight framework for transactional support of storage class memory. In Mass Storage Systems and Technologies (MSST), 2015 31st Symposium on, pages 1–14, May 2015.Google ScholarGoogle ScholarCross RefCross Ref
  12. T. L. Harris. A pragmatic implementation of non-blocking linkedlists. In Proceedings of the 15th International Conference on Distributed Computing, DISC ’01, pages 300–314, London, UK, UK, 2001. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Herlihy and J. E. B. Moss. Transactional Memory: Architectural support for lock-free data structures, volume 21,2. ACM, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Intel Corporation. Intel 64 and IA-32 Architectures Software Developer Manual. http://www.software.intel.com/.Google ScholarGoogle Scholar
  15. Intel Corporation. Intel Transactional Synchronization Extensions. In Intel Architecture Instruction Set Extensions Programming Reference, chapter 8. February 2012. http://software. intel.com/.Google ScholarGoogle Scholar
  16. A. Joshi, V. Nagarajan, S. Viglas, and M. Cintra. ATOM: Atomic durability in non-volatile memory through hardware logging. In 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA), 2017.Google ScholarGoogle ScholarCross RefCross Ref
  17. M. Liu, M. Zhang, K. Chen, X. Qian, Y. Wu, W. Zheng, and J. Ren. DudeTM: Building Durable Transactions with Decoupling for Persistent Memory. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’17, pages 329–343, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. X. Meng, J. Bradley, B. Yavuz, E. Sparks, S. Venkataraman, D. Liu, J. Freeman, D. Tsai, M. Amde, S. Owen, et al. MLlib: Machine learning in apache spark. Journal of Machine Learning Research, 17(34):1–7, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. C. Minh. TL2-x86, a port of tl2 to x86 architecture. In https://github.com/ccaominh/tl2-x86. Stanford, 2015.Google ScholarGoogle Scholar
  20. C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford transactional applications for multi-processing. In Workload Characterization, 2008. IISWC 2008. IEEE International Symposium on, pages 35–46. IEEE, 2008.Google ScholarGoogle Scholar
  21. D. Narayanan and O. Hodson. Whole-system persistence. In Proceedings of 17th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 401–410. ACM Press, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Palamuttam, R. M. Mogrovejo, C. Mattmann, B. Wilson, K. Whitehall, R. Verma, L. McGibbney, and P. Ramirez. Scispark: Applying inmemory distributed computing to weather event detection and tracking. In Big Data (Big Data), 2015 IEEE International Conference on, pages 2020–2026. IEEE, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Pelley, P. M. Chen, and T. F. Wenisch. Memory persistency. In Computer Architecture (ISCA), 2014 ACM/IEEE 41st International Symposium on, pages 265–276. IEEE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. L. Pu, K. Doshi, E. Giles, and P. Varman. Non-Intrusive Persistence with a Backend NVM Controller. IEEE Computer Architecture Letters, 15(1):29–32, Jan 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Rajwar and J. R. Goodman. Speculative lock elision: Enabling highly concurrent multithreaded execution. In Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture, pages 294–305. IEEE Computer Society, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. V. Raman, G. Attaluri, R. Barber, N. Chainani, D. Kalmuk, V. KulandaiSamy, J. Leenstra, S. Lightstone, S. Liu, G. M. Lohman, et al. Db2 with blu acceleration: So much more than just a column store. Proceedings of the VLDB Endowment, 6(11):1080–1091, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Ren, J. Zhao, S. Khan, J. Choi, Y. Wu, and O. Mutlu. ThyNVM: Enabling software-transparent crash consistency in persistent memory systems. In Proceedings of the 48th International Symposium on Microarchitecture, pages 672–685. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Team. Gridgain: In-memory computing platform, 2007.Google ScholarGoogle Scholar
  29. S. Venkatraman, N. Tolia, P. Ranganathan, and R. H. Campbell. Consistent and durable data structures for non-volatile byte addressable memory. In Proceedings of 9th Usenix Conference on File and Storage Technologies, pages 61–76. ACM Press, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. H. Volos, A. J. Tack, and M. Swift. Mnemosyne: Lightweight persistent memory. In Proceedings of 16th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 91–104. ACM Press, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Zhao, S. Li, D. H. Yoon, Y. Xie, and N. P. Jouppi. 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-46, pages 421–432, New York, NY, USA, 2013. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. J. Zhao, O. Mutlu, and Y. Xie. Firm: Fair and high-performance memory control for persistent memory systems. In Microarchitecture (MICRO), 2014 47th Annual IEEE/ACM International Symposium on, pages 153–165. IEEE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Continuous checkpointing of HTM transactions in NVM

      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
      • Published in

        cover image ACM Conferences
        ISMM 2017: Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management
        June 2017
        127 pages
        ISBN:9781450350440
        DOI:10.1145/3092255

        Copyright © 2017 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: 18 June 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate72of156submissions,46%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader