skip to main content
research-article

Exploring garbage collection with haswell hardware transactional memory

Published:12 June 2014Publication History
Skip Abstract Section

Abstract

Intel's latest processor microarchitecture, Haswell, adds support for a restricted form of transactional memory to the x86 programming model. We explore how this can be applied to three garbage collection scenarios in Jikes RVM: parallel copying, concurrent copying and bitmap marking. We demonstrate gains in concurrent copying speed over traditional synchronisation mechanisms of 48-101%. We also show how similar but portable performance gains can be achieved through software transactional memory techniques. We identify the architectural overhead of capturing sufficient work for transactional execution as a major stumbling block to the effective use of transactions in the other scenarios.

References

  1. B. Alpern, C. R. Attanasio, A. Cocchi, D. Lieber, S. Smith, T. Ngo, J. J. Barton, S. F. Hummel, J. C. Sheperd, and M. Mergen. Implementing Jalapeno in Java. In ACM SIGPLAN Conference on Object- Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN Notices 34(10), pages 314--324, Denver, CO, Oct. 1999. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. L. Amsaleg, M. Franklin, and O. Gruber. Garbage collection for a client-server persistent object store. ACM Transactions on Computer Systems, 17(3):153--201, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanovic, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN Notices 41(10), pages 169--190, Portland, OR, Oct. 2006. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H.-J. Boehm and M. Weiser. Garbage collection in an uncooperative environment. Software: Practice and Experience, 18(9):807--820, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. L. Detlefs. Concurrent, Atomic Garbage Collection. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, 15213, Nov. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Dieckmann and U. Hölzle. A study of the allocation behaviour ofthe SPECjvm98 Java benchmarks. In R. Guerraoui, editor, 13th European Conference on Object-Oriented Programming, volume 1628 of Lecture Notes in Computer Science, pages 92--115, Lisbon, Portugal, July 1999. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Georges, L. Eeckhout, and D. Buytaert. Java performance evaluation through rigorous replay compilation. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN Notices 43(10), pages 367--384,Nashville, TN, Oct. 2008. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Harris and K. Fraser. Language support for lightweight transactions. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN Notices 38(11), pages 388--402, Anaheim, CA, Nov. 2003. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Hayes. Using key object opportunism to collect old objects. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN Notices 26(11), pages 33--46, Phoenix, AZ, Nov. 1991. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. P. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In 20th Annual International Symposium on Computer Architecture, pages 289--300, San Diego, CA, May 1993. IEEE Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. L. Hudson and J. E. B. Moss. Sapphire: Copying garbage collection without stopping the world. Concurrency and Computation: Practice and Experience, 15(3--5):223--261, 2003.Google ScholarGoogle Scholar
  12. Intel. Intel® 64 and IA-32 Architectures Software Developer's Manual, June 2013.Google ScholarGoogle Scholar
  13. B. Iyengar, G. Tene, M.Wolf, and E. Gehringer. The Collie: a wait-free compacting collector. In McKinley and Vechev {19}, pages 85--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Jones and S. Blackburn, editors. 7th International Symposium on Memory Management, Tucson, AZ, June 2008. ACM Press. Google ScholarGoogle ScholarCross RefCross Ref
  15. R. Jones, A. Hosking, and E. Moss. The Garbage Collection Handbook: The Art of Automatic Memory Management. CRC Applied Algorithms and Data Structures. Chapman & Hall, Aug. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Jones and C. Ryder. A study of Java object demographics. In Jones and Blackburn {14}, pages 121--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Kalibera and R. Jones. Rigorous benchmarking in reasonable time. In E. Petrank and P. Cheng, editors, 12th International Symposium on Memory Management, Seattle, WA, June 2013. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. McGachey, A.-R. Adl-Tabatabi, R. L. Hudson, V. Menon, B. Saha, and T. Shpeisman. Concurrent GC leveraging transactional memory. In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 217--226, Salt Lake City, UT, Feb. 2008. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. McKinley and M. Vechev, editors. 11th International Symposium on Memory Management, Beijing, China, June 2012. ACM Press. Google ScholarGoogle Scholar
  20. C. G. Ritson and F. R. Barnes. An evaluation of Intels Restricted Transactional Memory for CPAs. In Communicating Process Architectures, 2013.Google ScholarGoogle Scholar
  21. N. Shavit and D. Touitou. Software transactional memory. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, pages 204--213, Aug. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. F. Siebert. Limits of parallel marking collection. In Jones and Blackburn {14}, pages 21--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Tene, B. Iyengar, and M. Wolf. C4: The continuously concurrent compacting collector. In H. Boehm and D. Bacon, editors, 10th International Symposium on Memory Management, pages 79--88, San Jose, CA, June 2011. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. X. Yang, S. M. Blackburn, D. Frampton, and A. L. Hosking. Barriers reconsidered, friendlier still! In McKinley and Vechev {19}, pages 37--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Zigman, S. M. Blackburn, and J. E. B. Moss. TMOS: a transactional garbage collector. In G. N. C. Kirby, A. Dearle, and D. I. K. Sjoberg, editors, 9th International Workshop on Persistent Object Systems (Sept., 2000), volume 2135 of Lecture Notes in Computer Science, pages 116--135, Lillehammer, Norway, 2001. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Exploring garbage collection with haswell hardware transactional memory

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

Full Access

  • Published in

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 49, Issue 11
    ISMM '14
    November 2014
    121 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2775049
    • Editor:
    • Andy Gill
    Issue’s Table of Contents
    • cover image ACM Conferences
      ISMM '14: Proceedings of the 2014 international symposium on Memory management
      June 2014
      136 pages
      ISBN:9781450329217
      DOI:10.1145/2602988

    Copyright © 2014 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 12 June 2014

    Check for updates

    Qualifiers

    • research-article

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!