Noc-HMP

Scalability and performance in multicore processors for embedded and real-time systems usually don't go well each with the other. Networks on Chip (NoCs) provide scalable execution platforms suitable for such kind of embedded systems. This article presents a NoC-based Heterogeneous Multi-Processor system, called NoC-HMP, which is a scalable platform for embedded systems developed in the GALS language SystemJ. NoC-HMP uses a time-predictable TDMA-MIN NoC to guarantee latencies and communication time between the two types of time-predictable cores and can be customized for a specific performance goal through the execution strategy and scheduling of SystemJ program deployed across multiple cores. Examples of different execution strategies are introduced, explored and analyzed via measurements. The number of used cores can be minimized to achieve the target performance of the application. TDMA-MIN allows easy extensions of NoC-HMP with other cores or IP blocks. Experiments show a significant improvement of performance over a single core system and demonstrate how the addition of cores affects the performance of the designed system.

[1]  Jürgen Teich,et al.  A heterogeneous multi-core SoC for mixed criticality industrial automation systems , 2016, 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA).

[2]  Jürgen Teich,et al.  Using design space exploration for finding schedules with guaranteed reaction times of synchronous programs on multi-core architecture , 2017, J. Syst. Archit..

[3]  Sascha Uhrig,et al.  Real-time event-handling and scheduling on a multithreaded Java microcontroller , 2003, Microprocess. Microsystems.

[4]  Mike O'Connor,et al.  PicoJava: A Direct Execution Engine For Java Bytecode , 1998, Computer.

[5]  Benedikt Huber,et al.  T-CREST: Time-predictable multi-core architecture for embedded systems , 2015, J. Syst. Archit..

[6]  Zoran A. Salcic,et al.  SystemJ: A GALS language for system level design , 2010, Comput. Lang. Syst. Struct..

[7]  Kees G. W. Goossens,et al.  Argo: A Real-Time Network-on-Chip Architecture With an Efficient GALS Implementation , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  Francisco J. Cazorla,et al.  parMERASA -- Multi-core Execution of Parallelised Hard Real-Time Applications Supporting Analysability , 2013, 2013 Euromicro Conference on Digital System Design.

[9]  Zoran A. Salcic,et al.  Reducing Worst Case Reaction Time of Synchronous Programs on Chip-multiprocessors with Application-Specific TDMA Scheduling , 2015, JTRES.

[10]  Wayne H. Wolf Design Challenges in Multiprocessor Systems-on-Chip , 2006, DIPES.

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

[12]  William J. Dally,et al.  Research Challenges for On-Chip Interconnection Networks , 2007, IEEE Micro.

[13]  Kees G. W. Goossens,et al.  Trade Offs in the Design of a Router with Both Guaranteed and Best-Effort Services for Networks on Chip , 2003, DATE.

[14]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[15]  Zoran A. Salcic,et al.  The SystemJ approach to system-level design , 2006, Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2006. MEMOCODE '06. Proceedings..

[16]  Kees Goossens,et al.  AEthereal network on chip: concepts, architectures, and implementations , 2005, IEEE Design & Test of Computers.

[17]  B. Grundmann,et al.  From Single Core to Multi-Core: Preparing for a new exponential , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[18]  Zoran A. Salcic,et al.  SystemJ compilation using the tandem virtual machine approach , 2009, TODE.

[19]  Jan Vitek,et al.  Real time Java on resource-constrained platforms with Fiji VM , 2009, JTRES '09.

[20]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[21]  Dake Liu,et al.  SoCBUS: switched network on chip for hard real time embedded systems , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[22]  Francisco J. Cazorla,et al.  Merasa: Multicore Execution of Hard Real-Time Applications Supporting Analyzability , 2010, IEEE Micro.

[23]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.

[24]  John Daniels,et al.  Java™ on the bare metal of wireless sensor devices: the squawk Java virtual machine , 2006, VEE '06.

[25]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[26]  Luca Benini,et al.  Networks on Chips : A New SoC Paradigm , 2022 .

[27]  Zoran Salcic,et al.  A Time Predictable Heterogeneous Multicore Processor for Hard Real-time GALS Programs , 2016 .

[28]  Zoran A. Salcic,et al.  TACO: A scalable framework for timing analysis and code optimization of synchronous programs , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[29]  Zoran A. Salcic,et al.  JOP-plus - A processor for efficient execution of java programs extended with GALS concurrency , 2012, 17th Asia and South Pacific Design Automation Conference.

[30]  Martin Schoeberl,et al.  Hardware Support for Embedded Java , 2012 .

[31]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[32]  D. Geer,et al.  Chip makers turn to multicore processors , 2005, Computer.

[33]  Jürgen Teich,et al.  Optimizing Latencies and Customizing NoC of Time-Predictable Heterogeneous Multi-core Processor , 2016, 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC).

[34]  Zoran A. Salcic,et al.  GALS-CMP: Chip-Multiprocessor for GALS Embedded Systems , 2013, ARCS.

[35]  Axel Jantsch,et al.  Networks on chip , 2003 .

[36]  Marc Snir,et al.  The Performance of Multistage Interconnection Networks for Multiprocessors , 1983, IEEE Transactions on Computers.

[37]  Zoran A. Salcic,et al.  GALS-HMP , 2013, ACM Trans. Embed. Comput. Syst..