MAPS: MPSoC Application Programming Studio (SSS)

Motivation

 

Programming embedded Multicore platforms is a grand challenge for SoC providers and users today, posing a multitude of SW design issues: What is the right MPSoC programming model that captures both parallel computations and certified sequential C code? How to parallelize legacy C code? How to meet real-time constraints? How to schedule for multitasking? How to achieve optimal utilization of custom processing elements? How to minimize communication overhead? How to explore the vast SW mapping design space?


Traditional compiler technology does not scale for MPSoC. As a result of a long-term R&D investment, ICE at RWTH Aachen University has developed the MAPS Compiler (MPSoC Application Programming Studio), a tool framework with an Eclipse-based IDE that eases programming of heterogeneous MPSoC architectures, while ensuring optimal system performance. Its input language is CPN, an easy-to-use C extension that models concurrent processes and applications as well as legacy code. Based on novel code analysis and profiling technologies, MAPS performs automated code partitioning as well as optimized spatial and temporal task to processor assignment. The output is partitioned C code that can be compiled by the native C compilers of the MPSoC processing elements. By executing the code on a real or virtual target platform, the user can quickly evaluate the result quality and, if required, explore further SW mapping options.

 

 

MAPS features

  • Compilation framework for multi-core systems (heterogeneous or homogeneous) for SW developers
  • C-based extension for parallel programming
  • C-based source-to-source translation to leverage the existing C compiler technology for multi-core processing elements
  • Advanced scheduling and mapping of parallel applications
  • Sequential C partitioning facilities
  • Retargetability of the compiler framework towards different multi-core platforms
  • Collaborative in working with state-of-the-art ESL (Electronic System Level) design tools and other silicon vendor SW tools

 

 

MAPS programming model

  • Multiple (potential simultaneous) applications
  • Each given in either sequential C code or C extension (CPN) for Kahn Process Networks (KPNs)
  • Real-time class plus constraints
  • Preferred PE type
  • Concurrency graph models multitasking scenarios
  • Automated code (re)partitioning
  • Mixed static/dynamic task scheduling

MAPS Sequential Flow

The current practice of software development relies on program transformation instead of designing everything from scratch. This is a fact in the context of MPSoC programming, as it involves parallelizing legacy sequential code to distribute the workload among the available cores, in order to achieve performance improvements. This is an extremely error-prone and time consuming task, as the developer might not be familiar with the code and in most of the cases there is not enough documentation available. The MAPS framework addresses this issue by providing a flow, which eases the process of transforming sequential C code into CPN. The sequential flow extracts multiple forms of parallelism such as Task, Data and Pipeline level parallelism. Once the flow has analyzed the input code, parallelization suggestions are presented graphically. This allows an easy interaction with the developer and an intuitive presentation of the results, thus enabling a transparent derivation of the CPN representation.

Collaboration

 

 

History / Spin-off

Following the acquisition of the 40 million Euros UMIC Excellence Cluster by RWTH in 2006, ICE began to massively invest R&D resources in novel multicore programming tools, anticipating forthcoming industrial demands. An international user workshop held by ICE in 2011, as well as early project engagements with industry partners reconfirmed the strong need for advanced multicore software tools and focused ICE´s R&D roadmap. The acquisition of significant seed funding from the German EXIST program in 2013 paved the way towards further financial investments and accelerated commercialization process. As a result, Silexica Software Solutions GmbH was founded in Aachen, Germany, in August 2014 as a spin-off from the ICE to productize MAPS technologies. Meanwhile ICE continues ground-breaking research activities on various aspects of multicore programming tools.  

 

 

Publications


Contact: Miguel Aguilar, Diego Pala, Gereon Onnebrink, Milan Copic

News >> News >> News

Best Paper Award at RAPIDO’18

The Paper titled "ESL Black Box Power Estimation: Automatic Calibration for IEEE UPF 3.0 Power

Miguel Angel Aguilar wins the ICT Young Researcher Award 2017

The profile area "Information and Communication Technology (ICT)" at RWTH Aachen

New European initiative TETRAMAX has officially been kicked-off!

With its kick-off meeting on 19 September in Aachen, TETRAMAX (TEchnology TRAnsfer via

User login

Login

Forgot your password?