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

Space overhead bounds for dynamic memory management with partial compaction

Published: 26 January 2011 Publication History

Abstract

Dynamic memory allocation is ubiquitous in today's runtime environments. Allocation and de-allocation of objects during program execution may cause fragmentation and foil the program's ability to allocate objects. Robson has shown that a worst case scenario can create a space overhead within a factor of log(n) of the space that is actually required by the program, where n is the size of the largest possible object. Compaction can eliminate fragmentation, but is too costly to be run frequently. Many runtime systems employ partial compaction, in which only a small fraction of the allocated objects are moved. Partial compaction reduces some of the existing fragmentation at an acceptable cost. In this paper we study the effectiveness of partial compaction and provide the first rigorous lower and upper bounds on its effectiveness in reducing fragmentation at a low cost.

Supplementary Material

MP4 File (44-mpeg-4.mp4)

References

[1]
Diab Abuaiadh, Yoav Ossia, Erez Petrank, and Uri Silbershtein. An efficient parallel heap compaction algorithm. In Proceedings of the Nineteenth ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM SIGPLAN Notices 39(10), pages 224--236, Vancouver, Canada, October 2004.
[2]
David F. Bacon, Perry Cheng, and V.T. Rajan. A real-time garbage collector with low overhead and consistent utilization. In Conference Record of the Thirtieth Annual ACM Symposium on Principles of Programming Languages, ACM SIGPLAN Notices 38(1), pages 285--298, New Orleans, LA, USA, January 2003.
[3]
Ori Ben-Yitzhak, Irit Goft, Elliot Kolodner, Kean Kuiper, and Victor Leikehman. An algorithm for parallel incremental compaction. In Hans-J. Boehm and David Detlefs, editors, Proceedings of the Third International Symposium on Memory Management (June, 2002), ACM SIGPLAN Notices 38(2 supplement), pages 100--105, Berlin, Germany, February 2003.
[4]
Anna Bendersky and Erez Petrank. Space overhead bounds for dynamic memory management with partial compaction. A full version of this paper is available at http://www.cs.technion.ac.il/ erez/papers.html, 2010.
[5]
Hans-Juergen Boehm. Bounding space usage of conservative garbage collectors. In POPL 2002 {16}, pages 93--100.
[6]
Hans-Juergen Boehm. The space cost of lazy reference counting. In Proceedings of the Thirty-First Annual ACM Symposium on Principles of Programming Languages, ACM SIGPLAN Notices 39(1), pages 210--219, Venice, Italy, January 2004.
[7]
Hans-Juergen Boehm and Mark Weiser. Garbage collection in an uncooperative environment. Software Practice and Experience, 18(9):807--820, 1988.
[8]
Cliff Click, Gil Tene, and MichaelWolf. The Pauseless GC algorithm. In Michael Hind and Jan Vitek, editors, Proceedings of the First ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 46--56, Chicago, IL, USA, June 2005.
[9]
David Detlefs, Christine Flood, Steven Heller, and Tony Printezis. Garbage-first garbage collection. In David F. Bacon and Amer Diwan, editors, Proceedings of the Fourth International Symposium on Memory Management, pages 37--48, Vancouver, Canada, October 2004. ACM Press.
[10]
Tamar Domani, Elliot K. Kolodner, Ethan Lewis, Elliot E. Salant, Katherine Barabash, Itai Lahan, Erez Petrank, Igor Yanover, and Yossi Levanoni. Implementing an on-the-fly garbage collector for Java. In Craig Chambers and Antony L. Hosking, editors, Proceedings of the Second International Symposium on Memory Management, ACM SIGPLAN Notices 36(1), pages 155--166, Minneapolis, MN, October 2000.
[11]
Richard E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, July 1996. With a chapter on Distributed Garbage Collection by R. Lins.
[12]
Haim Kermany and Erez Petrank. The Compressor: Concurrent, incremental and parallel compaction. In Michael I. Schwartzbach and Thomas Ball, editors, Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM SIGPLAN Notices 41(6), pages 354--363, Ottawa, Canada, June 2006.
[13]
Erez Petrank and Dror Rawitz. The hardness of cache conscious data placement. In POPL 2002 {16}, pages 101--112.
[14]
Filip Pizlo, Daniel Frampton, Erez Petrank, and Bjarne Steensgard. STOPLESS: A real-time garbage collector for multiprocessors. In Greg Morrisett and Mooly Sagiv, editors, Proceedings of the Sixth International Symposium on Memory Management, pages 159--172, Montr´eal, Canada, October 2007. ACM Press.
[15]
Filip Pizlo, Erez Petrank, and Bjarne Steensgaard. A study of concurrent real-time garbage collectors. In Rajiv Gupta and Saman P. Amarasinghe, editors, Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM SIGPLAN Notices 43(6), pages 33--44, Tucson, AZ, USA, June 2008.
[16]
Conference Record of the Twenty-ninth Annual ACM Symposium on Principles of Programming Languages, ACM SIGPLAN Notices 37(1), Portland, OR, USA, January 2002.
[17]
J. M. Robson. An estimate of the store size necessary for dynamic storage allocation. Journal of the ACM, 18(3):416--423, July 1971.
[18]
J. M. Robson. Bounds for some functions concerning dynamic storage allocation. Journal of the ACM, 21(3):419--499, July 1974.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2011
652 pages
ISBN:9781450304900
DOI:10.1145/1926385
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 46, Issue 1
    POPL '11
    January 2011
    624 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1925844
    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

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 January 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compaction
  2. dynamic memory allocation
  3. memory management
  4. partial compaction
  5. runtime systems
  6. storage allocation

Qualifiers

  • Research-article

Conference

POPL '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2017)Limitations of Partial CompactionACM Transactions on Programming Languages and Systems10.1145/299459739:1(1-44)Online publication date: 6-Mar-2017
  • (2013)Limitations of partial compactionACM SIGPLAN Notices10.1145/2499370.249197348:6(309-320)Online publication date: 16-Jun-2013
  • (2013)Limitations of partial compactionProceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/2491956.2491973(309-320)Online publication date: 16-Jun-2013
  • (2011)Handles revisitedACM SIGPLAN Notices10.1145/2076022.199349246:11(89-98)Online publication date: 4-Jun-2011
  • (2011)Handles revisitedProceedings of the international symposium on Memory management10.1145/1993478.1993492(89-98)Online publication date: 4-Jun-2011
  • (2011)Space overhead bounds for dynamic memory management with partial compactionACM SIGPLAN Notices10.1145/1925844.192644146:1(475-486)Online publication date: 26-Jan-2011

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