Abstract
Processors with hardware support for transactional memory (HTM) are rapidly becoming commonplace, and processor manufacturers are currently working on implementing support for upcoming non-volatile memory (NVM) technologies. The combination of HTM and NVM promises to be a natural choice for in-memory database synchronization. However, limitations on the size of hardware transactions and the lack of progress guarantees by modern HTM implementations prevent some applications from obtaining the full benefit of hardware transactional memory. In this paper, we propose a persistent hybrid TM algorithm called PHyTM for systems that support NVM and HTM. PHyTM allows hardware assisted ACID transactions to execute concurrently with pure software transactions, which allows applications to gain the benefit of persistent HTM while simultaneously accommodating unbounded transactions (with a high degree of concurrency). Experimental simulations demonstrate that PHyTM is fast and scalable for realistic workloads.
- H. Avni and T. Brown. Persistent hybrid transactional memory for databases. Manuscript available from http://phytm.tbrown.pro.Google Scholar
- H. Avni, E. Levy, and A. Mendelson. Hardware transactions in nonvolatile memory. In Proc. of 29th Int. Sym., DISC 2015, pages 617--630. Springer, 2015.Google ScholarDigital Library
- T. Brown. Brief announcement: Faster data structures in transactional memory using three paths. In Proceedings of the 25th ACM Symposium on Distributed Computing, pages 671--672. Springer-Verlag Berlin Heidelberg, 2015.Google Scholar
- Y. Chen, X. Wei, J. Shi, R. Chen, and H. Chen. Fast and general distributed transactions using RDMA and HTM. In Proceedings of the 12th European Conf. on Comp. Systems, EuroSys 2016, London, United Kingdom, April 18--21, 2016, pages 26:1--26:17, 2016. Google ScholarDigital Library
- J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson. Nv-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference, ASPLOS, pages 105--118, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- L. Dalessandro, F. Carouge, S. White, Y. Lev, M. Moir, M. L. Scott, and M. F. Spear. Hybrid norec: a case study in the effectiveness of best effort hardware transactional memory. In Proc. of 16th Int. Conf. on Arch. Supp. for Prog. Lang. and Oper. Sys., ASPLOS 2011, Newport Beach, CA, USA, March 5-11, 2011, pages 39--52, 2011. Google ScholarDigital Library
- P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In Proc. of 12th Int. Conf. on Arch. Supp. for Prog. Lang. and Oper. Sys., ASPLOS 2006, San Jose, CA, USA, October 21--25, 2006, pages 336--346, 2006. Google ScholarDigital Library
- D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In Distr. Comp., volume 4167 of Lec. Notes in Comp. Sci., pages 194--208. Springer Berlin Heidelberg, 2006. Google ScholarDigital Library
- P. Felber, C. Fetzer, and T. Riegel. Dynamic performance tuning of word-based software transactional memory. In PPoPP '08: Proceedings of the 13th ACM SIGPLAN Sym. on Principles and Practice of Par. Prog., pages 237--246. ACM, 2008. Google ScholarDigital Library
- R. Guerraoui and M. Kapalka. On the correctness of transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 175--184. ACM, 2008. Google ScholarDigital Library
- M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. of 20th Int. Sym. on Comp. Arch., ISCA '93, pages 289--300, New York, NY, USA, 1993. ACM. Google ScholarDigital Library
- Y. Huai. Spin-transfer torque MRAM (STT-MRAM): Challenges and prospects. AAPPS Bull., 18(6), 2008.Google Scholar
- Intel. Intel architecture instruction set extensions programming reference.Google Scholar
- Intel. Private communication with hardware engineers, February 2016.Google Scholar
- T. Karnagel, R. Dementiev, R. Rajwar, K. Lai, T. Legler, B. Schlegel, and W. Lehner. Improving in-memory database index performance with intel® transactional synchronization extensions. In 2014 IEEE 20th Int. Sym. on High Perf. Comp. Arch. (HPCA), pages 476--487. IEEE, 2014.Google Scholar
- S. Kumar, M. Chu, C. J. Hughes, P. Kundu, and A. D. Nguyen. Hybrid transactional memory. In Proc. of the ACM SIGPLAN Sym. on Principles and Practice of Parallel Programming, PPOPP 2006, New York, New York, USA, March 29--31, 2006, pages 209--220, 2006. Google ScholarDigital Library
- B. C. Lee, P. Zhou, J. Yang, Y. Zhang, B. Zhao, E. Ipek, O. Mutlu, and D. Burger. Phase-change technology and the future of main memory. IEEE Micro, 30(1):143, 2010. Google ScholarDigital Library
- V. Leis, A. Kemper, and T. Neumann. Exploiting hardware transactional memory in main-memory databases. In IEEE 30th International Conference on Data Engineering, Chicago, ICDE 2014, IL, USA, March 31 - April 4, 2014, pages 580--591, 2014.Google ScholarCross Ref
- A. Matveev and N. Shavit. Reduced hardware norec: A safe and scalable hybrid transactional memory. In Proc. of the 20th Int. Conf. on Arch. Supp. for Prog. Lang. and Oper. Sys., ASPLOS '15, pages 59--71, New York, NY, USA, 2015. ACM. Google ScholarDigital Library
- D. Narayanan and O. Hodson. Whole-system persistence. SIGPLAN Not., 47(4):401--410, Mar. 2012. Google ScholarDigital Library
- T. Riegel, P. Marlier, M. Nowack, P. Felber, and C. Fetzer. Optimizing hybrid transactional memory: the importance of nonspeculative operations. In SPAA 2011: Proc. of the 23rd ACM Sym. on Par. in Alg. and Arch., San Jose, CA, USA, June 4--6, 2011 (Co-located with FCRC 2011), pages 53--64, 2011. Google ScholarDigital Library
- D. Schwalb, M. Faust, M. Dreseler, P. Flemming, and H. Plattner. Leveraging non-volatile memory for instant restarts of in-memory database systems. In 2016 IEEE 32nd International Conference on Data Engineering (ICDE), pages 1386--1389. IEEE, 2016.Google ScholarCross Ref
- D. B. Strukov, G. S. Snider, D. R. Stewart, and R. S. Williams. The missing memristor found. Nature, 453(7191):80--83, May 2008.Google ScholarCross Ref
- H. Volos, A. J. Tack, and M. M. Swift. Mnemosyne: Lightweight persistent memory. SIGPLAN Not., 47(4):91--104, Mar. 2011. Google ScholarDigital Library
- Z. Wang, H. Qian, J. Li, and H. Chen. Using restricted transactional memory to build a scalable in-memory database. In Proceedings of the 9th European Conference on Computer Systems, EuroSys '14, pages 26:1--26:15, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- Z. Wang, H. Yi, R. Liu, M. Dong, and H. Chen. Persistent transactional memory. Computer Architecture Letters, 14(1):58--61, 2015.Google ScholarCross Ref
- X. Yu, G. Bezerra, A. Pavlo, S. Devadas, and M. Stonebraker. Staring into the abyss: An evaluation of concurrency control with one thousand cores. Proc. VLDB Endow., 8(3):209--220, Nov. 2014. Google ScholarDigital Library
Recommendations
Hybrid transactional memory
PPoPP '06: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programmingHigh performance parallel programs are currently difficult to write and debug. One major source of difficulty is protecting concurrent accesses to shared data with an appropriate synchronization mechanism. Locks are the most common mechanism but they ...
Hybrid transactional memory
Proceedings of the 2006 ASPLOS ConferenceTransactional memory (TM) promises to substantially reduce the difficulty of writing correct, efficient, and scalable concurrent programs. But "bounded" and "best-effort" hardware TM proposals impose unreasonable constraints on programmers, while more ...
Hybrid transactional memory
Proceedings of the 2006 ASPLOS ConferenceTransactional memory (TM) promises to substantially reduce the difficulty of writing correct, efficient, and scalable concurrent programs. But "bounded" and "best-effort" hardware TM proposals impose unreasonable constraints on programmers, while more ...
Comments