On Cache Coherency and Memory Consistency Issues in NoC Based Shared Memory Multiprocessor SoC Architectures

The concept of network on chip (NoC) is a recent breakthrough in the system on chip (SoC) design area. A lot of work has been done to define efficient NoC architectures and implementations. In this paper, our goal is twofold. Firstly, we want to outline that the use of a NoC based shared-memory multiprocessor SoC challenges the application integrator because of the underlying assumptions of software, namely cache coherency and memory consistency. These problems are well known in general purpose shared memory multiprocessors. However, when designing a SoC, we benefit on the one hand from the knowledge of the applications, the much simpler usage of virtual memory, lower interconnect latencies and very high bandwidth at lost cost, but on the other hand we suffer from more tight design constraints (yield, power, predictable performances, ...). Secondly, we define simple and yet attractive solutions - in term of design time and hardware cost - to both problems in the context of application specific multiprocessor SoCs

[1]  Pierre G. Paulin,et al.  StepNP: A System-Level Exploration Platform for Network Processors , 2002, IEEE Des. Test Comput..

[2]  Frédéric Pétrot,et al.  Platform-based design from parallel C specifications , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Christos J. Georgiou,et al.  An efficient system-on-a-chip design methodology for networking applications , 2004, CASES '04.

[4]  K. Gharachodoo,et al.  Memory consistency models for shared memory multiprocessors , 1996 .

[5]  Frédéric Pétrot,et al.  A practical tool box for system level communication synthesis , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[6]  Charles E. Leiserson,et al.  Fat-trees: Universal networks for hardware-efficient supercomputing , 1985, IEEE Transactions on Computers.

[7]  Paul Feautrier,et al.  A New Solution to Coherence Problems in Multicache Systems , 1978, IEEE Transactions on Computers.

[8]  Jochen A. G. Jess,et al.  Stream communication between real-time tasks in a high-performance multiprocessor , 1998, Proceedings Design, Automation and Test in Europe.

[9]  Alain Greiner,et al.  A generic architecture for on-chip packet-switched interconnections , 2000, DATE '00.

[10]  Sujit Dey,et al.  On-chip communication architecture for OC-768 network processors , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  Anoop Gupta,et al.  The Stanford Dash multiprocessor , 1992, Computer.

[12]  Frédéric Pétrot,et al.  Lightweight Implementation of the POSIX Threads API for an On-Chip MIPS Multiprocessor with VCI Interconnect , 2003, DATE.

[13]  Daniel E. Lenoski,et al.  Scalable Shared-Memory Multiprocessing , 1995 .

[14]  Robert H. Halstead,et al.  MASA: a multithreaded processor architecture for parallel symbolic computing , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

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

[16]  Kenji Toda,et al.  Parallel multi-context architecture with high-speed synchronization mechanism , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.