Simultaneous multithreading support in embedded distributed memory MPSoCs

Scalability and programmability are important issues in large homogeneous MPSoCs. Such architectures often rely on explicit message-passing among processors, each of which possessing a local private memory. This paper presents a low-overhead hardware/software distributed shared memory approach that makes such architectures multithreading-capable. The proposed solution is implemented into an open-source message-passing MPSoC through developing a POSIX-like thread API, which shows excellent scalability using application kernels used for benchmarking in shared-memory systems. This approach efficiently draws strengths from the on-chip distributed private memory that opens the way to exposing the multithreading programmability/capabilities of that component as a general-purpose accelerator.

[1]  Erik Brockmeyer,et al.  Exploring parallelizations of applications for MPSoC platforms using MPA , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[2]  Pascal Benoit,et al.  Open-Scale: A Scalable, Open-Source NOC-based MPSoC for Design Space Exploration , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[3]  Henk Corporaal,et al.  A tuneable software cache coherence protocol for heterogeneous MPSoCs , 2009, CODES+ISSS '09.

[4]  Luca Benini,et al.  An OpenMP Compiler for Efficient Use of Distributed Scratchpad Memory in MPSoCs , 2012, IEEE Transactions on Computers.

[5]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[6]  Rainer Leupers,et al.  MAPS: An integrated framework for MPSoC application parallelization , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[7]  Natalie D. Enright Jerger,et al.  Outstanding Research Problems in NoC Design: System, Microarchitecture, and Circuit Perspectives , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.