skip to main content
10.1145/1508244.1508262acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Maximum benefit from a minimal HTM

Published:07 March 2009Publication History

ABSTRACT

A minimal, bounded hardware transactional memory implementation significantly improves synchronization performance when used in an operating system kernel. We add HTM to Linux 2.4, a kernel with a simple, coarse-grained synchronization structure. The transactional Linux 2.4 kernel can improve performance of user programs by as much as 40% over the non-transactional 2.4 kernel. It closes 68% of the performance gap with the Linux 2.6 kernel, which has had significant engineering effort applied to improve scalability.

We then extend our minimal HTM to a fast, unbounded transactional memory with a novel technique for coordinating hardware transactions and software synchronization. Overflowed transactions run in software, with only a minimal coupling between hardware and software systems. There is no performance penalty for overflow rates of less than 1%. In one instance, at 16 processors and an overflow rate of 4%, performance degrades from an ideal 4.3x to 3.6x.

References

  1. L. Baugh, N. Neelakantam, and C. Zilles. Using hardware memory protection to build a high--performance, strongly-atomic hybrid transactional memory. In ISCA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Blundell, E. C. Lewis, andM.M. K.Martin. Deconstructing transactions: The subtleties of atomicity. In WDDD. 2005.Google ScholarGoogle Scholar
  3. C. Blundell, J. Devietti, E. C. Lewis, and M. M. K. Martin. Making the fast case common and the uncommon case simple in unbounded transactional memory. In ISCA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Bobba, N. Goyal,M. D. Hill,M.M. Swift, and D. A.Wood. Tokentm: Efficient execution of large transactions with hardware transactional memory. In ISCA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Cao Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. In ISCA. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Ceze, J. Tuck, J. Torrellas, and C. Cascaval. Bulk disambiguation of speculative threads in multiprocessors. In ISCA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. W. Chuang, S. Narayanasamy, G. Venkatesh, J. Sampson, M. V. Biesbrouck, G. Pokam, B. Calder, and O. Colavin. Unbounded page-based transactional memory. In ASPLOS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Chung, C. Cao Minh, A. McDonald, H. Chafi, B. D. Carlstrom, T. Skare, C. Kozyrakis, and K. Olukotun. Tradeoffs in transactional memory virtualization. In ASPLOS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Click Jr. Pausing transactional memory hardware. In Cliff Click Jr.'s Blog's Blog, 2007. URL http://www.typepad.com/t/trackback/240313/20967813.Google ScholarGoogle Scholar
  10. P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In ASPLOS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In DISC. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Dice, M. Herlihy, D. Lea, Y. Lev, V. Luchangco, W. Mesard, M. Moir, K. Moore, and D. Nussbaum. Applications of the adaptive transactional memory test platform. In TRANSACT, 2008.Google ScholarGoogle Scholar
  13. E. Elnozahy, D. Johnson, and Y. Wang. A survey of rollbackrecovery protocols in message-passing systems, 1996. URL citeseer.ist.psu.edu/article/elnozahy96survey.html.Google ScholarGoogle Scholar
  14. J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 2nd edition, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Kumar, M. Chu, C. J. Hughes, P. Kundu, and A. Nguyen. Hybrid transactional memory. In PPoPP, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. R. Larus and R. Rajwar. Transactional Memory. Morgan & Claypool, 2006.Google ScholarGoogle Scholar
  17. R. Love. Linux Kernel Development (2nd Edition) (Novell Press). Novell Press, 2005. ISBN 0672327201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hållberg, J. Högberg, F. Larsson, A. Moestedt, and B. Werner. Simics: A full system simulation platform. In IEEE Computer vol.35 no.2, Feb 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. M. Mark Moir and D. Nussbaum. The adaptive transactional memory test platform: A tool for experimenting with transactional code for rock. In TRANS-ACT, February 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. McDonald, J. Chung, B. D. Carlstrom, C. C. Minh, H. Chafi, C. Kozyrakis, and K. Olukotun. Architectural semantics for practical transactional memory. In ISCA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. Stamp: Stanford transactional applications for multi-processing. In IISWC, 2008.Google ScholarGoogle Scholar
  22. J. K. Ousterhout. Why aren't operating systems getting faster as fast as hardware? In USENIX Summer, pages 247--256, 1990.Google ScholarGoogle Scholar
  23. R. Rajwar and J. R. Goodman. Speculative lock elision: enabling highly concurrent multithreaded execution. In MICRO, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Rajwar and J. R. Goodman. Transactional lock-free execution of lock-based programs. In ASPLOS, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional memory. In ISCA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. H. Ramadan, C. Rossbach, and E. Witchel. The Linux kernel: A challenging workload for transactional memory. In WTW, 2006.Google ScholarGoogle Scholar
  27. H. Ramadan, C. Rossbach, and E. Witchel. Dependence-aware transactional memory for increased concurrency. In MICRO, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. H. E. Ramadan, C. J. Rossbach, D. E. Porter, O. S. Hofmann, A. Bhandari, and E. Witchel. MetaTM/TxLinux: Transactional memory for an operating system. In ISCA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. H. E. Ramadan, I. Roy, M. Herlihy, and E. Witchel. Committing conflicting transactions in an STM. In PPoPP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. C. J. Rossbach, O. S. Hofmann, D. E. Porter, H. E. Ramadan, B. Aditya, and E. Witchel. Txlinux: using and managing hardware transactional memory in an operating system. In SOSP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. B. Saha, A.-R. Adl-Tabatabai, and Q. Jacobson. Architectural support for software transactional memory. In MICRO, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. Shriraman, M. F. Spear, H. Hossain, V. J. Marathe, S. Dwarkadas, and M. L. Scott. An integrated hardware-software approach to flexible transactional memory. In ISCA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. A. Shriraman, S. Dwarkadas, and M. L. Scott. Flexible decoupled transactional memory support. In ISCA. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. F. Spear, M. M. Michael, and M. L. Scott. Inevitability mechanisms for software transactional memory. In TRANSACT, 2008.Google ScholarGoogle Scholar
  35. M. M. Swift, H. Volos, N. Goyal, L. Yen, M. D. Hill, and D. A. Wood. OS support for virtualizing transactional memory. In TRANSACT, 2008.Google ScholarGoogle Scholar
  36. L. Yen, J. Bobba,, M. Marty, K. E. Moore, H. Volos, M. D. Hill,, M. M. Swift, and D. A. Wood. LogTM-SE: Decoupling hardware transactional memory from caches. In HPCA. Feb 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. Zilles and L. Baugh. Extending hardware transactional memory to support nonbusy waiting and nontransactional actions. In TRANSACT, 2006.Google ScholarGoogle Scholar

Index Terms

  1. Maximum benefit from a minimal HTM

        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

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!