Mapping on multi/many-core systems: Survey of current and emerging trends

The reliance on multi/many-core systems to satisfy the high performance requirement of complex embedded software applications is increasing. This necessitates the need to realize efficient mapping methodologies for such complex computing platforms. This paper provides an extensive survey and categorization of state-of-the-art mapping methodologies and highlights the emerging trends for multi/many-core systems. The methodologies aim at optimizing system's resource usage, performance, power consumption, temperature distribution and reliability for varying application models. The methodologies perform design-time and run-time optimization for static and dynamic workload scenarios, respectively. These optimizations are necessary to fulfill the end-user demands. Comparison of the methodologies based on their optimization aim has been provided. The trend followed by the methodologies and open research challenges have also been discussed.

[1]  Narayanan Vijaykrishnan,et al.  Variation-Aware Task and Communication Mapping for MPSoC Architecture , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Radu Marculescu,et al.  FARM: Fault-aware resource management in NoC-based multiprocessor platforms , 2011, 2011 Design, Automation & Test in Europe.

[3]  Dakai Zhu,et al.  Global Reliability-Aware Power Management for Multiprocessor Real-Time Systems , 2010, 2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications.

[4]  Xue Liu,et al.  Efficient SAT-Based Mapping and Scheduling of Homogeneous Synchronous Dataflow Graphs for Throughput Optimization , 2008, 2008 Real-Time Systems Symposium.

[5]  Amit Kumar Singh,et al.  A hybrid strategy for mapping multiple throughput-constrained applications on MPSoCs , 2011, 2011 Proceedings of the 14th International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES).

[6]  Sri Parameswaran,et al.  A design flow for application specific heterogeneous pipelined multiprocessor systems , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[7]  Fernando Gehm Moraes,et al.  Dynamic Task Mapping for MPSoCs , 2010, IEEE Design & Test of Computers.

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

[9]  Anthony A. Maciejewski,et al.  A semi-static approach to mapping dynamic iterative tasks onto heterogeneous computing systems , 2006, J. Parallel Distributed Comput..

[10]  Luca Benini,et al.  An Integrated Open Framework for Heterogeneous MPSoC Design Space Exploration , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[11]  Ahmad Khademzadeh,et al.  DSM: A Heuristic Dynamic Spiral Mapping algorithm for network on chip , 2008, IEICE Electron. Express.

[12]  Rainer Leupers,et al.  Communication-aware mapping of KPN applications onto heterogeneous MPSoCs , 2012, DAC Design Automation Conference 2012.

[13]  Lothar Thiele,et al.  Thermal-aware system analysis and software synthesis for embedded multi-processors , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[14]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[15]  Coniferous softwood GENERAL TERMS , 2003 .

[16]  Vittorio Zaccaria,et al.  Robust optimization of SoC architectures: A multi-scenario approach , 2008, 2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia.

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

[18]  Gerard J. M. Smit,et al.  Run-time spatial resource management for real-time applications on heterogeneous MPSoCs , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[19]  Fernando Gehm Moraes,et al.  Comparison of network-on-chip mapping algorithms targeting low energy consumption , 2008, IET Comput. Digit. Tech..

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

[21]  Mahmut T. Kandemir,et al.  Application mapping for chip multiprocessors , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[22]  Hannu Tenhunen,et al.  Guest Editors' Introduction: Multiprocessor Systems-on-Chips , 2005, Computer.

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

[24]  Radu Marculescu,et al.  Energy-aware mapping for tile-based NoC architectures under performance constraints , 2003, ASP-DAC '03.

[25]  George Kurian,et al.  Self-aware computing in the Angstrom processor , 2012, DAC Design Automation Conference 2012.

[26]  Grant Martin,et al.  Overview of the MPSoC design challenge , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[27]  Donald E. Thomas,et al.  Lifetime improvement through runtime wear-based task mapping , 2012, CODES+ISSS '12.

[28]  Karam S. Chatha,et al.  Unrolling and retiming of stream applications onto embedded multicore processors , 2012, DAC Design Automation Conference 2012.

[29]  Chantal Ykman-Couvreur,et al.  An industrial design space exploration framework for supporting run-time resource management on multi-core systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

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

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

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

[33]  Jürgen Teich,et al.  Mapping of applications to MPSoCs , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[34]  Pascal Benoit,et al.  A Decentralised Task Mapping Approach for Homogeneous Multiprocessor Network-On-Chips , 2009, Int. J. Reconfigurable Comput..

[35]  Jörg Henkel,et al.  Invasive manycore architectures , 2012, 17th Asia and South Pacific Design Automation Conference.

[36]  Hokeun Kim,et al.  A task remapping technique for reliable multi-core embedded systems , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[37]  Andy D. Pimentel,et al.  NASA: A generic infrastructure for system-level MP-SoC design space exploration , 2010, 2010 8th IEEE Workshop on Embedded Systems for Real-Time Multimedia.

[38]  Théodore Marescaux,et al.  Centralized run-time resource management in a network-on-chip containing reconfigurable hardware tiles , 2005, Design, Automation and Test in Europe.

[39]  Orlando Moreira,et al.  Online resource management in a multiprocessor with a network-on-chip , 2007, SAC '07.

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

[41]  Luca Benini,et al.  An efficient and complete approach for throughput-maximal SDF allocation and scheduling on multi-core platforms , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[42]  Bharadwaj Veeravalli,et al.  Reliability-driven task mapping for lifetime extension of networks-on-chip based multiprocessor systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[43]  Liang Chen,et al.  Online scheduling for multi-core shared reconfigurable fabric , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[44]  Onur Derin,et al.  Online task remapping strategies for fault-tolerant Network-on-Chip multiprocessors , 2011, Proceedings of the Fifth ACM/IEEE International Symposium.

[45]  Radu Marculescu,et al.  Energy- and performance-aware mapping for regular NoC architectures , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[46]  Natalie D. Enright Jerger,et al.  Outstanding Research Problems in NoC Design: System, Microarchitecture, and Circuit Perspectives , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[47]  Jing-Yang Jou,et al.  Communication-driven task binding for multiprocessor with latency insensitive network-on-chip , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[48]  Francky Catthoor,et al.  Managing dynamic concurrent tasks in embedded real-time multimedia systems , 2002, 15th International Symposium on System Synthesis, 2002..

[49]  Saurabh Dighe,et al.  An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS , 2007, 2007 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

[50]  Li Shang,et al.  Reliable multiprocessor system-on-chip synthesis , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[51]  Radu Marculescu,et al.  User-Aware Dynamic Task Allocation in Networks-on-Chip , 2008, 2008 Design, Automation and Test in Europe.

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

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

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

[55]  Luca Benini,et al.  Resource Management Policy Handling Multiple Use-Cases in MPSoC Platforms Using Constraint Programming , 2008, ICLP.

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

[57]  Mahmut T. Kandemir,et al.  Process variation aware thread mapping for Chip Multiprocessors , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[58]  Qiang Xu,et al.  Performance yield-driven task allocation and scheduling for MPSoCs under process variation , 2010, Design Automation Conference.

[59]  Qiang Xu,et al.  Customer-aware task allocation and scheduling for multi-mode MPSoCs , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[60]  Mahmut T. Kandemir,et al.  Dynamic partitioning of processing and memory resources in embedded MPSoC architectures , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[61]  Muhammad Shafique,et al.  Adaptive resource management for simultaneous multitasking in mixed-grained reconfigurable multi-core processors , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[62]  Jörg Henkel,et al.  Economic learning for thermal-aware power budgeting in many-core architectures , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[63]  Jörg Henkel,et al.  ADAM: Run-time agent-based distributed application mapping for on-chip communication , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[64]  Amit Kumar Singh,et al.  Communication-aware heuristics for run-time task mapping on NoC-based MPSoC platforms , 2010, J. Syst. Archit..

[65]  P. Sadayappan,et al.  Moldable Parallel Job Scheduling Using Job Efficiency: An Iterative Approach , 2006, JSSPP.

[66]  Sander Stuijk,et al.  MNEMEE – An Automated Toolflow for Parallelization and Memory Management in MPSoC Platforms , 2011 .

