My Research topic

Design methods for scalable NoC-based architectures for the Sea-of-cores Era

Complex multimedia applications are mostly implemented on multi-core Systems on Chip. The number of cores in these systems is growing and will soon reach thousands of cores or more, i.e., we will soon be in the Sea-of-Cores era. Several problems may set barriers the development of systems. One of them is the organisation of memory hierarchies, another is how such systems should be described, a third is the efficiency of mapping applications onto a massively parallel architectures.

The emergence of multi-core systems will provide a substantial challenge in embedded system design. Not only will it give an extra dimension to compiling, with the possibility to parallelize and deploy functionality at computational nodes, but the interconnect network will need to handle communication latency while ensuring quality of service. Moreover, when dealing with synchronization and debugging, there will often be the additional problem of handling different clock domains. Also, because of electron migration and/or deployment of the device in a hostile environment (space probes, nuclear power plants etc.), these system will degrade over time. Thus, dynamic re-allocation of computational tasks and fault-tolerance on the architectural level, will ensure a pro-longed life-time by enabling graceful shutdown of the systems.

This project aims at developing a design methodology for designing and mapping applications onto Infinitely Scalable Sea-of-Cores sized Network-on-Chips (>1000 nodes/chip).

Motivation and Problem formulation (goals):

  1. How to do build and clock infinitely scalable NoCs (is-NoCs).
  2. How to handle mapping of tasks for infinitely scalable NoCs.
  3. How to build an OS that supports fault-tolerance and remapping of tasks for is-NoCs.
  4. How to deal with configuration & program maintenance of CPU nodes in a "Sea-of-Cores (SoC)" situation.

Related interesting research topics

ForSyDe

ForSyDe (Formal System Design) is a methodology with a formal basis for designing heterogeneous embedded systems which is supported by a set of tools, modeling libraries, and related documentation. ForSyDe uses the theory of Models of Computation (MoCs) to capture the specification model of a heterogeneous system. Such a system can be refined using a set of well defined Design Transformations to get an implementation model. Implementation mapping can then be used to generate software or hardware from the refined model. ForSyDe models can also be co-simulated with legacy code and external IP blocks.

For more information:

NoC based system generators

Predictable NoC based platforms

  • CompSoC : ensure predictability using a custom OS on each ublaze

Multicore and multiprocessors in Stockholm, Kista

Multicore OS

iFest: industrial Framework for Embedded Systems Tools

  • iFest: ARTEMIS european project

Lovely Languages

  • SystemC - system design
  • Erlang - distributed memory model
  • Haskell - formal verification