Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/949305.949335acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Mark-copy: fast copying GC with less space overhead

Published: 26 October 2003 Publication History

Abstract

Copying garbage collectors have a number of advantages over non-copying collectors, including cheap allocation and avoiding fragmentation. However, in order to provide completeness (the guarantee to reclaim each garbage object eventually), standard copying collectors require space equal to twice the size of the maximum live data for a program. We present a mark-copy collection algorithm (MC) that extends generational copying collection and significantly reduces the heap space required to run a program. MC reduces space overhead by 75--85% compared with standard copying garbage collectors, increasing the range of applications that can use copying garbage collection. We show that when MC is given the same amount of space as a generational copying collector, it improves total execution time of Java benchmarks significantly in tight heaps, and by 5--10% in moderate size heaps. We also compare the performance of MC with a (non-generational) mark-sweep collector and a hybrid copying/mark-sweep generational collector. We find that MC can run in heaps comparable in size to the minimum heap space required by mark-sweep. We also find that for most benchmarks MC is significantly faster than mark-sweep in small and moderate size heaps. When compared with the hybrid collector, MC improves total execution time by about 5% for some benchmarks, partly by increasing the speed of execution of the application code.

References

[1]
Bowen Alpern, C. R. Attanasio, Anthony Cocchi, Derek Lieber, Stephen Smith, Ton Ngo, John J. Barton, Susan Flynn Hummel, Janice~C. Sheperd, and Mark Mergen. Implementing Jalapeño in Java. In OOPSLA '99 {13}, pages 314--324.
[2]
Bowen Alpern, Dick Attanasio, John J. Barton, M. G. Burke, P. 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 System Journal, 39(1), February 2000.
[3]
Andrew W. Appel. Simple generational garbage collection and fast allocation. Software Practice and Experience, 19(2):171--183, 1989.
[4]
Ori Ben-Yitzhak, Irit Goft, Elliot Kolodner, Kean Kuiper, and Victor Leikehman. An algorithm for parallel incremental compaction. In ISMM '02 {10}, pages 100--105.
[5]
Stephen M. Blackburn, Richard Jones, Kathryn S. McKinley, and J. Eliot B. Moss. Beltway: Getting around garbage collection gridlock. In Proceedings of SIGPLAN 2002 Conference on Programming Languages Design and Implementation, ACM SIGPLAN Notices, pages 153--164, Berlin, June 2002. ACM Press.
[6]
Stephen M. Blackburn and Kathryn S. McKinley. In or out? Putting write barriers in their place. In ISMM '02 {10}, pages 175--184.
[7]
Perry Cheng and Guy Blelloch. A parallel, real-time garbage collector. In Proceedings of SIGPLAN 2001 Conference on Programming Languages Design and Implementation, ACM SIGPLAN Notices, pages 125--136, Snowbird, Utah, June 2001. ACM Press.
[8]
Richard L. Hudson and J. Eliot B. Moss. Incremental garbage collection for mature objects. In Yves Bekkers and Jacques Cohen, editors, Proceedings of International Workshop on Memory Management, volume 637 of Lecture Notes in Computer Science, pages 388--403, University of Massachusetts, USA, 16--18~September 1992. Springer-Verlag.
[9]
Richard L. Hudson, J. Eliot B. Moss, Amer Diwan, and Christopher F. Weight. A language-independent garbage collector toolkit. Technical Report COINS 91-47, University of Massachusetts at Amherst, Department of Computer and Information Science, September 1991.
[10]
ISMM'02 Proceedings of the Third International Symposium on Memory Management, ACM SIGPLAN Notices, Berlin, June 2002. ACM Press.
[11]
Bernard Lang and Francis Dupont. Incremental incrementally compacting garbage collection. In SIGPLAN'87 Symposium on Interpreters and Interpretive Techniques, volume 22(7) of ACM SIGPLAN Notices, pages 253--263. ACM Press, 1987.
[12]
Henry Lieberman and Carl E. Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 26(6):419--429, 1983. Also report TM--184, Laboratory for Computer Science, MIT, Cambridge, MA, July 1980 and AI Lab Memo 569, 1981.
[13]
OOPSLA'99 ACM Conference on Object-Oriented Systems, Languages, and Applications, volume 34(10) of ACM SIGPLAN Notices, Denver, CO, October 1999. ACM Press.
[14]
Anne Rogers, Martin C. Carlisle, John H. Reppy, and Laurie J. Hendren. Supporting dynamic data structures on distributed-memory machines. ACM Transactions on Programming Languages and Systems (TOPLAS), 17(2):233--263, March 1995.
[15]
Standard Performance Evaluation Corporation. SPECjvm98 Documentation, release 1.03 edition, March 1999.
[16]
Standard Performance Evaluation Corporation. SPECjbb2000 (Java Business Benchmark) Documentation, release 1.01 edition, 2001.
[17]
Darko Stefanović. Properties of Age-Based Automatic Memory Reclamation Algorithms. Ph.d. thesis, University of Massachusetts, Department of Computer Science, Amherst, MA, 1999.
[18]
Darko Stefanović, Matthew Hertz, Stephen M. Blackburn, Kathryn S. McKinley, and J. Eliot B. Moss. Older-first garbage collection in practice: Evaluation in a Java virtual machine. In Proceedings of the ACM SIGPLAN Workshop on Memory System Performance (MSP 2002), Berlin, Germany, June 2002.
[19]
Darko Stefanović, Kathryn S. McKinley, and J. Eliot B. Moss. Age-based garbage collection. In OOPSLA '99 {13}, pages 370--381.
[20]
David M. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. ACM SIGPLAN Notices, 19(5):157--167, April 1984. Also published as ACM Software Engineering Notes 9, 3 (May 1984) --- Proceedings of the ACM/SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, 157--167, April 1984.

