Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1531743.1531749acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
research-article

Space-and-time efficient garbage collectors for parallel systems

Published: 18 May 2009 Publication History

Abstract

As multithreaded server applications and runtime systems prevail, garbage collection is becoming an essential feature to support high performance systems. The fundamental issue of garbage collector (GC) design is to maximize the recycled space with minimal time overhead. This paper proposes two innovative solutions: one to improve space efficiency, and the other to improve time efficiency. To achieve space efficiency, we propose the Space Tuner that utilizes the novel concept of allocation speed to reduce wasted space. Conventional static space partitioning techniques often lead to inefficient space utilization. The Space Tuner adjusts the heap partitioning dynamically such that when a collection is triggered, all space partitions are fully filled. To achieve time efficiency, we propose a novel parallelization method that reduces the compacting GC parallelization problem into a tree traversal parallelization problem. This method can be applied for both normal and large object compaction. Object compaction is hard to parallelize due to strong data dependencies such that the source object can not be moved to its target location until the object originally in the target location has been moved out. Our proposed algorithm overcomes the difficulties by dividing the heap into equal-sized blocks and parallelizing the movement of the independent blocks. It is noteworthy that these proposed algorithms are generic such that they can be utilized in different GC designs.

References

[1]
P.J. Caudill, A. Wirfs-Brock. A Third Generation Smalltalk-80 Implementation. Conference proceedings on Object-oriented programming systems, languages and applications, Portland, Oregon, USA, 1986
[2]
M. Hicks, L. Hornof, J.T. Moore, S.M. Nettles. A Study of Large Object Spaces. In Proceedings of International Symposium of Memory Management, Vancouver, British Columbia, Canada, 1998.
[3]
S. Soman, C. Krintz, D.F. Bacon. Dynamic selection of application-specific garbage collectors. In Proceedings of International Symposium of Memory Management, Vancouver, British Columbia, Canada, 2004.
[4]
D. Barrett and B.G. Zorn. Garbage Collection using a Dynamic Threatening Boundary. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, La Jolla, California, 1995.
[5]
R.E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, July 1996. With a chapter on Distributed Garbage Collection by R. Lins.
[6]
C. Flood, D. Detlefs, N. Shavit, and C. Zhang. Parallel garbage collection for shared memory multiprocessors. In Proceedings of the USENIX Java Virtual Machine Research and Technology Symposium, Monterey, California, 2001
[7]
D. Abuaiadh, Y. Ossia, E. Petrank, and U. Silbershtein. An efficient parallel heap compaction algorithm. In the ACM Conference on Object-Oriented Systems, Languages and Applications, Vancouver, British Columbia, Canada, 2004.
[8]
H. Kermany and E. Petrank. The Compressor: Concurrent, incremental and parallel compaction. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Ottawa, Canada, 2006.
[9]
M. Wegiel, C. Krintz, The Mapping Collector: Virtual Memory Support for Generational, Parallel, and Concurrent Compaction, In Proceedings of International Conference on Architectural Support for Programming Languages and Operating Systems, Seattle, WA, 2008.
[10]
Apache Harmony: Open-Source Java SE. http://harmony.apache.org/
[11]
Spec: The Standard Performance Evaluation Corporation. http://www.spec.org/
[12]
Dacapo Project: The DaCapo Benchmark Suite. http://www-ali.cs.umass.edu/dacapo/index.html
[13]
Ming Wu and Xiao-Feng Li, Task-pushing: a Scalable Parallel GC Marking Algorithm without Synchronization Operations. In Proceedings of IEEE International Parallel and Distributed Processing Symposium, Long Beach, California, 2007.
[14]
Common Language Runtime Overview. http://msdn.microsoft.com/en-us/library/ddk909ch(vs.71).aspx
[15]
G.L. Steele. Multiprocessing Compactifying Garbage Collection. Commun. ACM 18, 9 (Sep. 1975), 495--508.
[16]
E.W. Dijkstra, L. Lamport, A.J. Martin, C.S. Scholten, and E.F. Steffens. On-the-Fly Garbage Collection: an exercise in cooperation. Commun. ACM 21, 11 (Nov. 1978), 966--975.
[17]
T. Endo, K. Taura, and A. Yonezawa. A Scalable Mark-Sweep Garbage Collector on Large-Scale Shared-Memory Machines. In Proceedings of the 1997 ACM/IEEE Conference on Supercomputing.
[18]
D. Doligez and G. Gonthier. Portable, Unobtrusive Garbage Collection for Multiprocessor Systems. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
[19]
T. Domani, E.K. Kolodner, and E. Petrank. A generational on-the-fly garbage collector for Java. In Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation
[20]
H. Azatchi, Y. Levanoni, H. Paz, and E. Petrank. An On-the-Fly Mark and Sweep Garbage Collector Based on Sliding Views. In Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications

Cited By

View all
  • (2013)Mark-Sharing: A Parallel Garbage Collection Algorithm for Low Synchronization Overhead2013 International Conference on Parallel and Distributed Systems10.1109/ICPADS.2013.16(18-25)Online publication date: Dec-2013

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CF '09: Proceedings of the 6th ACM conference on Computing frontiers
May 2009
238 pages
ISBN:9781605584133
DOI:10.1145/1531743
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: 18 May 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. garbage collection
  2. java virtual machine

Qualifiers

  • Research-article

Conference

CF '09
Sponsor:
CF '09: Computing Frontiers Conference
May 18 - 20, 2009
Ischia, Italy

Acceptance Rates

CF '09 Paper Acceptance Rate 26 of 113 submissions, 23%;
Overall Acceptance Rate 273 of 785 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)3
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2013)Mark-Sharing: A Parallel Garbage Collection Algorithm for Low Synchronization Overhead2013 International Conference on Parallel and Distributed Systems10.1109/ICPADS.2013.16(18-25)Online publication date: Dec-2013

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