[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Tracing garbage collection on highly parallel platforms

Published: 05 June 2010 Publication History

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.

References

[1]
Spec: The standard performance evaluation corporation. http://www.spec.org.
[2]
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.
[3]
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.
[4]
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.
[5]
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.
[6]
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.
[7]
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.
[8]
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.
[9]
Hans-Juergen Boehm, Alan J. Demers, and Scott Shenker. Mostly parallel garbage collection. ACM SIGPLAN Notices, 26(6):157--164, 1991.
[10]
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.
[11]
Perry Cheng and Guy Blelloch. A parallel, real-time garbage collector. In PLDI 2001 {27}, pages 125--136.
[12]
Cliff Click. Private communication.
[13]
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.
[14]
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.
[15]
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.
[16]
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.
[17]
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.
[18]
Tamar Domani, Elliot K. Kolodner, and Erez Petrank. A generational on-the-fly garbage collector for Java. In PLDI, 2000.
[19]
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.
[20]
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.
[21]
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.
[22]
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.
[23]
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.
[24]
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.
[25]
Yossi Levanoni and Erez Petrank. An on-the-fly reference counting garbage collector for Java. In OOPSLA, 2001.
[26]
Filip Pizlo, Erez Petrank, and Bjarne Steensgaard. A study of concurrent real-time garbage collectors. In PLDI, 2008.
[27]
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM SIGPLAN Notices 36(5), Snowbird, UT, USA, June 2001.
[28]
Tony Printezis and David Detlefs. A generational mostly-concurrent garbage collector. In Chambers and Hosking {10}, pages 143--154.
[29]
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.
[30]
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.
[31]
Guy L. Steele. Multiprocessing compactifying garbage collection. Communications of the ACM, 18(9):495--508, September 1975.
[32]
Guy L. Steele. Corrigendum: Multiprocessing compactifying garbage collection. Communications of the ACM, 19(6):354, June 1976.
[33]
Herb Sutter. The free lunch is over: A fundamental turn toward concurrency in software. http://www.gotw.ca/publications/concurrency-ddj.htm, March 2005.
[34]
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.

Cited By

View all
  • (2023)Linear-Mark: Locality vs. Accuracy in Mark-Sweep Garbage CollectionProceedings of the International Symposium on Memory Systems10.1145/3631882.3631893(1-12)Online publication date: 2-Oct-2023
  • (2013)Divergence-aware warp schedulingProceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/2540708.2540718(99-110)Online publication date: 7-Dec-2013
  • (2012)GPUs as an opportunity for offloading garbage collectionACM SIGPLAN Notices10.1145/2426642.225900247:11(25-36)Online publication date: 15-Jun-2012
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 45, Issue 8
ISMM '10
August 2010
129 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1837855
Issue’s Table of Contents
  • cover image ACM Conferences
    ISMM '10: Proceedings of the 2010 international symposium on Memory management
    June 2010
    140 pages
    ISBN:9781450300544
    DOI:10.1145/1806651
    • General Chair:
    • Jan Vitek,
    • Program Chair:
    • Doug Lea
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 June 2010
Published in SIGPLAN Volume 45, Issue 8

Check for updates

Author Tags

  1. garbage collection
  2. memory management
  3. parallel garbage collection
  4. runtime systems

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Linear-Mark: Locality vs. Accuracy in Mark-Sweep Garbage CollectionProceedings of the International Symposium on Memory Systems10.1145/3631882.3631893(1-12)Online publication date: 2-Oct-2023
  • (2013)Divergence-aware warp schedulingProceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/2540708.2540718(99-110)Online publication date: 7-Dec-2013
  • (2012)GPUs as an opportunity for offloading garbage collectionACM SIGPLAN Notices10.1145/2426642.225900247:11(25-36)Online publication date: 15-Jun-2012
  • (2012)GPUs as an opportunity for offloading garbage collectionProceedings of the 2012 international symposium on Memory Management10.1145/2258996.2259002(25-36)Online publication date: 15-Jun-2012
  • (2023)Improving Garbage Collection Observability with Performance TracingProceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3617651.3622986(85-99)Online publication date: 19-Oct-2023
  • (2022)Low-latency, high-throughput garbage collectionProceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation10.1145/3519939.3523440(76-91)Online publication date: 9-Jun-2022
  • (2016)Thinking Inside the BoxACM Transactions on Programming Languages and Systems10.1145/286657638:3(1-37)Online publication date: 8-Apr-2016
  • (2015)SuperMalloc: a super fast multithreaded malloc for 64-bit machinesACM SIGPLAN Notices10.1145/2887746.275417850:11(41-55)Online publication date: 14-Jun-2015
  • (2015)Concurrent compaction using a field pinning protocolACM SIGPLAN Notices10.1145/2887746.275417750:11(56-69)Online publication date: 14-Jun-2015
  • (2015)Data structure aware garbage collectorACM SIGPLAN Notices10.1145/2887746.275417650:11(28-40)Online publication date: 14-Jun-2015
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media