Towards a Java multiprocessor

This paper describes the first steps towards a Java multiprocessor system on a single chip for embedded systems. The chip multiprocessing (CMP) system consists of a homogeneous set of processing elements and a shared memory. Each processor core is based on the Java Optimized Processor (JOP). A major challenge in CMP is the shared memory access of multiple CPUs. The proposed memory arbiter resolves possible emerging conflicts of parallel accesses to the shared memory using a fixed priority scheme. Furthermore, the paper describes the boot-up of the CMP. We verify the proposed CMP architecture by the implementation of the prototype called JopCMP. JopCMP consists of multiple JOPs and a shared memory. Finally yet importantly, the first implementation of the CMP composed of two/three JOPs in an FPGA enables us to present a comparison of the performance between a single-core JOP and the CMP version by running real applications.

[1]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[2]  Martin Schoeberl SimpCon - a Simple and Efficient SoC Interconnect , 2007 .

[3]  Martin Schoeberl A Time Predictable Java Processor , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[4]  H. Peter Hofstee,et al.  Power efficient processor architecture and the cell processor , 2005, 11th International Symposium on High-Performance Computer Architecture.

[5]  Alan Burns,et al.  The Ravenscar Tasking Profile for High Integrity Real-Time Programs , 1998, Ada-Europe.

[6]  Martin Schoeberl,et al.  A Profile for Safety Critical Java , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[7]  Santanu Dutta,et al.  Viper: A Multiprocessor SOC for Advanced Set-Top Box and Digital TV Systems , 2001, IEEE Des. Test Comput..

[8]  Michael D. Ernst,et al.  Static Deadlock Detection for Java Libraries , 2005, ECOOP.

[9]  Grant Martin,et al.  Winning the SoC Revolution , 2003, Springer US.

[10]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[11]  Vasanth Asokan,et al.  Designing Multiprocessor Systems in Platform Studio , 2007 .

[12]  Martin Schoeberl,et al.  WCET analysis for a Java processor , 2006, JTRES '06.

[13]  James Laudon,et al.  The Coming Wave of Multithreaded Chip Multiprocessors , 2007, International Journal of Parallel Programming.

[14]  Andy J. Wellings,et al.  A profile for high-integrity real-time Java programs , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[15]  Hiroaki Takada,et al.  Priority inheritance spin locks for multiprocessor real-time systems , 1996, Proceedings Second International Symposium on Parallel Architectures, Algorithms, and Networks (I-SPAN'96).

[16]  Martin Schoeberl,et al.  A Java processor architecture for embedded real-time systems , 2008, J. Syst. Archit..

[17]  H. Peter Hofstee,et al.  Introduction to the Cell multiprocessor , 2005, IBM J. Res. Dev..

[18]  David L. Weaver,et al.  The SPARC Architecture Manual , 2003 .

[19]  Martin Schoeberl,et al.  JOP: A Java Optimized Processor for Embedded Real-Time Systems , 2008 .

[20]  Corporate SPARC architecture manual - version 8 , 1992 .

[21]  Kunle Olukotun,et al.  Niagara: a 32-way multithreaded Sparc processor , 2005, IEEE Micro.

[22]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[23]  Alan Burns,et al.  The Ravenscar tasking profile for high integrity real-time programs , 1998, SIGAda '98.

[24]  Tobias Bjerregaard,et al.  A survey of research and practices of Network-on-chip , 2006, CSUR.

[25]  William Stallings,et al.  Operating Systems: Internals and Design Principles , 1991 .

[26]  Veljko M. Milutinovic,et al.  Distributed shared memory: concepts and systems , 1997, IEEE Parallel Distributed Technol. Syst. Appl..

[27]  Martin Schoeberl,et al.  Time Predictable CPU and DMA Shared Memory Access , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[28]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[29]  Fabrizio Petrini,et al.  Cell Multiprocessor Communication Network: Built for Speed , 2006, IEEE Micro.