Run-Time Scenario-Based MPSoC Mapping Reconfiguration Using Machine Learning Models

Applications with highly input-dependent workload and execution behavior cannot be optimally executed by a single mapping of application tasks to a heterogeneous multi-core target architecture. Albeit mapping a task to a resource with high computational power may be suitable for input triggering a high workload of this task, it may be more efficient to map another task to the resource in case of input providing low workload for the former and high workload for the latter. As a remedy, we propose to group inputs evoking similar workload and execution characteristics into so-called workload scenarios for which specialized mappings targeted at the common workload distribution in the scenario are provided. Optimized mappings for each scenario can be determined by a scenario-based design space exploration at design time.At run time, applications process a stream of input data whose scenario affiliation is a priori unknown. This entails two coupled tasks: First, we have to identify the scenario of the current input data based on its execution characteristics. Second, we have to choose an application mapping for processing the current input prior to its execution on the basis of the concluded scenarios of the past input and the currently active scenario-associated mapping. Note that switching between scenarios may come at a non-negligible reconfiguration cost that could decrease the advantage gained by a more suitable mapping.Both tasks are tackled by a proposed run-time reconfiguration manager, which is built on machine learning models. These models learn a strategy for identifying scenarios and selecting adequate mappings by design-time training. Here, different machine learning models are compared for their applicability.An evaluation of the run-time manager based on a ray tracing and stitching application shows significant latency improvements compared to an approach with a single mapping optimized for the average-case input.

[1]  Michael Glaß,et al.  Hard real-time application mapping reconfiguration for NoC-based many-core systems , 2019, Real-Time Systems.

[2]  Alec Radford,et al.  Proximal Policy Optimization Algorithms , 2017, ArXiv.

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

[4]  Michael Glaß,et al.  Data-Driven Scenario-Based Application Mapping for Heterogeneous Many-Core Systems , 2019, 2019 IEEE 13th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC).

[5]  Jürgen Schmidhuber,et al.  Learning to Forget: Continual Prediction with LSTM , 2000, Neural Computation.

[6]  Yishay Mansour,et al.  Policy Gradient Methods for Reinforcement Learning with Function Approximation , 1999, NIPS.

[7]  Jimmy Ba,et al.  Adam: A Method for Stochastic Optimization , 2014, ICLR.

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

[9]  Henk Corporaal,et al.  Profiling Driven Scenario Detection and Prediction for Multimedia Applications , 2006, 2006 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[10]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

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

[12]  Wei Quan,et al.  A Hybrid Task Mapping Algorithm for Heterogeneous MPSoCs , 2015, ACM Trans. Embed. Comput. Syst..

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

[14]  Michael Felsberg,et al.  Image Alignment for Panorama Stitching in Sparsely Structured Environments , 2015, SCIA.