skip to main content
10.1145/1254766.1254784acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Hierarchical real-time garbage collection

Published:13 June 2007Publication History

ABSTRACT

Memory management is a critical issue for correctness and performance in real-time embedded systems. Recent work on real-time garbage collectors has shown that it is possible to provide guarantees on worst-case pause times and minimum mutator utilization time. This paper presents a new hierarchical real-time garbage collection algorithm for mixed-priority and mixed-criticality environments. With hierarchical garbage collection, real-time programmers can partition the heap into a number of heaplets and for each partition choose to run a separate collector with a schedule that matches the allocation behavior and footprint of the real-time task using it. This approach lowers worst-case response times of real-time applications by 26%, while almost doubling mutator utilization -- all with only minimal changes to the application code.

References

  1. Laurent Amsaleg, Olivier Gruber, and Michael Franklin. Efficient incremental garbage collection for workstation-server database systems. In Proceedings of the International Conference on Very Large Data Bases, pages 42--53. Morgan Kaufmann, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chris Andreae, Yvonne Coady, Celina Gibbs, James Noble, Jan Vitek, and Tian Zhao. Scoped Types and Aspects for Real-Time Java. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), pages 124--147, Nantes, France, July 2006. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Austin Armbuster, Jason Baker, Antonio Cunei, David Holmes, Chapman Flack, Filip Pizlo, Edward Pla, Marek Prochazka, and Jan Vitek. A Real-time Java virtual machine with applications in avionics. ACM Transactions in Embedded Computing Systems (TECS), to appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. David F. Bacon, Perry Chang, and V.T. Ra jan. A real-time garbage collector with low overhead and consistent utilization. In Conference Record of the ACM Symposium on Principles of Programming Languages, pages 285--298, New Orleans, Louisiana, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. G. Baker. List processing in real time on a serial computer. Communications of the ACM, 21(4):280--294, April 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Peter B. Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. PhD thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts, May 1977.Google ScholarGoogle Scholar
  7. Greg Bollella, James Gosling, Benjamin Brosgol, Peter Dibble, Steve Furr, and Mark Turnbull. The Real-Time Specification for Java. Addison-Wesley, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Perry Cheng and Guy Blelloch. A parallel, real-time garbage collector. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 125--136, Snowbird, Utah, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Paulo Ferreira and Marc Shapiro. Garbage collection and DSM consistency. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation, pages 229--241, Monterey, California, November 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Roger Henriksson. Scheduling Garbage Colection in Embedded Systems. PhD thesis, Lund University, July 1998.Google ScholarGoogle Scholar
  11. Richard L. Hudson and J. Eliot B. Moss. Incremental collection of mature ob jects. In Proceedings of the International Workshop on Memory Management, pages 388--403. Springer-Verlag, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Richard Jones and Andy C. King. A fast analysis for thread-local garbage collection with dynamic class loading. In Proceedings of the 5th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM), pages 129--138, Budapest, Hungary, October 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Niels Christian Juul and Eric Jul. Comprehensive and robust garbage collection in a distributed system. In Proceedings of the International Workshop on Memory Management, volume 986 of Lecture Notes in Computer Science, pages 103--115, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Arvind S. Krishna, Douglas C. Schmidt, and Raymond Klefstad. Enhancing Real-Time CORBA via Real-Time Java Features. In 24th International Conference on Distributed Computing Systems (ICDCS 2004), pages 66--73, Hachio ji, Tokyo, Japan, March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Bernard Lang, Christian Queinnec, and José M. Piquer. Garbage collecting the world. In Conference Record of the ACM SIGPLAN Symposium on Principles of Programming Languages, pages 39--50, Albuquerque, New Mexico, January 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Umesh Maheshwari and Barbara Liskov. Collecting cyclic distributed garbage by controlled migration. Distributed Computing, 10(2):79--86, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  17. Umesh Maheshwari and Barbara Liskov. Partitioned garbage collection of a large ob ject store. In Proceedings of the ACM International Conference on Management of Data, pages 313--323, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Eliot B. Moss, David S. Munro, and Richard L. Hudson. PMOS: A complete and coarse-grained incremental garbage collector for persistent ob ject stores. In Proceedings of the Seventh International Workshop on Persistent Object Systems, pages 140--150. Morgan Kaufmann, 1997.Google ScholarGoogle Scholar
  19. Pekka Pirinen. Barrier techniques for incremental tracing. In Proceedings of the ACM International Symposium on Memory Management, pages 20--25. ACM, March 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Filip Pizlo, Jason Fox, David Holmes, and Jan Vitek. Real-time Java scoped memory: design patterns and semantics. In Proceedings of the IEEE International Symposium on Object-oriented Real-Time Distributed Computing (ISORC'04), Vienna, Austria, May 2004.Google ScholarGoogle ScholarCross RefCross Ref
  21. Filip Pizlo and Jan Vitek. An empirical evalutation of memory management alternatives for Real-Time Java. In Proceedings of the 27th IEEE Real-Time Systems Symposium (RTSS), December 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. William J. Schmidt and Kelvin D. Nilsen. Performance of a hardware-assisted real-time garbage collector. In Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 76--85, San Jose, California, October 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Fridtjof Siebert. Real-time garbage collection in multi-threaded systems on a single processor. In Proceedings of the 20th IEEE Real-Time Systems Symposium (RTSS), pages 277--278, Phoenix, Arizona, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Voon-Fee Yong, Jeffrey F. Naughton, and Jie-Bing Yu. Storage reclamation and reorganization in client-server persistent ob ject stores. In Proceedings of the International Conference on Data Engineering, pages 120--131. IEEE Computer Society, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Hierarchical real-time garbage collection

        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
          LCTES '07: Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
          June 2007
          258 pages
          ISBN:9781595936325
          DOI:10.1145/1254766
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 42, Issue 7
            Proceedings of the 2007 LCTES conference
            July 2007
            241 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1273444
            Issue’s Table of Contents

          Copyright © 2007 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: 13 June 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate116of438submissions,26%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader