skip to main content
research-article
Open Access

Limitations of Partial Compaction: Towards Practical Bounds

Published:06 March 2017Publication History
Skip Abstract Section

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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Hans-Juergen Boehm. 2002. Bounding space usage of conservative garbage collectors, See POPL 2002 {2002}, 93--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Richard Jones, Antony Hosking, and Eliot Moss. 2011. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman 8 Hall. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. POPL. 2002. Twenty-Ninth Annual ACM Symposium on Principles of Programming Languages. ACM Press, New York, NY.Google ScholarGoogle Scholar
  14. J.M. Robson. 1971. An estimate of the store size necessary for dynamic storage allocation. J. ACM 18, 3 (1971), 416--423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J.M. Robson. 1974. Bounds for some functions concerning dynamic storage allocation. J. ACM 21, 3 (1974), 491--499. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Limitations of Partial Compaction: Towards Practical Bounds

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • 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

                Copyright © 2017 ACM

                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: 6 March 2017
                • Accepted: 1 September 2016
                • Revised: 1 February 2016
                • Received: 1 August 2014
                Published in toplas Volume 39, Issue 1

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Research
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader