Invasive computing for timing-predictable stream processing on MPSoCs

Abstract Multi-Processor Systems-on-a-Chip (MPSoCs) provide sufficient computing power for many applications in scientific as well as embedded applications. Unfortunately, when real-time requirements need to be guaranteed, applications suffer from the interference with other applications, uncertainty of dynamic workload and state of the hardware. Composable application/architecture design and timing analysis is therefore a must for guaranteeing real-time applications to satisfy their timing requirements independent from dynamic workload. Here, Invasive Computing is used as the key enabler for compositional timing analysis on MPSoCs, as it provides the required isolation of resources allocated to each application. On the basis of this paradigm, this work proposes a hybrid application mapping methodology that combines design-time analysis of application mappings with run-time management. Design space exploration delivers several resource reservation configurations with verified real-time guarantees for individual applications. These timing properties can then be guaranteed at run-time, as long as dynamic resource allocations comply with the offline analyzed resource configurations. This article describes our methodology and presents programming, optimization, analysis, and hardware techniques for enforcing timing predictability. A case study illustrates the timing-predictable management of real-time computer vision applications in dynamic robot system scenarios.

[1]  Heba Khdr,et al.  Dark silicon management: an integrated and coordinated cross-layer approach , 2016, it Inf. Technol..

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

[3]  Michael Glaß,et al.  ActorX10: an actor library for X10 , 2016, X10@PLDI.

[4]  Sebastian Buchwald,et al.  Malleable Invasive Applications , 2015, Software Engineering.

[5]  Henry Hoffmann,et al.  Application heartbeats: a generic interface for specifying program performance and goals in autonomous computing environments , 2010, ICAC '10.

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

[7]  Premysl Sucha,et al.  An efficient configuration methodology for time-division multiplexed single resources , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[8]  Jürgen Teich,et al.  Providing fault tolerance through invasive computing , 2016, it Inf. Technol..

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

[10]  Sebastian Buchwald,et al.  Dynamic X10. Resource-Aware Programming for Higher Efficiency , 2014 .

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

[12]  Michael Bader,et al.  SWE-X10: an actor-based and locally coordinated solver for the shallow water equations , 2016, X10@PLDI.

[13]  Kees G. W. Goossens,et al.  Virtual execution platforms for mixed-time-criticality systems: the CompSOC architecture and design flow , 2013, SIGBED.

[14]  Jörg Henkel,et al.  Timing Analysis of Tasks on Runtime Reconfigurable Processors , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[15]  Jürgen Teich,et al.  Invasive Computing: An Overview , 2011, Multiprocessor System-on-Chip.

[16]  J.,et al.  Composability and Predictability for Independent Application Development , Verification and Execution , 2010 .

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

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

[19]  Tamim Asfour,et al.  Resource-Aware Harris Corner Detection Based on Adaptive Pruning , 2014, ARCS.

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

[21]  Felix C. Freiling,et al.  Providing security on demand using invasive computing , 2016, it Inf. Technol..

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

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

[24]  Jürgen Teich,et al.  Invasive computing for predictable stream processing: a simulation-based case study , 2015, 2015 13th IEEE Symposium on Embedded Systems For Real-time Multimedia (ESTIMedia).

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

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

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

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

[29]  Wang Yi,et al.  Building timing predictable embedded systems , 2014, ACM Trans. Embed. Comput. Syst..