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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 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. 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 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
- R. Henriksson. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, July 1998.Google Scholar
- G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, 2004. 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
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Oracle Corp. Java Platform, Standard Edition 7: API Specification,2013.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 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, editors, 11th International Symposium on Memory Management, pages 37--48, China, June 2012. ACM Press. Google Scholar
Digital Library
Index Terms
Reference object processing in on-the-fly garbage collection
Recommendations
Reference object processing in on-the-fly garbage collection
ISMM '14: Proceedings of the 2014 international symposium on Memory managementMost 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 ...
Adaptive scanning reduces sweep time for the Lisp2 mark-compact garbage collector
ISMM '13: Proceedings of the 2013 international symposium on memory managementMark-compact garbage collection helps long-running programs avoid fragmentation. The Lisp2 mark-compact collector is a classic but still widely-used compaction algorithm. It sequentially scans the entire heap to compact all live objects at one end of ...
Controlling garbage collection and heap growth to reduce the execution time of Java applications
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting it frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the risk of not ...







Comments