skip to main content
10.1145/2754169.2754176acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
research-article

Data structure aware garbage collector

Published: 14 June 2015 Publication History

Abstract

Garbage collection may benefit greatly from knowledge about program behavior, but most managed languages do not provide means for the programmer to deliver such knowledge. In this work we propose a very simple interface that requires minor programmer effort and achieves substantial performance and scalability improvements. In particular, we focus on the common use of data structures or collections for organizing data on the heap. We let the program notify the collector which classes represent nodes of data structures and also when such nodes are being removed from their data structures. The data-structure aware (DSA) garbage collector uses this information to improve performance, locality, and load balancing. Experience shows that this interface requires a minor modification of the application. Measurements show that for some significant benchmarks this interface can dramatically reduce the time spent on garbage collection and also improve the overall program performance.

References

[1]
E. E. Aftandilian and S. Z. Guyer. Gc assertions: using the garbage collector to check heap properties. In PLDI, pages 235–244, 2009.
[2]
B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. Shepherd, S. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The jalapeno virtual machine. IBM Systems Journal, 39(1):211– 238, 2000.
[3]
K. Barabash and E. Petrank. Tracing garbage collection on highly parallel platforms. In ISMM, pages 1–10. ACM, 2010.
[4]
K. Barabash, O. Ben-Yitzhak, I. Goft, E. K. Kolodner, V. Leikehman, Y. Ossia, A. Owshanko, and E. Petrank. A parallel, incremental, mostly concurrent garbage collector for servers. ACM Transactions on Programming Languages and Systems, 27(6):1097–1146, 2005.
[5]
S. M. Blackburn and K. S. McKinley. Ulterior reference counting: Fast garbage collection without a long wait. In OOPSLA, volume 38, pages 344–358. ACM, 2003.
[6]
S. M. Blackburn and K. S. McKinley. Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance. In PLDI, volume 43, pages 22–32. ACM, 2008.
[7]
S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, et al. The dacapo benchmarks: Java benchmarking development and analysis. In ACM Sigplan Notices, volume 41, pages 169–190. ACM, 2006.
[8]
D. Buytaert, K. Venstermans, L. Eeckhout, and K. De Bosschere. Gch: Hints for triggering garbage collections. In Transactions on High-Performance Embedded Architectures and Compilers I, pages 74–94. Springer, 2007.
[9]
S. Cherem and R. Rugina. Compile-time deallocation of individual objects. In ISMM, pages 138–149. ACM, 2006.
[10]
J. E. Cook, A. L. Wolf, and B. G. Zorn. A highly effective partition selection policy for object database garbage collection. Transactions on Knowledge and Data Engineering, 10 (1):153–172, 1998.
[11]
D. Detlefs and T. Printezis. A generational mostly-concurrent garbage collector. Technical report, Sun Microsystems, 2000.
[12]
T. Domani, E. K. Kolodner, and E. Petrank. A generational on-the-fly garbage collector for java. In PLDI, volume 35, pages 274–284. ACM, 2000.
[13]
H. Eran and E. Petrank. A study of data structures with a deep heap shape. In MSPC. ACM, 2013.
[14]
R. Garner, S. M. Blackburn, and D. Frampton. Effective prefetch for mark-sweep garbage collection. In ISMM, pages 43–54. ACM, 2007.
[15]
S. Z. Guyer, K. S. McKinley, and D. Frampton. Free-me: a static analysis for automatic individual object reclamation. PLDI, pages 364–375, 2006.
[16]
M. Hertz, Y. Feng, and E. D. Berger. Garbage collection without paging. In PLDI, volume 40, pages 143–153. ACM, 2005.
[17]
M. Hicks, G. Morrisett, D. Grossman, and T. Jim. Experience with safe manual memory-management in cyclone. In ISMM, pages 73–84. ACM, 2004.
[18]
H. Kermany and E. Petrank. The compressor: concurrent, incremental, and parallel compaction. In PLDI, pages 354– 363, 2006.
[19]
KittyCache. Kittycache. https://code.google.com/p/kittycache/, 2009.
[20]
Y. Levanoni and E. Petrank. An on-the-fly reference counting garbage collector for java. In OOPSLA, pages 367–380, 1999.
[21]
Y. Ossia, O. Ben-Yitzhak, I. Goft, E. K. Kolodner, V. Leikehman, and A. Owshanko. A parallel, incremental and concurrent gc for servers. In PLDI, pages 129–140, 2002.
[22]
P. Reames and G. Necula. Towards hinted collection: annotations for decreasing garbage collector pause times. In ISMM, pages 3–14. ACM, 2013.
[23]
N. Sachindran, J. E. B. Moss, and E. D. Berger. mc 2 : highperformance garbage collection for memory-constrained environments. OOPSLA, 39(10):81–98, 2004.
[24]
R. Shahriyar, S. M. Blackburn, X. Yang, and K. S. McKinley. Taking off the gloves with reference counting immix. In OOPSLA, pages 93–110, 2013.
[25]
Y. Shuf, M. Gupta, R. Bordawekar, and J. P. Singh. Exploiting prolific types for memory management and optimizations. Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 295–306, 2002.
[26]
F. Siebert. Limits of parallel marking collection. In ISMM, pages 21–29. ACM, 2008.
[27]
SPEC. Specjbb2005. http://www.spec.org/jbb2005/, 2005.
[28]
T. Ugawa, H. Iwasaki, and T. Yuasa. Improvements of recovery from marking stack overflow in mark sweep garbage collection. IPSJ Online Transactions, 5, 2012.
[29]
A. Wick and M. Flatt. Memory accounting without partitions. In ISMM, pages 120–130. ACM, 2004.
[30]
X. Yang, S. M. Blackburn, D. Frampton, J. B. Sartor, and K. S. McKinley. Why nothing matters: the impact of zeroing. In OOPSLA, volume 46, pages 307–324. ACM, 2011.

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
  • (2023) RemOrphan : Object Storage Sustainability Through Rem oving Offline-Processed Orphan Garbage Data IEEE Access10.1109/ACCESS.2023.331921711(107049-107067)Online publication date: 2023
  • (2019)Runtime Object Lifetime Profiler for Latency Sensitive Big Data ApplicationsProceedings of the Fourteenth EuroSys Conference 201910.1145/3302424.3303988(1-16)Online publication date: 25-Mar-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISMM '15: Proceedings of the 2015 International Symposium on Memory Management
June 2015
156 pages
ISBN:9781450335898
DOI:10.1145/2754169
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 50, Issue 11
    ISMM '15
    November 2015
    156 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2887746
    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: 14 June 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Collections
  2. Data structures
  3. Memory management
  4. Memory management interface
  5. Parallel garbage collection

Qualifiers

  • Research-article

Funding Sources

Conference

ISMM '15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 72 of 156 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 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
  • (2023) RemOrphan : Object Storage Sustainability Through Rem oving Offline-Processed Orphan Garbage Data IEEE Access10.1109/ACCESS.2023.331921711(107049-107067)Online publication date: 2023
  • (2019)Runtime Object Lifetime Profiler for Latency Sensitive Big Data ApplicationsProceedings of the Fourteenth EuroSys Conference 201910.1145/3302424.3303988(1-16)Online publication date: 25-Mar-2019
  • (2018)Characterizing and optimizing hotspot parallel garbage collection on multicore systemsProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190512(1-15)Online publication date: 23-Apr-2018
  • (2017)POLM2Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference10.1145/3135974.3135986(147-160)Online publication date: 11-Dec-2017
  • (2017)Garbology: a study of how Java objects dieProceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3133850.3133854(168-179)Online publication date: 25-Oct-2017
  • (2017)ForkscanProceedings of the Twelfth European Conference on Computer Systems10.1145/3064176.3064214(483-498)Online publication date: 23-Apr-2017
  • (2016)Prioritized garbage collection: explicit GC support for software cachesACM SIGPLAN Notices10.1145/3022671.298402851:10(695-710)Online publication date: 19-Oct-2016
  • (2016)Prioritized garbage collection: explicit GC support for software cachesProceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2983990.2984028(695-710)Online publication date: 19-Oct-2016
  • (2018)A Study on Garbage Collection Algorithms for Big Data EnvironmentsACM Computing Surveys10.1145/315681851:1(1-35)Online publication date: 10-Jan-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media