skip to main content
10.1145/1375581.1375587acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

A study of concurrent real-time garbage collectors

Published:07 June 2008Publication History

ABSTRACT

Concurrent garbage collection is highly attractive for real-time systems, because offloading the collection effort from the executing threads allows faster response, allowing for extremely short deadlines at the microseconds level. Concurrent collectors also offer much better scalability over incremental collectors. The main problem with concurrent real-time collectors is their complexity. The first concurrent real-time garbage collector that can support fine synchronization, STOPLESS, has recently been presented by Pizlo et al. In this paper, we propose two additional (and different) algorithms for concurrent real-time garbage collection: CLOVER and CHICKEN. Both collectors obtain reduced complexity over the first collector STOPLESS, but need to trade a benefit for it. We study the algorithmic strengths and weaknesses of CLOVER and CHICKEN and compare them to STOPLESS. Finally, we have implemented all three collectors on the Bartok compiler and runtime for C# and we present measurements to compare their efficiency and responsiveness.

References

  1. Hezi Azatchi, Yossi Levanoni, Harel Paz, and Erez Petrank. An on-the-fly mark and sweep garbage collector based on sliding view. OOPSLA 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. David F. Bacon, Perry Cheng, and V.T. Rajan. A real-time garbage collecor with low overhead and consistent utilization. In POPL 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Henry G. Baker. List processing in real-time on a serial computer. CACM, 21(4):280--94, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Katherine Barabash, Ori Ben-Yitzhak, Irit Goft, Elliot K. Kolodner, Victor Leikehman, Yoav Ossia, Avi Owshanko, and Erez Petrank. A parallel, incremental, mostly concurrent garbage collector for servers. TOPLAS 27(6):1097--1146, November 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Guy E. Blelloch and Perry Cheng. On bounding time and space for multiprocessor garbage collection. PLDI , 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hans-Juergen Boehm, Alan J. Demers, and Scott Shenker. Mostly parallel garbage collection. ACM SIGPLAN Notices, 26(6):157--164, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Rodney A. Brooks. Trading data space for reduced time and code space in real-time garbage collection on stock hardware. the 1984 Symposium on Lisp and Functional Programming, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Perry Cheng and Guy Blelloch. A parallel, real-time garbage collector. In PLDI, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cliff Click, Gil Tene, and Michael Wolf. The pauseless GC algorithm. VEE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Edsgar W. Dijkstra, Leslie Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-the-fly garbage collection: An exercise in cooperation. CACM, 21(11):965--975, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Damien Doligez and Georges Gonthier. Portable, unobtrusive garbage collection for multiprocessor systems. In POPL 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Damien Doligez and Xavier Leroy. A concurrent generational garbage collector for a multi-threaded implementation of ML. POPL 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tamar Domani, Elliot Kolodner, and Erez Petrank. A generational on-the-fly garbage collector for Java. PLDI 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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. ISMM 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. ECMA. Standard ECMA-335, Common Language Infrastructure (CLI), 4th edition edition, June 2006. http://www.ecmainternational. org/.Google ScholarGoogle Scholar
  16. Roger Henriksson. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, 1998.Google ScholarGoogle Scholar
  17. Maurice Herlihy and J. Eliot B Moss. Lock-free garbage collection for multiprocessors. IEEE Tran. Paral. & Dist. Sys., 3(3), May 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Richard L. Hudson and J. Eliot B. Moss. Sapphire: Copying GC without stopping the world. In Joint ACM Java Grande - ISCOPE 2001 Conference, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Richard E. Jones and Rafael Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Haim Kermany and Erez Petrank. The Compressor: Concurrent, incremental and parallel compaction. PLDI 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Yossi Levanoni and Erez Petrank. An on-the-fly reference counting garbage collector for Java. OOPSLA 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Yossi Levanoni and Erez Petrank. An on-the-fly reference counting garbage collector for Java. TOPLAS, 28(1), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Matthias Meyer. A true hardware read barrier. ISMM 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Yoav Ossia, Ori Ben-Yitzhak, Irit Goft, Elliot K. Kolodner, Victor Leikehman, and Avi Owshanko. A parallel, incremental and concurrent GC for servers. PLDI 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Filip Pizlo, Daniel Frampton, Erez Petrank, and Bjarne Steensgaard. Stopless: A real-time garbage collector for modern platforms. ISMM 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Tony Printezis and David Detlefs. A generational mostly-concurrent garbage collector. ISMM 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Sven Gestegård Robertz and Roger Henriksson. Time-triggered garbage collection - robust and adaptive real-time GC scheduling for embedded systems. LCTES 2003.Google ScholarGoogle Scholar
  28. Daniel Spoonhower, Joshua Auerbach, David F. Bacon, Perry Cheng, and David Grove. Eventrons: A safe programming construct for high-frequency hard real-time applications. PLDI 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Guy L. Steele. Multiprocessing compactifying garbage collection. CACM, 18(9):495--508, September 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A study of concurrent real-time garbage collectors

      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
      • Published in

        cover image ACM Conferences
        PLDI '08: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation
        June 2008
        396 pages
        ISBN:9781595938602
        DOI:10.1145/1375581
        • General Chair:
        • Rajiv Gupta,
        • Program Chair:
        • Saman Amarasinghe
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 43, Issue 6
          PLDI '08
          June 2008
          382 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1379022
          Issue’s Table of Contents

        Copyright © 2008 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 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]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 7 June 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate406of2,067submissions,20%

        Upcoming Conference

        PLDI '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader