Skip to main content

An Embedded GC Module with Support for Multiple Mutators and Weak References

  • Conference paper
Book cover Architecture of Computing Systems - ARCS 2010 (ARCS 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5974))

Included in the following conference series:

Abstract

This paper describes the design of a garbage collection (GC) module, which introduces modern GC features to the domain of embedded implementations. It supports weak references and feeds reference queues. Its architecture allows multiple concurrent mutators operating on the shared managed memory. The garbage collection is exact and fully concurrent. It combines a distributed root marking with a centralized heap scan of the managed memory. It features a novel mark-and-copy GC strategy on a segmented memory, thereby overcoming the tremendous space overhead of two-space copying and the compaction race of mark-and-compact approaches. The proposed GC architecture has been practically implemented and proven using the embedded bytecode processor SHAP as a sample testbed. The synthesis results for settings up to three SHAP mutator cores are given and online functional measurements are presented.

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. Zabel, M., Preußer, T.B., Reichel, P., Spallek, R.G.: Secure, real-time and multi-threaded general-purpose embedded Java microarchitecture. In: 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007), pp. 59–62. IEEE, Los Alamitos (2007)

    Chapter  Google Scholar 

  2. Holloway, J., Steele Jr., G.L., Sussman, G.J., Bell, A.: The SCHEME-79 chip. Technical report, Massachusetts Institute of Technology, Artificial Intelligence Lab. (1980)

    Google Scholar 

  3. Moon, D.A.: Garbage collection in a large LISP system. In: LFP 1984: 1984 ACM Symposium on LISP and functional programming, pp. 235–246. ACM, New York (1984)

    Chapter  Google Scholar 

  4. Nilsen, K.D., Schmidt, W.J.: Hardware support for garbage collection of linked objects and arrays in real-time. In: ECOOP/OOPSLA 1990 Workshop on Garbage Collection (1990)

    Google Scholar 

  5. Nilsen, K.D., Schmidt, W.J.: Cost-effective object space management for hardware-assisted real-time garbage collection. ACM Lett. Program. Lang. Syst. 1(4), 338–354 (1992)

    Article  Google Scholar 

  6. Meyer, M.: A true hardware read barrier. In: ISMM 2006: 5th International Symposium on Memory Management, pp. 3–16. ACM, New York (2006)

    Chapter  Google Scholar 

  7. Srisa-an, W., Dan Lo, C.-T., Chang, J.-e.M.: Active memory processor: A hardware garbage collector for real-time Java embedded devices. IEEE Transactions on Mobile Computing 2(2), 89–101 (2003)

    Article  Google Scholar 

  8. Pfeffer, M., Ungerer, T., Fuhrmann, S., Kreuzinger, J., Brinkschulte, U.: Real-time garbage collection for a multithreaded Java microcontroller. Real-Time Syst. 26(1), 89–106 (2004)

    Article  Google Scholar 

  9. Uhrig, S., Wiese, J.: Jamuth: an IP processor core for embedded Java real-time systems. In: Bollella, G. (ed.) JTRES 2007. ACM International Conference Proceeding Series, pp. 230–237. ACM, New York (2007)

    Google Scholar 

  10. Meyer, M.: A novel processor architecture with exact tag-free pointers. IEEE Micro 24(3), 46–55 (2004)

    Article  Google Scholar 

  11. Meyer, M.: An on-chip garbage collection coprocessor for embedded real-time systems. In: RTCSA 2005: 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Washington, DC, USA, pp. 517–524. IEEE Computer Society, Los Alamitos (2005)

    Chapter  Google Scholar 

  12. Gruian, F., Salcic, Z.A.: Designing a concurrent hardware garbage collector for small embedded systems. In: Asia-Pacific Computer Systems Architecture Conference, pp. 281–294 (2005)

    Google Scholar 

  13. Schoeberl, M.: JOP: A Java optimized processor. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 346–359. Springer, Heidelberg (2003)

    Google Scholar 

  14. Reichel, P.: Entwurf und Implementierung verschiedener Garbage-Collector-Strategien für die Java-Plattform SHAP. Großer beleg, Technische Universität Dresden (2007)

    Google Scholar 

  15. Anton, A.: OpenFIRE (2007), http://www.opencores.org/project,openfire2

  16. Harboe, Ø.: ZPU - the worlds smallest 32 bit CPU with GCC toolchain (2008), http://www.opencores.org/project,zpu

  17. Henry, G., Baker, J.: List processing in real time on a serial computer. Commun. ACM 21(4), 280–294 (1978)

    Article  MATH  Google Scholar 

  18. Gagnon, E.M., Hendren, L.J.: SableVM: A research framework for the efficient execution of Java bytecode. In: Java Virtual Machine Research and Technology Symposium, April 2001, pp. 27–40 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Preußer, T.B., Reichel, P., Spallek, R.G. (2010). An Embedded GC Module with Support for Multiple Mutators and Weak References. In: Müller-Schloer, C., Karl, W., Yehia, S. (eds) Architecture of Computing Systems - ARCS 2010. ARCS 2010. Lecture Notes in Computer Science, vol 5974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11950-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11950-7_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11949-1

  • Online ISBN: 978-3-642-11950-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics