Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3240302.3240305acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmemsysConference Proceedingsconference-collections
research-article

Hardware transactional persistent memory

Published: 01 October 2018 Publication History
  • Get Citation Alerts
  • Abstract

    Emerging Persistent Memory technologies (also pm, Non-Volatile DIMMs, Storage Class Memory or scm) hold tremendous promise for accelerating popular data-management applications like in-memory databases. However, programmers now need to deal with ensuring the atomicity of transactions on Persistent Memory resident data and maintaining consistency between the order in which processors perform stores and that in which the updated values become durable.
    The problem is specially challenging when high-performance isolation mechanisms like Hardware Transactional Memory (htm) are used for concurrency control. This work shows how htm transactions can be ordered correctly and atomically into PM by the use of a novel software protocol combined with a Persistent Memory Controller, without requiring changes to processor cache hardware or htm protocols. In contrast, previous approaches require significant changes to existing processor microarchitectures. Our approach, evaluated using both micro-benchmarks and the stamp suite compares well with standard (volatile) htm transactions. It also yields significant gains in throughput and latency in comparison with persistent transactional locking.

    References

    [1]
    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., vol. 40, no. 4, pp. 45--51, Jan. 2012.
    [2]
    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," Proeeedings of the VLDB Endowment, vol. 6, no. 11, pp. 1080--1091, 2013.
    [3]
    R. Palamuttam, R. M. Mogrovejo, C. Mattmann, B. Wilson, K. Whitehall, R. Verma, L. McGibbney, and P. Ramirez, "Scispark: Applying in-memory distributed computing to weather event detection and tracking," in Big Data (Big Data), 2015 IEEE International Conference on. IEEE, 2015, pp. 2020--2026.
    [4]
    G. Team, "Gridgain: In-memory computing platform," 2007.
    [5]
    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, vol. 17, no. 34, pp. 1--7, 2016.
    [6]
    I. Corporation. (2015, July) Intel and Micron Produce Breakthrough Memory Technology. {Online}. Available: https://newsroom.intel.com/news-releases/intel-and-micron-produce-breakthrough-memory-technology/
    [7]
    M. Herlihy and J. E. B. Moss, Transactional Memory: Architectural support for lock-free data structures. ACM, 1993, vol. 21,2.
    [8]
    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. IEEE Computer Society, 2001, pp. 294--305.
    [9]
    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. ACM Press, 2011, pp. 91--104.
    [10]
    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, May 2015, pp. 1--14.
    [11]
    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, ser. OOPSLA '14. New York, NY, USA: ACM, 2014, pp. 433--452. {Online}. Available
    [12]
    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, vol. 8, no. 5, pp. 497--508, 2015.
    [13]
    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, ser. ASPLOS '17. New York, NY, USA: ACM, 2017, pp. 329--343. {Online}. Available
    [14]
    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, ser. MICRO-46. New York, NY, USA: ACM, 2013, pp. 421--432. {Online}. Available
    [15]
    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.
    [16]
    S. Li, P. Wang, N. Xiao, G. Sun, and F. Liu, "SPMS: Strand based persistent memory system," in Proceedings of the Conference on Design, Automation & Test in Europe, ser. DATE '17. 3001 Leuven, Belgium, Belgium: European Design and Automation Association, 2017, pp. 622--625. {Online}. Available: http://dl.acm.org/citation.cfm?id=3130379.3130529
    [17]
    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. ACM, 2013, p. 30.
    [18]
    L. Pu, K. Doshi, E. Giles, and P. Varman, "Non-Intrusive Persistence with a Backend NVM Controller," IEEE Computer Architecture Letters, vol. 15, no. 1, pp. 29--32, Jan 2016.
    [19]
    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 (HPCA). IEEE, March 2016.
    [20]
    Z. Wang, H. Yi, R. Liu, M. Dong, and H. Chen, "Persistent transactional memory," IEEE Computer Architecture Letters, vol. 14, no. 1, pp. 58--61, Jan 2015.
    [21]
    H. Avni, E. Levy, and A. Mendelson, "Hardware transactions in nonvolatile memory," in Proceedings of the 29th International Symposium on Distributed Computing - Volume 9363, ser. DISC 2015. New York, NY, USA: Springer-Verlag New York, Inc., 2015, pp. 617--630.
    [22]
    H. Avni and T. Brown, "PHyTM: Persistent hybrid transactional memory," Proceedings of the VLDB Endowment, vol. 10, no. 4, pp. 409--420, 2016.
    [23]
    E. Giles, K. Doshi, and P. Varman, "Brief announcement: Hardware transactional storage class memory" in Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and Architectures, ser. SPAA '17. New York, NY, USA: ACM, 2017, pp. 375--378. {Online}. Available
    [24]
    W. Ruan, Y. Liu, and M. Spear, "Boosting timestamp-based transactional memory by exploiting hardware cycle counters," ACM Transactions on Architecture and Code Optimization (TACO), vol. 10, no. 4, p. 40, 2013.
    [25]
    Y. Liu, J. Gottschlich, G. Pokam, and M. Spear, "Tsxprof: Profiling hardware transactions," in Parallel Architecture and Compilation (PACT), 2015 International Conference on. IEEE, 2015, pp. 75--86.
    [26]
    E. Giles, K. Doshi, and P. Varman, "Continuous Checkpointing of HTM Transactions in NVM," in Proceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management, ser. ISMM 2017. New York, NY, USA: ACM, 2017, pp. 70--81. {Online}. Available
    [27]
    Intel Corporation, "Intel Transactional Synchronization Extensions," in Intel Architecture Instruction Set Extensions Programming Reference, February 2012, ch. 8, http://software.intel.com/.
    [28]
    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. Springer, 2005, pp. 465--476.
    [29]
    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. IEEE, 2008, pp. 35--46.
    [30]
    D. Dice and N. Shavit, "Understanding tradeoffs in software transactional memory," in Code Generation and Optimization, 2007. CGO'07. International Symposium on. IEEE, 2007, pp. 21--33.
    [31]
    D. Dice, O. Shalev, and N. Shavit, "Transactional Locking II," in Distributed Computing. Springer, 2006, pp. 194--208.
    [32]
    C. C. Minh, "TL2-x86, a port of tl2 to x86 architecture," in On GitHub, ccaominh, tl2-x86. Stanford, 2015. {Online}. Available: https://github.com/ccaominh/tl2-x86
    [33]
    J. H. Ahn, S. Li, O. Seongil, and N. P. Jouppi, "Mcsima+: A manycore simulator with application-level+ simulation and detailed microarchitecture modeling," in Performance Analysis of Systems and Software (ISPASS), 2013 IEEE International Symposium on. IEEE, 2013, pp. 74--85.
    [34]
    C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood, "Pin: building customized program analysis tools with dynamic instrumentation," in ACM Sigplan Notices, vol. 40, no. 6. ACM, 2005, pp. 190--200.
    [35]
    P. Rosenfeld, E. Cooper-Balis, and B.Jacob, "Dramsim2: A cycle accurate memory system simulator," Computer Architecture Letters, vol. 10, no. 1, pp. 16--19, 2011.
    [36]
    S. Pelley, P. M. Chen, and T. F. Wenisch, "Memory persistency," in Computer Architecture (ISCA), 2014 ACM/IEEE 41st International Symposium on. IEEE, 2014, pp. 265--276.
    [37]
    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 the ACM SIGOPS 22Nd Symposium on Operating Systems Principles, ser. SOSP '09. New York, NY, USA: ACM, 2009, pp. 133--146. {Online}. Available
    [38]
    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. ACM Press, 2011, pp. 61--76.
    [39]
    D. Narayanan and O. Hodson, "Whole-system persistence," in Proceedings of 17th International Conference on Architectural Support for Programming Languages and Operating Systems. ACM Press, 2012, pp. 401--410.
    [40]
    M. K. Qureshi, V. Srinivasan, and J. A. Rivers, "Scalable high performance main memory system using phase-change memory technology," in Proceedings of the 36th Annual International Symposium on Computer Architecture, ser. ISCA '09. New York, NY, USA: ACM, 2009, pp. 24--33. {Online}. Available
    [41]
    P. Zhou, Y. Du, Y. Zhang, and J. Yang, "Fine-grained QoS scheduling for PCM-based main memory systems," in Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on. IEEE, 2010, pp. 1--12.
    [42]
    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. IEEE, 2014, pp. 153--165.
    [43]
    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. ACM, 2015, pp. 672--685.

    Cited By

    View all
    • (2023)Opportunities and Limitations of Hardware Timestamps in Concurrent Data Structures2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS54959.2023.00068(624-634)Online publication date: May-2023
    • (2022)JiffyProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508437(400-415)Online publication date: 2-Apr-2022
    • (2021)Persistent MemoryACM Computing Surveys10.1145/346540254:7(1-37)Online publication date: 18-Jul-2021
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    MEMSYS '18: Proceedings of the International Symposium on Memory Systems
    October 2018
    361 pages
    ISBN:9781450364751
    DOI:10.1145/3240302
    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 ACM 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: 01 October 2018

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article

    Conference

    MEMSYS '18
    MEMSYS '18: The International Symposium on Memory Systems
    October 1 - 4, 2018
    Virginia, Alexandria, USA

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Opportunities and Limitations of Hardware Timestamps in Concurrent Data Structures2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS54959.2023.00068(624-634)Online publication date: May-2023
    • (2022)JiffyProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508437(400-415)Online publication date: 2-Apr-2022
    • (2021)Persistent MemoryACM Computing Surveys10.1145/346540254:7(1-37)Online publication date: 18-Jul-2021
    • (2021)Transactions in the Era of Non Volatile Memory and Heterogeneous Memory ArchitecturesCompanion of the ACM/SPEC International Conference on Performance Engineering10.1145/3447545.3451904(93-94)Online publication date: 19-Apr-2021
    • (2021)Execution dependence extension (EDE)Proceedings of the 48th Annual International Symposium on Computer Architecture10.1109/ISCA52012.2021.00043(456-469)Online publication date: 14-Jun-2021
    • (2021)BBB: Simplifying Persistent Programming using Battery-Backed Buffers2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA51647.2021.00019(111-124)Online publication date: Feb-2021

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media