Predictable run-time mapping reconfiguration for real-time applications on many-core systems
Behnaz Pourmohseni, Stefan Wildermann, Michael R. Glass, Jürgen Teich · 2017
Many-core systems enable the concurrent execution of dynamic mixes of applications on a shared set of dynamically available resources. Predictable execution of real-time applications requires timing guarantees to ensure the satisfaction of the real-time constraints. To enable this, a design-time Design Space Exploration (DSE) may be employed to extract multiple mappings of the application on the target platform. Each mapping corresponds to a certain set of allocated resources and delivers certain real-time qualities, e.g., worst-case application latency or throughput. The mappings are subsequently provided to a Run-time Manager (RM) which selects and embeds a fitting mapping for the given on-line set of constraints, e.g., performance requirements or resource availability. Being dynamic in nature, the constraints may change during the execution of the application to values that cannot be satisfied unless by switching to another mapping, in a process called mapping reconfiguration. Mapping reconfiguration involves migration of multiple tasks and may become a source of run-time unpredictability. This paper presents a deterministic mapping reconfiguration mechanism supported with an off-line analysis step to enable predictable reconfigurations among a set of precomputed mappings. For each pair of source and target mappings, we statically a) identify efficient migration routes with minimal allocation overhead and migration latency for migrating tasks based on which b) we determine the worst-case reconfiguration latency. Experimental results for a variety of hard real-time applications show that the proposed approach enables reconfigurations with low allocation overhead and affordable latency. We demonstrate the significance of reconfiguration predictability by showing that a considerable share of the reconfigurations would be unfeasible as their worst-case latency exceeds the given application deadline.