[67]  L. Carro,et al.  Time and energy efficient mapping of embedded applications onto NoCs , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[68]  Lothar Thiele,et al.  Dynamic Power-Aware Mapping of Applications onto Heterogeneous MPSoC Platforms , 2010, IEEE Transactions on Industrial Informatics.

[69]  Davide Bertozzi,et al.  Supporting Task Migration in Multi-Processor Systems-on-Chip: A Feasibility Study , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[70]  Radu Marculescu,et al.  System-level performance/power analysis for platform-based design of multimedia applications , 2007, TODE.

[71]  Diederik Verkest,et al.  Run-Time Management of a MPSoC Containing FPGA Fabric Tiles , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[72]  Tajana Simunic,et al.  Utilizing Predictors for Efficient Thermal Management in Multiprocessor SoCs , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[73]  Tajana Simunic,et al.  Temperature management in multiprocessor SoCs using online learning , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[74]  Daniël Paulusma,et al.  Run-time mapping of applications to a heterogeneous reconfigurable tiled system on chip architecture , 2004, Proceedings. 2004 IEEE International Conference on Field- Programmable Technology (IEEE Cat. No.04EX921).

[75]  Soonhoi Ha,et al.  Many-to-many core-switch mapping in 2-D mesh NoC architectures , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[76]  Francesco Poletti,et al.  Communication-aware allocation and scheduling framework for stream-oriented multi-processor systems-on-chip , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[77]  Srinivasan Murali,et al.  A Methodology for Mapping Multiple Use-Cases onto Networks on Chips , 2006, Proceedings of the Design Automation & Test in Europe Conference.

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

[79]  Andy D. Pimentel,et al.  Scenario-based design space exploration of MPSoCs , 2010, 2010 IEEE International Conference on Computer Design.

[80]  Alois Knoll,et al.  A workflow for runtime adaptive task allocation on heterogeneous MPSoCs , 2011, 2011 Design, Automation & Test in Europe.

[81]  Andy D. Pimentel,et al.  Design space pruning through hybrid analysis in system-level design space exploration , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[82]  Sander Stuijk,et al.  A Predictable Multiprocessor Design Flow for Streaming Applications with Dynamic Behaviour , 2010, DSD.

[83]  Kiyoung Choi,et al.  SoCDAL: System-on-chip design AcceLerator , 2008, TODE.

[84]  Luca Fossati,et al.  Decision-Theoretic Design Space Exploration of Multiprocessor Platforms , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[85]  Augustus K. Uht,et al.  Central vs. distributed dynamic thermal management for multi-core processors: which one is better? , 2009, GLSVLSI '09.

[86]  Lothar Thiele,et al.  Scenario-based design flow for mapping streaming applications onto on-chip many-core systems , 2012, CASES '12.

[87]  Yusuf Leblebici,et al.  Dynamic thermal management in 3D multicore architectures , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[89]  Marios M. Polycarpou,et al.  Towards embedded runtime system level optimization for MPSoCs: on-chip task allocation , 2009, GLSVLSI '09.

[90]  Jörg Henkel,et al.  On-chip networks: a scalable, communication-centric embedded system design paradigm , 2004, 17th International Conference on VLSI Design. Proceedings..

[91]  Christian Haubelt,et al.  SystemCoDesigner—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications , 2009, TODE.

[92]  Donald E. Thomas,et al.  A case for lifetime-aware task mapping in embedded chip multiprocessors , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

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

[94]  Lothar Thiele,et al.  Power-Aware Mapping of Probabilistic Applications onto Heterogeneous MPSoC Platforms , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

[95]  Jun Yang,et al.  Thermal-Aware Task Scheduling for 3D Multicore Processors , 2010, IEEE Transactions on Parallel and Distributed Systems.

[96]  Donald E. Thomas,et al.  Cost-effective slack allocation for lifetime improvement in NoC-based MPSoCs , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[97]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[98]  Kurt Keutzer,et al.  A Decomposition-based Constraint Optimization Approach for Statically Scheduling Task Graphs with Communication Delays to Multiprocessors , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.