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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- H.-J. Boehm and M. Weiser. Garbage collection in an uncooperative environment. Software: Practice and Experience, 18(9):807--820, 1988. Google Scholar
Digital Library
- D. L. Detlefs. Concurrent, Atomic Garbage Collection. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, 15213, Nov. 1991. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Intel. Intel® 64 and IA-32 Architectures Software Developer's Manual, June 2013.Google Scholar
- 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 Scholar
Digital Library
- R. Jones and S. Blackburn, editors. 7th International Symposium on Memory Management, Tucson, AZ, June 2008. ACM Press. Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- R. Jones and C. Ryder. A study of Java object demographics. In Jones and Blackburn {14}, pages 121--130. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- K. McKinley and M. Vechev, editors. 11th International Symposium on Memory Management, Beijing, China, June 2012. ACM Press. Google Scholar
- C. G. Ritson and F. R. Barnes. An evaluation of Intels Restricted Transactional Memory for CPAs. In Communicating Process Architectures, 2013.Google Scholar
- 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 Scholar
Digital Library
- F. Siebert. Limits of parallel marking collection. In Jones and Blackburn {14}, pages 21--29. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- X. Yang, S. M. Blackburn, D. Frampton, and A. L. Hosking. Barriers reconsidered, friendlier still! In McKinley and Vechev {19}, pages 37--48. Google Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Exploring garbage collection with haswell hardware transactional memory
Recommendations
Exploring garbage collection with haswell hardware transactional memory
ISMM '14: Proceedings of the 2014 international symposium on Memory managementIntel'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, ...
Lock-free and scalable multi-version software transactional memory
PPoPP '11Software Transactional Memory (STM) was initially proposed as a lock-free mechanism for concurrency control. Early implementations had efficiency limitations, and soon obstruction-free proposals appeared, to tackle this problem, often simplifying STM ...
Age-based garbage collection
Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, ...







Comments