A Design-Time/Run-Time Application Mapping Methodology for Predictable Execution Time in MPSoCs

Executing multiple applications on a single MPSoC brings the major challenge of satisfying multiple quality requirements regarding real-time, energy, and so on. Hybrid application mapping denotes the combination of design-time analysis with run-time application mapping. In this article, we present such a methodology, which comprises a design space exploration coupled with a formal performance analysis. This results in several resource reservation configurations, optimized for multiple objectives, with verified real-time guarantees for each individual application. The Pareto-optimal configurations are handed over to run-time management, which searches for a suitable mapping according to this information. To provide any real-time guarantees, the performance analysis needs to be composable and the influence of the applications on each other has to be bounded. We achieve this either by spatial or a novel temporal isolation for tasks and by exploiting composable networks-on-chip (NoCs). With the proposed temporal isolation, tasks of different applications can be mapped to the same resource, while, with spatial isolation, one computing resource can be exclusively used by only one application. The experiments reveal that the success rate in finding feasible application mappings can be increased by the proposed temporal isolation by up to 30% and energy consumption can be reduced compared to spatial isolation.

[1]  Gerard J. M. Smit,et al.  Run-time Spatial Mapping of Streaming Applications to a Heterogeneous Multi-Processor System-on-Chip (MPSOC) , 2007, 2008 Design, Automation and Test in Europe.

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

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

[4]  William J. Dally,et al.  Route packets, not wires: on-chip inteconnection networks , 2001, DAC '01.

[5]  Vittorio Zaccaria,et al.  Using multi-objective design space exploration to enable run-time resource management for reconfigurable architectures , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

[8]  H. Corporaal,et al.  Fast Multi-Dimension Multi-Choice Knapsack Heuristic for MP-SoC Run-Time Management , 2006, 2006 International Symposium on System-on-Chip.

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

[10]  Jürgen Teich,et al.  Design Methodology and Run-Time Management for Predictable Many-Core Systems , 2015, 2015 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops.

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

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

[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]  Wei Quan,et al.  A Hybrid Task Mapping Algorithm for Heterogeneous MPSoCs , 2015, ACM Trans. Embed. Comput. Syst..

[15]  Jürgen Teich,et al.  Symbolic design space exploration for multi-mode reconfigurable systems , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[16]  Norbert Wehn,et al.  Reliable on-chip systems in the nano-era: Lessons learnt and future trends , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[18]  P.T. Wolkotte,et al.  Energy Model of Networks-on-Chip and a Bus , 2005, 2005 International Symposium on System-on-Chip.

[19]  Kees G. W. Goossens,et al.  Composability and Predictability for Independent Application Development, Verification, and Execution , 2011, Multiprocessor System-on-Chip.

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

[21]  Felix C. Freiling,et al.  Design-Time/Run-Time Mapping of Security-Critical Applications in Heterogeneous MPSoCs , 2016, SCOPES.

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

[23]  Andreas Weichslgartner,et al.  Position Paper: Towards Hardware-Assisted Decentralized Mapping of Applications for Heterogeneous NoC Architectures , 2015 .

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

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

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

[27]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[28]  Jürgen Teich,et al.  System-Level Synthesis Using Evolutionary Algorithms , 1998, Des. Autom. Embed. Syst..

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

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

[31]  Jürgen Teich,et al.  Invasive Computing for Mapping Parallel Programs to Many-Core Architectures , 2018, Computer Architecture and Design Methodologies.

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

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

[34]  Michael Glaß,et al.  Multi-objective distributed run-time resource management for many-cores , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

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

[37]  Azadeh Davoodi,et al.  A fast and scalable multidimensional multiple-choice knapsack heuristic , 2013, TODE.

[38]  Xianfeng Li,et al.  Chronos: A timing analyzer for embedded software , 2007, Sci. Comput. Program..

[39]  Martin Lukasiewycz,et al.  Efficient symbolic multi-objective design space exploration , 2008, 2008 Asia and South Pacific Design Automation Conference.

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

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

[42]  Michael Glaß,et al.  Towards scalable symbolic routing for multi-objective networked embedded system design and optimization , 2014, 2014 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[43]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

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