On the Complexity of Mapping Feasibility in Many-Core Architectures

Many-core architectures enable the concurrent execution of multiple application programs. In this context, the well-known problem of feasibly mapping applications, i.e., their tasks and communication, to such architectures has gained importance due to the large number of cores and limited inter-processor communication capacities. This challenge is tackled by so-called Hybrid Application Mapping (HAM) approaches: These combine a design-time analysis to extract sets of mapping constraints that characterize feasible, respectively optimal mappings with the runtime determination of a concrete mapping in dependence of these mapping constraints and the set of currently available resources. A major strength of HAM approaches has been shown as their ability to give real-time and other guarantees for statically characterized application programs even in highly dynamic workload scenarios while avoiding the pessimism of static resource partitionings. However, finding a feasible mapping is an NP-complete problem. This work discusses arising implications for HAM approaches in general and investigates two exact techniques for solving the mapping constraints at runtime in particular: (I) a problem-specific backtracking approach, and (II) an approach that adopts a general-purpose SAT solver. Experimental results show that the overhead of the general-purpose solver and, in particular, processing and solving the required SAT formulation becomes significant, whereas the problem-specific backtracking technique achieves significantly lower execution times.

[1]  Michael Glaß,et al.  DAARM: Design-time application analysis and run-time mapping for predictable execution in many-core systems , 2014, 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[2]  Amit Kumar Singh,et al.  Mapping on multi/many-core systems: Survey of current and emerging trends , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[4]  Peter Sanders,et al.  HordeSat: A Massively Parallel Portfolio SAT Solver , 2015, SAT.

[5]  Wolfgang Schröder-Preikschat,et al.  DistRM: Distributed resource management for on-chip many-core systems , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[6]  Soonhoi Ha,et al.  Dynamic Behavior Specification and Dynamic Mapping for Real-Time Embedded Systems , 2014, ACM Trans. Embed. Comput. Syst..

[7]  Fernando Gehm Moraes,et al.  Heuristics for Dynamic Task Mapping in NoC-based Heterogeneous MPSoCs , 2007, 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP '07).

[8]  Martin Lukasiewycz,et al.  Opt4J: a modular framework for meta-heuristic optimization , 2011, GECCO '11.

[9]  Jürgen Teich,et al.  Symmetry-Eliminating Design Space Exploration for Hybrid Application Mapping on Many-Core Architectures , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Radu Marculescu,et al.  Energy- and Performance-Aware Incremental Mapping for Networks on Chip With Multiple Voltage Levels , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Michael Glaß,et al.  Predictable run-time mapping reconfiguration for real-time applications on many-core systems , 2017, RTNS.

[12]  Soonhoi Ha,et al.  Executing synchronous dataflow graphs on a SPM-based multicore architecture , 2012, DAC Design Automation Conference 2012.

[13]  Amit Kumar Singh,et al.  Accelerating throughput-aware runtime mapping for heterogeneous MPSoCs , 2013, TODE.

[14]  Luca Benini,et al.  Networks on Chips : A New SoC Paradigm , 2022 .

[15]  Jürgen Teich,et al.  Dynamic decentralized mapping of tree-structured applications on NoC architectures , 2011, Proceedings of the Fifth ACM/IEEE International Symposium.

[16]  Sheldon X.-D. Tan,et al.  Task Migrations for Distributed Thermal Management Considering Transient Effects , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Karam S. Chatha,et al.  Scheduling of synchronous data flow models on scratchpad memory based embedded processors , 2010, ICCAD 2010.

[18]  Fernando Gehm Moraes,et al.  Achieving composability in NoC-based MPSoCs through QoS management at software level , 2011, 2011 Design, Automation & Test in Europe.

[19]  Sander Stuijk,et al.  A parameterized compositional multi-dimensional multiple-choice knapsack heuristic for CMP run-time management , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[20]  Timo Hämäläinen,et al.  Automated memory-aware application distribution for Multi-processor System-on-Chips , 2007, J. Syst. Archit..

[21]  Kees Goossens,et al.  AEthereal network on chip: concepts, architectures, and implementations , 2005, IEEE Design & Test of Computers.

[22]  Chantal Ykman-Couvreur,et al.  Linking run-time resource management of embedded multi-core platforms with automated design-time exploration , 2011, IET Comput. Digit. Tech..

[23]  Jürgen Becker,et al.  Providing multiple hard latency and throughput guarantees for packet switching networks on chip , 2013, Comput. Electr. Eng..

[24]  Jürgen Teich,et al.  Execution-driven parallel simulation of PGAS applications on heterogeneous tiled architectures , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[25]  Soonhoi Ha,et al.  Multi-objective mapping optimization via problem decomposition for many-core systems , 2012, 2012 IEEE 10th Symposium on Embedded Systems for Real-time Multimedia.