Extending Hardware Transactional Memory Capacity via Rollback-Only Transactions and Suspend/Resume

Authors Shady Issa, Pascal Felber, Alexander Matveev, Paolo Romano

Thumbnail PDF


  • Filesize: 0.57 MB
  • 16 pages

Document Identifiers

Author Details

Shady Issa
Pascal Felber
Alexander Matveev
Paolo Romano

Cite AsGet BibTex

Shady Issa, Pascal Felber, Alexander Matveev, and Paolo Romano. Extending Hardware Transactional Memory Capacity via Rollback-Only Transactions and Suspend/Resume. In 31st International Symposium on Distributed Computing (DISC 2017). Leibniz International Proceedings in Informatics (LIPIcs), Volume 91, pp. 28:1-28:16, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017)


Transactional memory (TM) aims at simplifying concurrent programming via the familiar abstraction of atomic transactions. Recently, Intel and IBM have integrated hardware based TM (HTM) implementations in commodity processors, paving the way for the mainstream adoption of the TM paradigm. Yet, existing HTM implementations suffer from a crucial limitation, which hampers the adoption of HTM as a general technique for regulating concurrent access to shared memory: the inability to execute transactions whose working sets exceed the capacity of CPU caches. In this paper we propose P8TM, a novel approach that mitigates this limitation on IBM's POWER8 architecture by leveraging a key combination of techniques: uninstrumented read-only transactions, Rollback Only Transaction-based update transactions, HTM-friendly (software-based) read-set tracking, and self-tuning. P8TM can dynamically switch between different execution modes to best adapt to the nature of the transactions and the experienced abort patterns. In-depth evaluation with several benchmarks indicates that P8TM can achieve striking performance gains in workloads that stress the capacity limitations of HTM, while achieving performance on par with HTM even in unfavourable workloads.
  • hardware transactional memory
  • self tuning
  • parallel programming


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. https://github.com/shadyalaa/POWER8TM, 2017. URL: https://github.com/shadyalaa/POWER8TM.
  2. A. Adl-Tabatabai, , T. Shpeisman, and J. Gottschlich. “draft specification of transactional language constructs for c++. Intel, 2012. Google Scholar
  3. Y. Afek, A. Levy, and A. Morrison. Programming with hardware lock elision. In Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'13), pages 295-296, 2013. URL: http://dx.doi.org/10.1145/2442516.2442552.
  4. H. Boehm, J. Gottschlich, V. Luchangco, M. Michael, M. Moir, C. Nelson, T. Riegel, T. Shpeisman, and M. Wong. Transactional language constructs for c++. ISO/IEC JTC1/SC22 WG21 (C++), 2012. Google Scholar
  5. H. W. Cain, M. M. Michael, B. Frey, C. May, D. Williams, and H. Le. Robust architectural support for transactional memory in the power architecture. SIGARCH Comput. Archit. News, 41(3), 2013. Google Scholar
  6. I. Calciu, T. Shpeisman, G. Pokam, and M. Herlihy. Improved single global lock fallback for best-effort hardware transactional memory. 9th ACM SIGPLAN Wkshp. on Transactional Computing, 2014. Google Scholar
  7. Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. STAMP: Stanford transactional applications for multi-processing. In IISWC'08, 2008. Google Scholar
  8. 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 ASPLOS'11, 2011. Google Scholar
  9. P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In ASPLOS'06, 2006. Google Scholar
  10. D. Dice, T. L. Harris, A. Kogan, Y. Lev, and M. Moir. Hardware extensions to make lazy subscription safe. CoRR, abs/1407.6968, 2014. Google Scholar
  11. D. Dice, Y. Lev, M. Moir, and D. Nussbaum. Early experience with a commercial hardware transactional memory implementation. In ASPLOS'09, 2009. Google Scholar
  12. D. Dice and N. Shavit. Understanding tradeoffs in software transactional memory. In CGO'07, 2007. Google Scholar
  13. N. Diegues and P. Romano. Self-tuning intel transactional synchronization extensions. In ICAC'14, 2014. Google Scholar
  14. N. Diegues, P. Romano, and S. Garbatov. Seer: Probabilistic scheduling for hardware transactional memory. In SPAA'15, 2015. Google Scholar
  15. N. Diegues, P. Romano, and L. Rodrigues. Virtues and limitations of commodity hardware transactional memory. In PACT'14, 2014. Google Scholar
  16. P. Felber, S. Issa, A. Matveev, and P. Romano. Hardware read-write lock elision. In EuroSys'16, 2016. Google Scholar
  17. B. Goel, R. Titos-Gil, A. Negi, S. A. McKee, and P. Stenstrom. Performance and energy analysis of the restricted transactional memory implementation on haswell. In IPDPS'14, 2014. Google Scholar
  18. S. Issa, P. Felber, A. Matveev, and P. Romano. Extending hardware transactional memory capacity via rollback-only transactions and suspend/resume. Technical report, INESC-ID'17, 2017. Google Scholar
  19. C.C Jacobi, T. Slegel, and D. Greiner. Transactional memory architecture and implementation for ibm system z. In MICRO-45, 2012. Google Scholar
  20. S. Kumar, M. Chu, C. J. Hughes, P. Kundu, and A. Nguyen. Hybrid transactional memory. In PPoPP'06, 2006. Google Scholar
  21. T. Lai and H. Robbins. Asymptotically efficient adaptive allocation rules. Advances in Applied Mathematics, 1985. Google Scholar
  22. H.Q. Le, G.L. Guthrie, D.E. Williams, M.M. Michael, B.G. Frey, W.J. Starke, C. May, R. Odaira, and T. Nakaike. Transactional memory support in the ibm power8 processor. IBM Journal of Research and Development, 59(1), 2015. Google Scholar
  23. A. Matveev and N. Shavit. Reduced hardware norec: A safe and scalable hybrid transactional memory. In ASPLOS'15, 2015. Google Scholar
  24. T. Nakaike, R. Odaira, M. Gaudet, M. M. Michael, and H. Tomari. Quantitative comparison of hardware transactional memory for blue gene/q, zenterprise ec12, intel core, and power8. In ISCA'15, 2015. Google Scholar
  25. R. M. Yoo, C. J. Hughes, K. Lai, and R. Rajwar. Performance evaluation of intel transactional synchronization extensions for high-performance computing. In SC'13, 2013. Google Scholar