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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
Pendragon Software. CaffeineMark 3.0 Benchmark (1997)
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)
Pitter, C., Schoeberl, M.: Performance evaluation of a java chip-multiprocessor. In: 3rd IEEE Symposium on Industrial Embedded Systems, Montpellier, France (June 2008)
Schmidt, W.J., Nilsen, K.D.: Performance of a hardware-assisted real-time garbage collector. SIGOPS Oper. Syst. Rev. 28(5), 76–85 (1994)
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)
Tullsen, D.M.: Simulation and modeling of a simultaneous multithreading processor. In: The 22nd Annual Computer Measurement Group Conference (December 1996)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)