Run-Time Enforcement of Non-functional Program Properties on MPSoCs

2021 
For many embedded applications, non-functional requirements, e.g., execution time, must be guaranteed in tight bounds. Unfortunately, many applications, e.g., video streaming, exhibit high variability in, e.g., per-iteration execution time, especially on MPSoC platforms. Such jitters are partly imposed by the system management software practicing, e.g., cache strategies and power management, and partly imposed by workload variation, e.g., the number of objects in an input image. In this paper, we classify and present techniques for enforcement of non-functional properties. These techniques make the system management software become the application’s advocate instead of both acting independently. For the example of enforcement of execution time intervals, we present centralized and distributed enforcement techniques in which preferential threads called e-lets are generated to control system resources in view of application/task workload variation. The behavior of each e-let is formally specified by an enforcement automaton, derived based on a static application characterization. We consider a case study on timing enforcement of image processing applications on MPSoCs with per-core DVFS and present a DSE to construct per-task enforcement automata with provably minimal energy consumption which, in our case study, enables 41 % energy savings.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    30
    References
    1
    Citations
    NaN
    KQI
    []