Skip to main content

Decreasing Memory Overhead in Hard Real-Time Garbage Collection

  • Conference paper
  • First Online:
Embedded Software (EMSOFT 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2491))

Included in the following conference series:

Abstract

Automatic memory management techniques eliminate many programming errors that are both hard to find and to correct. However, these techniques are not yet used in embedded systems with hard realtime applications. The reason is that current methods for automatic memory management have a number of drawbacks. The two major ones are: (1) not being able to always guarantee short real-time deadlines and (2) using large amounts of extra memory. Memory is usually a scarce resource in embedded applications.

In this paper we present a new technique, Real-Time Reference Counting (RTRC) that overcomes the current problems and makes automatic memory management attractive also for hard real-time applications. The main contribution of RTRC is that often all memory can be used to store live objects. This should be compared to a memory overhead of about 500% for garbage collectors based on copying techniques and about 50% for garbage collectors based on mark-and-sweep techniques.

Supported by the EC funded IST project HIDOORS (High Integrity Distributed Object-Oriented Realtime Systems) and the ESA funded AERO project (Architecture for Enhanced Reprogrammability and Operability).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. Bacon and V. Rajan. Concurrent cycle collection in reference counted systems. In Proceedings of the Fifteenth European Conference on Object-Oriented Programming (ECOOP), Lecture Notes in Computer Science, volume 2072. University Eötvös Loránd, Budapest, Hungary, Springer-Verlag, June 2001.

    Google Scholar 

  2. H. G. Baker. Minimising reference count updating with deferred and anchored pointers for functional data structures. A CM SIGPLAN Notices, 29(9), Sept. 1994.

    Google Scholar 

  3. J. M. Barth. Shifting garbage collection overhead to compile time. Communications of the ACM, 20(7):513–518, July 1977.

    Google Scholar 

  4. D. G. Bobrow. Managing re-entrant structures using reference counts. ACM Transactions on Programming Languages and Systems, 2(3):269–273, July 1980.

    Google Scholar 

  5. R. A. Brooks. Trading data space for reduced time and code space in real-time garbage collection on stock hardware. In G. L. Steele, editor, Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming, pages 256–262, Austin, TX, Aug. 1984. ACM Press.

    Google Scholar 

  6. D. R. Brownbridge. Cyclic reference counting for combinator machines. In J.-P. Jouannaud, editor, Record of the 1985 Conference on Functional Programming and Computer Architecture, volume 201 of Lecture Notes in Computer Science, Nancy, France, Sept. 1985. Springer-Verlag.

    Google Scholar 

  7. J. M. Bull, L. A. Smith, M. D. Westhead, D. S. Henty, and R. A. Davey. A benchmark suite for high performance Java. Concurrency: Practice and Experience, (12):375–388, 2000.

    Article  Google Scholar 

  8. T. W. Christopher. Reference count garbage collection. Software Practice and Experience, 14(6):503–507, June 1984.

    Google Scholar 

  9. G. E. Collins. A method for overlapping and erasure of lists. Communications of the ACM, 3(12):655–657, Dec. 1960.

    Google Scholar 

  10. L. P. Deutsch and D. G. Bobrow. An efficient incremental automatic garbage collector. Communications of the ACM, 19(9):522–526, Sept. 1976.

    Google Scholar 

  11. R. R. Fenichel and J. C. Yochelson. A Lisp garbage collector for virtual memory computer systems. Communications of the ACM, 12(11):611–612, Nov. 1969.

    Google Scholar 

  12. R. Henriksson. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, July 1998.

    Google Scholar 

  13. M. S. Johnstone and P. R. Wilson. The memory fragmentation problem: Solved? In P. Dickman and P. R. Wilson, editors, OOPSLA’ 97 Workshop on Garbage Collection and Memory Management, Oct. 1997.

    Google Scholar 

  14. T. Ritzau, M. Beemster, F. Liekweg, and C. Probst. JoC — the JOSES compiler. Presented at the Java for Embedded Systems Workshop, London, May 2000.

    Google Scholar 

  15. R. A. Saunders. The LISP system for the Q-32 computer. In E. C. Berkeley and D. G. Bobrow, editors, The Programming Language LISP: Its Operation and Applications, pages 220–231, Cambridge, MA, 1974. Information International, Inc.

    Google Scholar 

  16. F. Siebert. Guaranteeing non-disruptiveness and real-time deadlines in an incremental garbage collector. In R. Jones, editor, Proceedings of the First International Symposium on Memory Management, volume 34(3) of ACM SIGPLAN Notices, pages 130–137, Vancouver, Oct. 1998. ACM Press. ISMM is the successor to the IWMM series of workshops.

    Google Scholar 

  17. F. Siebert. Eliminating external fragmentation in a non-moving garbage collector for Java. In Proceedings of Compilers, Architectures and Synthesis for Embedded Systems (CASES’00), San Jose, November 2000.

    Google Scholar 

  18. A. Veen. The JOSES project-compiling Java for embedded systems. In D. U. Assmann, editor, Java Optimization Strategies for Embedded Systems Workshop at ETAPS 2001, Genova, Italy, Apr. 2001.

    Google Scholar 

  19. J. Weizenbaum. Symmetric list processor. Communications of the ACM, 6(9):524–544, Sept. 1963.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ritzau, T., Fritzson, P. (2002). Decreasing Memory Overhead in Hard Real-Time Garbage Collection. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds) Embedded Software. EMSOFT 2002. Lecture Notes in Computer Science, vol 2491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45828-X_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-45828-X_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44307-0

  • Online ISBN: 978-3-540-45828-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics