Skip to main content

A Garbage Collection Technique for Embedded Multithreaded Multicore Processors

  • Conference paper

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

Abstract

Multicore processors get more and more popular, even in embedded systems. Due to the deeply integrated threading concept, Java is a perfect choice to deal with the necessary thread-level parallelism required for the performance potential of a multicore. Accordingly, the software developers are familiar with the threading concept, which means that single core applications already fit very well on a multicore processor and are able to utilize its advantage. Nevertheless, a drawback of Java has to be mentioned: the required garbage collection. Especially in multicore environments the most often used stop-the-world collectors reach their limits because all cores have to be suspended at the time a single thread requires a garbage collection cycle. Hence, the performance of the other cores is harmed tremendously. In this paper we present a garbage collection technique that runs in parallel to the application threads within a multithreaded multicore without any stop-the-world behavior.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bacon, D.F., Attanasio, C.R., Lee, H.B., Rajan, V.T., Smith, S.: Java without the coffee breaks: A nonintrusive multiprocessor garbage collector. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Snowbird, pp. 92–103. ACM Press, New York (2001)

    Google Scholar 

  2. Fuhrmann, S., Pfeffer, M., Kreuzinger, J., Ungerer, T., Brinkschulte, U.: Real-time Garbage Collection for a Multithreaded Java Microcontroller. In: Int. Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2001), Magdeburg, Germany, May 2001, pp. 69–76 (2001)

    Google Scholar 

  3. Kreuzinger, J., Brinkschulte, U., Pfeffer, M., Uhrig, S., Ungerer, T.: Real-time Event-handling and Scheduling on a Multithreaded Java Microcontroller. Microprocessors and Microsystems 27(1), 19–31 (2003)

    Article  Google Scholar 

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

    Google Scholar 

  5. Pendragon Software. CaffeineMark 3.0 Benchmark (1997)

    Google Scholar 

  6. Pfeffer, M., Ungerer, T., Fuhrmann, S., Kreuzinger, J., Brinkschulte, U.: Real-Time Garbage Collection for a Multithreaded Java Microcontroller. Journal of Real Time Systems 26(1), 89–106 (2004)

    Article  Google Scholar 

  7. Pitter, C., Schoeberl, M.: Performance evaluation of a java chip-multiprocessor. In: 3rd IEEE Symposium on Industrial Embedded Systems, Montpellier, France (June 2008)

    Google Scholar 

  8. Schmidt, W.J., Nilsen, K.D.: Performance of a hardware-assisted real-time garbage collector. SIGOPS Oper. Syst. Rev. 28(5), 76–85 (1994)

    Article  Google Scholar 

  9. Sibai, F.N.: Evaluating the performance of single and multiple core processors with pcmark05 and benchmark analysis. In: ACM SIGMETRICS Performance Evaluation Review archive, March 2008, pp. 62–71 (2008)

    Google Scholar 

  10. Tullsen, D.M.: Simulation and modeling of a simultaneous multithreading processor. In: The 22nd Annual Computer Measurement Group Conference (December 1996)

    Google Scholar 

  11. Tullsen, D.M., Eggers, S.J., Emer, J.S., Levy, H.M., Lo, J.L., Stamm, R.L.: Exploiting choice: Instruction fetch and issue on an implementable simultaneous multithreading processor. In: 23rd International Symposium on Computer Architecture (ISCA 1996), Philadelphia, PA, USA, May 1996, pp. 191–202 (1996)

    Google Scholar 

  12. Uhrig, S., Wiese, J.: Jamuth – an IP Processor Core for Embedded Java Real-Time Systems. In: The 5th International Workshop on Java Technologies for Real-time and Embedded Systems - JTRES 2007, Vienna, Austria (September 2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Uhrig, S., Ungerer, T. (2009). A Garbage Collection Technique for Embedded Multithreaded Multicore Processors. In: Berekovic, M., Müller-Schloer, C., Hochberger, C., Wong, S. (eds) Architecture of Computing Systems – ARCS 2009. ARCS 2009. Lecture Notes in Computer Science, vol 5455. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-00454-4_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-00454-4_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-00453-7

  • Online ISBN: 978-3-642-00454-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics