skip to main content
research-article
Open access

Limitations of Partial Compaction: Towards Practical Bounds

Published: 06 March 2017 Publication History

Abstract

Compaction of a managed heap is a costly operation to be avoided as much as possible in commercial runtimes. Instead, partial compaction is often used to defragment parts of the heap and avoid space blowup. Previous study of compaction limitation provided some initial asymptotic bounds but no implications for practical systems. In this work, we extend the theory to obtain better bounds and make them strong enough to become meaningful for modern systems.

References

[1]
Diab Abuaiadh, Yoav Ossia, Erez Petrank, and Uri Silbershtein. 2004. An efficient parallel heap compaction algorithm. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (ACM SIGPLAN Notices 39(10)). ACM Press, New York, NY, 224--236.
[2]
David F. Bacon, Perry Cheng, and V. T. Rajan. 2003. A real-time garbage collector with low overhead and consistent utilization. In 30th Annual ACM Symposium on Principles of Programming Languages (ACM SIGPLAN Notices 38(1)). ACM Press, New York, NY, 285--298.
[3]
Ori Ben-Yitzhak, Irit Goft, Elliot Kolodner, Kean Kuiper, and Victor Leikehman. 2002. An algorithm for parallel incremental compaction. In 3rd International Symposium on Memory Management (ACM SIGPLAN Notices 38(2 supplement)), Hans-J. Boehm and David Detlefs (Eds.). ACM Press, New York, NY, 100--105.
[4]
A. Bendersky and E. Petrank. 2011. Space overhead bounds for dynamic memory management with partial compaction. Princip. Programm. Lang. 34, 3 (2011), 491--499.
[5]
Hans-Juergen Boehm. 2002. Bounding space usage of conservative garbage collectors, See POPL 2002 {2002}, 93--100.
[6]
Hans-Juergen Boehm. 2004. The space cost of lazy reference counting. In 31st Annual ACM Symposium on Principles of Programming Languages (ACM SIGPLAN Notices 39(1)). ACM Press, New York, NY, 210--219.
[7]
Cliff Click, Gil Tene, and Michael Wolf. 2005. The Pauseless GC algorithm. In 1st ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, Michael Hind and Jan Vitek (Eds.). ACM Press, New York, NY, 46--56.
[8]
David Detlefs, Christine Flood, Steven Heller, and Tony Printezis. 2004. Garbage-first garbage collection. In 4th International Symposium on Memory Management, David F. Bacon and Amer Diwan (Eds.). ACM Press, New York, NY, 37--48.
[9]
Richard Jones, Antony Hosking, and Eliot Moss. 2011. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman 8 Hall.
[10]
Haim Kermany and Erez Petrank. 2006. The compressor: Concurrent, incremental and parallel compaction. In ACM SIGPLAN Conference on Programming Language Design and Implementation (ACM SIGPLAN Notices 41(6)), Michael I. Schwartzbach and Thomas Ball (Eds.). ACM Press, New York, NY, 354--363.
[11]
Erez Petrank and Dror Rawitz. 2002. The hardness of cache conscious data placement. In Proceedings of the 29th Annual ACM Symposium on Principles of Programming Languages. ACM, New York, NY, 101--112.
[12]
Filip Pizlo, Erez Petrank, and Bjarne Steensgaard. 2008. A study of concurrent real-time garbage collectors. In ACM SIGPLAN Conference on Programming Language Design and Implementation (ACM SIGPLAN Notices 43(6)), Rajiv Gupta and Saman P. Amarasinghe (Eds.). ACM Press, New York, NY, 33--44.
[13]
POPL. 2002. Twenty-Ninth Annual ACM Symposium on Principles of Programming Languages. ACM Press, New York, NY.
[14]
J.M. Robson. 1971. An estimate of the store size necessary for dynamic storage allocation. J. ACM 18, 3 (1971), 416--423.
[15]
J.M. Robson. 1974. Bounds for some functions concerning dynamic storage allocation. J. ACM 21, 3 (1974), 491--499.

Cited By

View all
  • (2022)Study of Energy-Efficient Optimization Techniques for High-Level Homogeneous Resource ManagementWireless Communications and Mobile Computing10.1155/2022/19535102022(1-12)Online publication date: 27-Jul-2022
  • (2019)Mesh: compacting memory management for C/C++ applicationsProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314582(333-346)Online publication date: 8-Jun-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 39, Issue 1
March 2017
156 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/3050768
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 the author(s) 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: 06 March 2017
Accepted: 01 September 2016
Revised: 01 February 2016
Received: 01 August 2014
Published in TOPLAS Volume 39, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Memory management
  2. compaction
  3. fragmentation
  4. lower bounds
  5. theory

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • Nechemya LevZion VATAT scholarship
  • Israeli Science Foundation

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)55
  • Downloads (Last 6 weeks)12
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Study of Energy-Efficient Optimization Techniques for High-Level Homogeneous Resource ManagementWireless Communications and Mobile Computing10.1155/2022/19535102022(1-12)Online publication date: 27-Jul-2022
  • (2019)Mesh: compacting memory management for C/C++ applicationsProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314582(333-346)Online publication date: 8-Jun-2019

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media