ILP-based Memory-Aware Mapping Optimization for MPSoCs

The mapping of applications onto multiprocessor system-on-chip (MPSoC) devices is an important and complex optimization task. The goal is to efficiently distribute application tasks to available processors while optimizing for energy or runtime. Unfortunately, the influence of memories or memory hierarchies is not considered in existing mapping optimizations so far, even though it is a well-known fact that memories have a drastic impact on runtime and energy consumption of the system. In this paper, we address the challenge of finding an efficient application to MPSoC mapping while explicitly considering the underlying memory subsystem and an efficient mapping of task's memory objects to memories. For this purpose, we developed a memory-aware mapping tool based on ILP optimization. Evaluations on various benchmarks show that our memory-aware mapping tool outperforms state-of-the-art mapping optimizations by reducing the runtime up to 18%, and energy consumption up to 21%.

[1]  Stylianos Mamagkakis,et al.  Versatile system-level memory-aware platform description approach for embedded MPSoCs , 2010, LCTES '10.

[2]  Norman P. Jouppi,et al.  Single-ISA heterogeneous multi-core architectures for multithreaded workload performance , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[3]  Ed F. Deprettere,et al.  Daedalus: Toward composable multimedia MP-SoC design , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[4]  P. Machanick Approaches to Addressing the Memory Wall , 2022 .

[5]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[6]  Petru Eles,et al.  Scheduling and mapping of conditional task graph for the synthesis of low power embedded systems , 2003 .

[7]  Petru Eles,et al.  Task mapping and priority assignment for soft real-time applications under deadline miss ratio constraints , 2008, TECS.

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

[9]  Norman P. Jouppi,et al.  Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction , 2003, MICRO.

[10]  Christian Haubelt,et al.  SystemCoDesigner: Automatic design space exploration and rapid prototyping from behavioral models , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[11]  Petru Eles,et al.  Scheduling and mapping of conditional task graphs for the synthesis of low power embedded systems , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[13]  Flávio Rech Wagner,et al.  Dynamic Task Allocation Strategies in MPSoC for Soft Real-time Applications , 2008, 2008 Design, Automation and Test in Europe.

[14]  Soonhoi Ha Model-based Programming Environment of Embedded Software for MPSoC , 2007, 2007 Asia and South Pacific Design Automation Conference.

[15]  Daniel Cordes,et al.  Automatic parallelization of embedded software using hierarchical task graphs and integer linear programming , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[16]  Karam S. Chatha,et al.  Compilation of stream programs for multicore processors that incorporate scratchpad memories , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[17]  Marco Laumanns,et al.  PISA: A Platform and Programming Language Independent Interface for Search Algorithms , 2003, EMO.

[18]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[19]  Tulika Mitra,et al.  Integrated scratchpad memory optimization and task scheduling for MPSoC architectures , 2006, CASES '06.

[20]  Peter Marwedel,et al.  Overlay techniques for scratchpad memories in low power embedded processors , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  Lothar Thiele,et al.  Embedding formal performance analysis into the design cycle of MPSoCs for real-time streaming applications , 2012, TECS.

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

[23]  Marco Laumanns,et al.  SPEA2: Improving the Strength Pareto Evolutionary Algorithm For Multiobjective Optimization , 2002 .

[24]  Petru Eles,et al.  Energy-efficient mapping and scheduling for DVS enabled distributed embedded systems , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[25]  Yi He,et al.  Co-optimization of memory access and task scheduling on MPSoC architectures with multi-level memory , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[26]  Krzysztof Kuchcinski,et al.  A constructive algorithm for memory-aware task assignment and scheduling , 2001, CODES '01.

[27]  Peter Marwedel,et al.  Assigning program and data objects to scratchpad for energy reduction , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

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