MAPS: Mapping Concurrent Dataflow Applications to Heterogeneous MPSoCs

Processor Systems on Chip (MPSoCs) in order to cope with the increasing applications demands and the tight energy budget of portable devices. The complexity of these systems makes them difficult to program, which has caused academia and industry to look for alternative methodologies and models. In the particular case of multimedia and baseband processing, dataflow models are being proposed and appear to be a sensible choice to represent applications. While high-level models, like dataflow, increase programmers' productivity, new, powerful tools are badly required that lower the abstract specification into an efficient implementation. In this paper, a framework is presented that provides support for mapping multiple dataflow applications onto heterogeneous MPSoCs. The framework is aware of design constraints, provides different means for performance estimation and supports a variety of mapping heuristics. The tool is showcased on three applications on a virtual platform containing heterogeneous processing elements. The heuristics for single applications reported a speedup of up to 40% when compared against random walk. The multi-application component helped to find an appropriate scheduling configuration that met real-time constraints when the three applications were running simultaneously.

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

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

[3]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[4]  Edward A. Lee Consistency in Dataflow Graphs , 1991, IEEE Trans. Parallel Distributed Syst..

[5]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[6]  Jean A. Peperstraete,et al.  Cycle-static dataflow , 1996, IEEE Trans. Signal Process..

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

[8]  Redwan Salami,et al.  GSM enhanced full rate speech codec , 1997, 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[9]  Donald L. Kreher,et al.  Combinatorial algorithms: generation, enumeration, and search , 1998, SIGA.

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

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

[12]  Peter Cumming,et al.  The TI OMAP™ Platform Approach to SOC , 2003 .

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

[14]  Lothar Thiele,et al.  A general framework for analysing system properties in platform-based embedded system designs , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[15]  Grant Martin,et al.  Winning the SoC revolution : experiences in real design , 2003 .

[16]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[17]  Kingshuk Karuri,et al.  Fine-grained application source code profiling for ASIP design , 2005, Proceedings. 42nd Design Automation Conference, 2005..

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

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

[20]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

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

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

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

[24]  Todor Stefanov,et al.  pn: A Tool for Improved Derivation of Process Networks , 2007, EURASIP J. Embed. Syst..

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

[26]  Eric Cheung,et al.  Automatic buffer sizing for rate-constrained KPN applications on multiprocessor system-on-chip , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

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

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

[29]  Kees G. W. Goossens,et al.  CoMPSoC: A template for composable and predictable multi-processor system on chips , 2009, TODE.

[30]  Lothar Thiele,et al.  Generation and calibration of compositional performance analysis models for multi-processor systems , 2009, 2009 International Symposium on Systems, Architectures, Modeling, and Simulation.

[31]  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.

[32]  L. Thiele,et al.  Multiprocessor SoC software design flows , 2009, IEEE Signal Processing Magazine.

[33]  Tomas Henriksson,et al.  Heterogeneous multi-core platform for consumer multimedia applications , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[34]  Kai Huang,et al.  A modular fast simulation framework for stream-oriented MPSoC , 2009, 2009 IEEE International Symposium on Industrial Embedded Systems.

[35]  Lei Gao,et al.  TotalProf: a fast and accurate retargetable source code profiler , 2009, CODES+ISSS '09.

[36]  Tilman Wolf,et al.  Analytic modeling of network processors for parallel workload mapping , 2009, TECS.

[37]  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).

[38]  Rainer Leupers,et al.  MPSoC programming using the MAPS compiler , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).