Communication-aware mapping of KPN applications onto heterogeneous MPSoCs

Kahn Process Networks (KPNs) are a widely accepted programming model for MPSoCs. Existing KPN mapping techniques mainly focus on assigning processes to processors. However, with embedded interconnect becoming more complex, communication has started to play an equally important role to that of computation. This paper presents a new KPN mapping algorithm that addresses communication and computation jointly. The algorithm is tested on two platforms with real applications and with randomly generated KPNs. We show that the algorithm finds solutions in situations where bare process mapping fails. It also reduced the average application makespan considerably when compared to previous heuristics.

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

[2]  Andy D. Pimentel,et al.  Multiobjective optimization and evolutionary algorithms for the application mapping problem in multiprocessor system-on-chip design , 2006, IEEE Transactions on Evolutionary Computation.

[3]  Muhammad Shafique,et al.  Low-power adaptive pipelined MPSoCs for multimedia: An H.264 video encoder case study , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[4]  Bart Kienhuis,et al.  Automatic partitioning and mapping of stream-based applications onto the Intel IXP Network processor , 2007, SCOPES '07.

[5]  Gerard O'Regan Texas Instruments , 1964, Nature.

[6]  Sander Stuijk,et al.  SDF^3: SDF For Free , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[7]  Kees van Berkel,et al.  Multi-core for mobile phones , 2009, DATE.

[8]  Todor Stefanov,et al.  Throughput modeling to evaluate process merging transformations in polyhedral process networks , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

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

[10]  Luca Benini,et al.  A control theoretic approach to energy-efficient pipelined computation in MPSoCs , 2007, TECS.

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

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

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

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

[15]  Rainer Leupers,et al.  MAPS: Mapping Concurrent Dataflow Applications to Heterogeneous MPSoCs , 2013, IEEE Transactions on Industrial Informatics.

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

[17]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

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

[19]  Ed F. Deprettere,et al.  Realizing FIFO Communication When Mapping Kahn Process Networks onto the Cell , 2009, SAMOS.

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

[21]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[22]  C.H. van Berkel,et al.  Multi-core for mobile phones , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[24]  Ahmed Amine Jerraya,et al.  Multiprocessor System-on-Chip (MPSoC) Technology , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.