skip to main content
research-article

Reference object processing in on-the-fly garbage collection

Published:12 June 2014Publication History
Skip Abstract Section

Abstract

Most proposals for on-the-fly garbage collection ignore the question of Java's weak and other reference types. However, we show that reference types are heavily used in DaCapo benchmarks. Of the few collectors that do address this issue, most block mutators, either globally or individually, while processing reference types. We introduce a new framework for processing reference types on-the-fly in Jikes RVM. Our framework supports both insertion and deletion write barriers. We have model checked our algorithm and incorporated it in our new implementation of the Sapphire on-the-fly collector. Using a deletion barrier, we process references while mutators are running in less than three times the time that previous approaches take while mutators are halted; our overall execution times are no worse, and often better.

References

  1. J. Auerbach, D. F. Bacon, B. Blainey, P. Cheng, M. Dawson, M. Fulton, D. Grove, D. Hart, and M. Stoodley. Design and implementation of a comprehensive real-time Java virtual machine. In 7th ACM & IEEE International Conference on Embedded Software, pages 249--258, Salzburg, Austria, Sept. 2007. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Auerbach, D. F. Bacon, P. Cheng, D. Grove, B. Biron, C. Gracie, B. McCloskey, A. Micic, and R. Sciampacone. Tax-and-spend: Democratic scheduling for real-time garbage collection. In 8th ACM International Conference on Embedded Software, pages 245--254, Atlanta, GA, 2008. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. H. Azatchi, Y. Levanoni, H. Paz, and E. Petrank. An on-the-fly mark and sweep garbage collector based on sliding views. In ACMSIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACMSIGPLANNotices 38(11), pages 269--281, Anaheim, CA, Nov. 2003. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. F. Bacon, P. Cheng, and V. Rajan. A real-time garbage collector with low overhead and consistent utilization. In 30th Annual ACM Symposium on Principles of Programming Languages, ACM SIGPLAN Notices 38(1), pages 285--298, New Orleans, LA, Jan. 2003. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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. Stefanović, 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
  6. C. Click, G. Tene, and M. Wolf. The Pauseless GC algorithm. In M. Hind and J. Vitek, editors, 1st ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 46--56, Chicago, IL, June 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Doligez and G. Gonthier. Portable, unobtrusive garbage collection for multiprocessor systems. In 21st Annual ACM Symposium on Principles of Programming Languages, pages 70--83, Portland, OR, Jan. 1994. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Domani, E. K. Kolodner, E. Lewis, E. E. Salant, K. Barabash, I. Lahan, E. Petrank, I. Yanover, and Y. Levanoni. Implementing an onthe- fly garbage collector for Java. In C. Chambers and A. L. Hosking, editors, 2nd International Symposium on Memory Management, ACM SIGPLAN Notices 36(1), pages 155--166, Minneapolis, MN, Oct. 2000. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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
  10. R. Henriksson. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, July 1998.Google ScholarGoogle Scholar
  11. G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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
  13. B. Iyengar, G. Tene, M. Wolf, and E. Gehringer. The Collie: a waitfree compacting collector. In McKinley and Vechev, editors, 11th International Symposium on Memory Management, pages 85--96, China, June 2012. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Jones, A. Hosking, and E. Moss. The Garbage CollectionHandbook: The Art of Automatic Memory Management. CRCApplied Algorithms and Data Structures. Chapman & Hall, Aug. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. Kalibera. Replicating real-time garbage collector for Java. In 7th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), pages 100--109, Madrid, Spain, Sept. 2009. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. McCloskey, D. F. Bacon, P. Cheng, and D. Grove. Staccato: A parallel and concurrent real-time compacting garbage collector for multiprocessors. IBM Research Report RC24505, IBM Research, 2008.Google ScholarGoogle Scholar
  17. Oracle Corp. Java Platform, Standard Edition 7: API Specification,2013.Google ScholarGoogle Scholar
  18. P. P. Pirinen. Barrier techniques for incremental tracing. In S. L. Peyton Jones and R. Jones, editors, 1st International Symposium on Memory Management, ACMSIGPLAN Notices 34(3), pages 20--25, Vancouver, Canada, Oct. 1998. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. F. Pizlo, D. Frampton, E. Petrank, and B. Steensgard. Stopless: A real-time garbage collector for multiprocessors. In G. Morrisett and M. Sagiv, editors, 6th International Symposium on Memory Management, pages 159--172, Montréal, Canada, Oct. 2007. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. F. Pizlo, A. L. Hosking, and J. Vitek. Hierarchical real-time garbage collection. In ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, ACMSIGPLANNotices 42(7), pages 123--133, San Diego, CA, June 2007. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. F. Pizlo, E. Petrank, and B. Steensgaard. A study of concurrent real-time garbage collectors. In R. Gupta and S. P. Amarasinghe, editors, ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM SIGPLAN Notices 43(6), pages 33--44, Tucson, AZ, June 2008. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, and J. Vitek. Schism: Fragmentation-tolerant real-time garbage collection. In ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM SIGPLAN Notices 45(6), pages 146--159, Toronto, Canada, June 2010. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Schoeberl and W. Puffitsch. Non-blocking object copy for realtime garbage collection. In 6th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES), pages 77--84, Santa Clara, CA, Sept. 2008. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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
  25. X. Yang, S. M. Blackburn, D. Frampton, and A. L. Hosking. Barriers reconsidered, friendlier still! In McKinley and Vechev, editors, 11th International Symposium on Memory Management, pages 37--48, China, June 2012. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Reference object processing in on-the-fly garbage collection

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!