Abstract
The pervasiveness of multiprocessor and multicore hardware and the rising level of available parallelism are radically changing the computing landscape. Can software deal with tomorrow's potential higher parallelism? In this paper we study this issue from the garbage collection perspective. In particular, we investigate the scalability of parallel heap tracing, which stands at the core of the garbage collection activity. Heap shapes can be sequential in nature, and prevent the collector from scaling the trace. We start by proposing the idealized trace utilization as a scalability measure for evaluating the scalability of a given heap shape. We then examine standard Java benchmarks and evaluate the existence of non-scalable object-graph shapes in their execution. Next, we propose and implement a prototype of garbage collection techniques that attempt to ameliorate the object-graph shape problem. Finally, we measure and report their efficacy.
- Spec: The standard performance evaluation corporation. http://www.spec.org.Google Scholar
- Bowen Alpern, Dick Attanasio, John J. Barton, M. G. Burke, Perry Cheng, J.-D. Choi, Anthony Cocchi, Stephen J. Fink, David Grove, Michael Hind, Susan Flynn Hummel, D. Lieber, V. Litvinov, Mark Mergen, Ton Ngo, J. R. Russell, Vivek Sarkar, Manuel J. Serrano, Janice Shepherd, S. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño virtual machine. IBM Systems Journal, 39(1), February 2000. Google Scholar
Digital Library
- Hezi Azatchi, Yossi Levanoni, Harel Paz, and Erez Petrank. An on-the-fly mark and sweep garbage collector based on sliding view. In OOPSLA, 2003. Google Scholar
Digital Library
- David F. Bacon, Clement R. Attanasio, Han Bok Lee, V. T. Rajan, and Stephen E. Smith. Java without the coffee breaks: A nonintrusive multiprocessor garbage collector. In PLDI 2001 {27}, pages 92--103. Google Scholar
Digital Library
- David F. Bacon, Perry Cheng, and V.T. Rajan. A real-time garbage collector with low overhead and consistent utilization. In Conference Record of the Thirtieth Annual ACM Symposium on Principles of Programming Languages, ACM SIGPLAN Notices 38(1), New Orleans, LA, USA, January 2003. Google Scholar
Digital Library
- Katherine Barabash, Ori Ben-Yitzhak, Irit Goft, Elliot K. Kolodner, Victor Leikehman, Yoav Ossia, Avi Owshanko, and Erez Petrank. A parallel, incremental, mostly concurrent garbage collector for servers. ACM Transactions on Programming Languages and Systems, 27(6):1097--1146, November 2005. Google Scholar
Digital Library
- Stephen Blackburn, Robin Garner, Kathryn S. McKinley, Amer Diwan, Samuel Z. Guyer, Antony Hosking, J. Eliot B. Moss, and Darko Stefanović. The DaCapo benchmarks: Java benchmarking development and analysis. In OOPSLA, 2006. Google Scholar
Digital Library
- Stephen M. Blackburn, Perry Cheng, and Kathryn S. McKinley. Oil and water? High performance garbage collection in Java with MMTk. In Proceedings of the 26th International Conference on Software Engineering, pages 137--146, Edinburgh, May 2004. Google Scholar
Digital Library
- Hans-Juergen Boehm, Alan J. Demers, and Scott Shenker. Mostly parallel garbage collection. ACM SIGPLAN Notices, 26(6):157--164, 1991. Google Scholar
Digital Library
- Craig Chambers and Antony L. Hosking, editors. Proceedings of the Second International Symposium on Memory Management, ACM SIGPLAN Notices 36(1), Minneapolis, MN, October 2000. Google Scholar
- Perry Cheng and Guy Blelloch. A parallel, real-time garbage collector. In PLDI 2001 {27}, pages 125--136. Google Scholar
Digital Library
- Cliff Click. Private communication.Google Scholar
- Cliff Click, Gil Tene, and MichaelWolf. The Pauseless GC algorithm. In Michael Hind and Jan Vitek, editors, Proceedings of the First ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 46--56, Chicago, IL, USA, June 2005. Google Scholar
Digital Library
- Edsgar W. Dijkstra, Leslie Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-the-fly garbage collection: An exercise in cooperation. Communications of the ACM, 21(11):965--975, November 1978. Google Scholar
Digital Library
- Damien Doligez and Georges Gonthier. Portable, unobtrusive garbage collection for multiprocessor systems. In Conference Record of the Twenty-First Annual ACM Symposium on Principles of Programming Languages, Portland, OR, USA, January 1994. ACM Press. Google Scholar
Digital Library
- Damien Doligez and Xavier Leroy. A concurrent generational garbage collector for a multi-threaded implementation of ML. In Conference Record of the Twentieth Annual ACM Symposium on Principles of Programming Languages, pages 113--123, Charleston, SC, USA, January 1993. ACM Press. Google Scholar
Digital Library
- Tamar Domani, Elliot K. Kolodner, Ethan Lewis, Elliot E. Salant, Katherine Barabash, Itai Lahan, Erez Petrank, Igor Yanover, and Yossi Levanoni. Implementing an on-the-fly garbage collector for Java. In Chambers and Hosking {10}, pages 155--166.Google Scholar
- Tamar Domani, Elliot K. Kolodner, and Erez Petrank. A generational on-the-fly garbage collector for Java. In PLDI, 2000. Google Scholar
Digital Library
- Toshio Endo, Kenjiro Taura, and Akinori Yonezawa. A scalable marksweep garbage collector on large-scale shared-memory machines. In Proceedings of High Performance Computing and Networking (SC'97), 1997. Google Scholar
Digital Library
- Toshio Endo, Kenjiro Taura, and Akinori Yonezawa. Predicting scalability of parallel garbage collectors on shared memory multiprocessors. In IPDPS '01: Proceedings of the 15th International Parallel & Distributed Processing Symposium, page 43, Washington, DC, USA, 2001. IEEE Computer Society. Google Scholar
Digital Library
- Toshio Endo, Kenjiro Taura, and Akinori Yonezawa. Reducing pause time of conservative collectors. In Hans-J. Boehm and David Detlefs, editors, Proceedings of the Third International Symposium on Memory Management (June, 2002), ACM SIGPLAN Notices 38(2 supplement), pages 12--24, Berlin, Germany, February 2003. Google Scholar
Digital Library
- Christine Flood, Dave Detlefs, Nir Shavit, and Catherine Zhang. Parallel garbage collection for shared memory multiprocessors. In Proceedings of the First Java Virtual Machine Research and Technology Symposium, Monterey, CA, USA, April 2001. USENIX. Google Scholar
Digital Library
- Richard L. Hudson and J. Eliot B. Moss. Sapphire: Copying GC without stopping the world. In Joint ACM Java Grande -- ISCOPE 2001 Conference, Stanford University, CA, June 2001. Google Scholar
Digital Library
- Richard E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, July 1996. With a chapter on Distributed Garbage Collection by R. Lins.Google Scholar
Digital Library
- Yossi Levanoni and Erez Petrank. An on-the-fly reference counting garbage collector for Java. In OOPSLA, 2001. Google Scholar
Digital Library
- Filip Pizlo, Erez Petrank, and Bjarne Steensgaard. A study of concurrent real-time garbage collectors. In PLDI, 2008. Google Scholar
Digital Library
- Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM SIGPLAN Notices 36(5), Snowbird, UT, USA, June 2001.Google Scholar
- Tony Printezis and David Detlefs. A generational mostly-concurrent garbage collector. In Chambers and Hosking {10}, pages 143--154.Google Scholar
- Yefim Shuf, Manish Gupta, Hubertus Franke, Andrew Appel, and Jaswinder Pal Singh. Creating and preserving locality of Java applications at allocation and garbage collection times. In OOPSLA, 2002. Google Scholar
Digital Library
- Fridtjof Siebert. Limits of parallel marking collection. In Richard Jones and Steve Blackburn, editors, Proceedings of the Seventh International Symposium on Memory Management, pages 21--29, Tucson, AZ, USA, June 2008. ACM Press. Google Scholar
Digital Library
- Guy L. Steele. Multiprocessing compactifying garbage collection. Communications of the ACM, 18(9):495--508, September 1975. Google Scholar
Digital Library
- Guy L. Steele. Corrigendum: Multiprocessing compactifying garbage collection. Communications of the ACM, 19(6):354, June 1976.Google Scholar
- Herb Sutter. The free lunch is over: A fundamental turn toward concurrency in software. http://www.gotw.ca/publications/concurrency-ddj.htm, March 2005.Google Scholar
- Ming Wu and Xiao-Feng Li. Task-pushing: a scalable parallel GC marking algorithm without synchronization operations. In IEEE International Parallel and Distribution Processing Symposium (IPDPS) 2007, Long Beach, CA, March 2007.Google Scholar
Cross Ref
Index Terms
Tracing garbage collection on highly parallel platforms
Recommendations
Garbage-first garbage collection
ISMM '04: Proceedings of the 4th international symposium on Memory management<i>Garbage-First</i> is a server-style garbage collector, targeted for multi-processors with large memories, that meets a soft real-time goal with high probability, while achieving high throughput. Whole-heap operations, such as global marking, are ...
Tracing garbage collection on highly parallel platforms
ISMM '10: Proceedings of the 2010 international symposium on Memory managementThe pervasiveness of multiprocessor and multicore hardware and the rising level of available parallelism are radically changing the computing landscape. Can software deal with tomorrow's potential higher parallelism? In this paper we study this issue ...
An on-the-fly mark and sweep garbage collector based on sliding views
Special Issue: Proceedings of the OOPSLA '03 conferenceWith concurrent and garbage collected languages like Java and C# becoming popular, the need for a suitable non-intrusive, efficient, and concurrent multiprocessor garbage collector has become acute. We propose a novel mark and sweep on-the-fly algorithm ...







Comments