MPSoC programming using the MAPS compiler

The problem of efficiently programming complex embedded heterogeneous Multi-Processor Systems-On-Chip (MPSoCs) continues to be one of the biggest hurdles in the IT community. Extracting parallelism from sequential applications, dealing with different programming models, and handling real time constraints in the presence of multiple concurrent applications are some of the challenges that make MPSoC programming so difficult. In this paper we describe the MAPS tool suite, which tries to tackle these aspects of MPSoC programming in an integrated development environment built upon the Eclipse framework. We give an overview of the MAPS framework, highlighting its differences to the previous work in [7], and report on experiences using the tool.

[1]  Wolfgang Ecker,et al.  Hardware-dependent Software , 2009 .

[2]  Yajun Ha,et al.  Multiprocessor systems synthesis for multiple use-cases of multiple applications on FPGA , 2008, TODE.

[3]  Michael F. P. O'Boyle,et al.  Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping , 2009, PLDI '09.

[4]  Twan Basten,et al.  Requirements on the Execution of Kahn Process Networks , 2003, ESOP.

[5]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

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

[7]  Rainer Leupers,et al.  Customizable Embedded Processors: Design Technologies and Applications , 2006 .

[8]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[9]  Rainer Leupers,et al.  A high-level virtual platform for early MPSoC software development , 2009, CODES+ISSS '09.

[10]  Wolfgang Ecker,et al.  Hardware-dependent Software: Principles and Practice , 2009 .

[11]  Twan Basten,et al.  Efficient Execution of Process Networks , 2001 .

[12]  Rainer Leupers,et al.  Task management in MPSoCs: An ASIP approach , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[13]  Peter van der Stok Dynamic and Robust Streaming in and between Connected Consumer-Electronic Devices , 2011 .

[14]  Rainer Dömer,et al.  Code and Data Structure Partitioning for Parallel and Flexible MPSoC Specification Using Designer-Controlled Recoding , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Yajun Ha,et al.  Analyzing composability of applications on MPSoC platforms , 2008, J. Syst. Archit..

[16]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[17]  Chantal Ykman-Couvreur,et al.  Systematic Methodology for Real-Time Cost-Effective Mapping of Dynamic Concurrent Task-Based Systems on Heterogenous Platforms , 2007 .

[18]  Corporate Inmos Limited Communicating Process Architecture , 1989 .

[19]  Lothar Thiele,et al.  Mapping Applications to Tiled Multiprocessor Embedded Systems , 2007, Seventh International Conference on Application of Concurrency to System Design (ACSD 2007).

[20]  Yunheung Paek,et al.  A retargetable parallel-programming framework for MPSoC , 2008, TODE.

[21]  Corporate Ieee,et al.  Information Technology-Portable Operating System Interface , 1990 .

[22]  Hristo N. Nikolov,et al.  System-level design methodology for streaming multi-processor embedded systems , 2009 .

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

[24]  Thomas J. Ashby,et al.  MPA: Parallelizing an Application onto a Multicore Platform Made Easy , 2009, IEEE Micro.

[25]  Sander Stuijk,et al.  Multiprocessor Resource Allocation for Throughput-Constrained Synchronous Dataflow Graphs , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[26]  Christian Haubelt,et al.  A SystemC-Based Design Methodology for Digital Signal Processing Systems , 2007, EURASIP J. Embed. Syst..

[27]  Rainer Leupers,et al.  Trace-based KPN composability analysis for mapping simultaneous applications to MPSoC platforms , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[28]  Shuvra S. Bhattacharyya,et al.  Embedded Multiprocessors: Scheduling and Synchronization , 2000 .

[29]  Andy D. Pimentel,et al.  A systematic approach to exploring embedded system architectures at multiple abstraction levels , 2006, IEEE Transactions on Computers.

[30]  R Day,et al.  The eclipse open-development platform , 2008 .

[31]  Orlando Moreira,et al.  Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor , 2007, EMSOFT '07.

[32]  Soonhoi Ha,et al.  Pipelined data parallel task mapping/scheduling technique for MPSoC , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[33]  Sander Stuijk,et al.  Dataflow Analysis for Real-Time Embedded Multiprocessor System Design , 2005 .

[34]  Shuvra S. Bhattacharyya,et al.  A generalized scheduling approach for dynamic dataflow applications , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.