Cited By

View all
  • (2020)Towards rigorous validation of energy optimisation experimentsProceedings of the 2020 Genetic and Evolutionary Computation Conference10.1145/3377930.3390245(1232-1240)Online publication date: 25-Jun-2020
  • (2014)Warm-Up Simulation Methodology for HW/SW Co-Designed ProcessorsProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2581122.2544142(284-294)Online publication date: 15-Feb-2014
  • (2014)Warm-Up Simulation Methodology for HW/SW Co-Designed ProcessorsProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2544137.2544142(284-294)Online publication date: 15-Feb-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
October 2003
430 pages
ISBN:1581137125
DOI:10.1145/949305
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 11
    Special Issue: Proceedings of the OOPSLA '03 conference
    November 2003
    417 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/949343
    Issue’s Table of Contents
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. copying collector
  3. generational collector
  4. mark-copy
  5. mark-sweep

Qualifiers

  • Article

Conference

OOPSLA03
Sponsor:

Acceptance Rates

OOPSLA '03 Paper Acceptance Rate 26 of 147 submissions, 18%;
Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Towards rigorous validation of energy optimisation experimentsProceedings of the 2020 Genetic and Evolutionary Computation Conference10.1145/3377930.3390245(1232-1240)Online publication date: 25-Jun-2020
  • (2014)Warm-Up Simulation Methodology for HW/SW Co-Designed ProcessorsProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2581122.2544142(284-294)Online publication date: 15-Feb-2014
  • (2014)Warm-Up Simulation Methodology for HW/SW Co-Designed ProcessorsProceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization10.1145/2544137.2544142(284-294)Online publication date: 15-Feb-2014
  • (2011)Bounded-latency regional garbage collectionACM SIGPLAN Notices10.1145/2168696.204785947:2(73-84)Online publication date: 24-Oct-2011
  • (2011)Waste not, want notACM SIGPLAN Notices10.1145/2076022.199348746:11(65-76)Online publication date: 4-Jun-2011
  • (2011)Bounded-latency regional garbage collectionProceedings of the 7th symposium on Dynamic languages10.1145/2047849.2047859(73-84)Online publication date: 24-Oct-2011
  • (2011)Waste not, want notProceedings of the international symposium on Memory management10.1145/1993478.1993487(65-76)Online publication date: 4-Jun-2011
  • (2011)Garbage collection algorithm based on embedded KVM2011 International Conference on Multimedia Technology10.1109/ICMT.2011.6002098(3535-3538)Online publication date: Jul-2011
  • (2010)Waiting-time prediction in scalable on-demand video streamingACM Transactions on Multimedia Computing, Communications, and Applications10.1145/1671962.16719676:2(1-25)Online publication date: 23-Mar-2010
  • (2010)An eye localization, tracking and blink pattern recognition systemACM Transactions on Multimedia Computing, Communications, and Applications10.1145/1671962.16719646:2(1-23)Online publication date: 23-Mar-2010
  • Show More Cited By

View Options

Get Access

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