  In modern multi-core Mixed-Criticality (MC) systems, a rise in peak power
consumption due to parallel execution of tasks with maximum frequency,
specially in the overload situation, may lead to thermal issues, which may
affect the reliability and timeliness of MC systems. Therefore, managing peak
power consumption has become imperative in multi-core MC systems. In this
regard, we propose an online peak power and thermal management heuristic for
multi-core MC systems. This heuristic reduces the peak power consumption of the
system as much as possible during runtime by exploiting dynamic slack and
per-cluster Dynamic Voltage and Frequency Scaling (DVFS). Specifically, our
approach examines multiple tasks ahead to determine the most appropriate one
for slack assignment, that has the most impact on the system peak power and
temperature. However, changing the frequency and selecting a proper task for
slack assignment and a proper core for task re-mapping at runtime can be
time-consuming and may cause deadline violation which is not admissible for
high-criticality tasks. Therefore, we analyze and then optimize our run-time
scheduler and evaluate it for various platforms. The proposed approach is
experimentally validated on the ODROID-XU3 (DVFS-enabled heterogeneous
multi-core platform) with various embedded real-time benchmarks. Results show
that our heuristic achieves up to 5.25% reduction in system peak power and
20.33\% reduction in maximum temperature compared to an existing method while
meeting deadline constraints in different criticality modes.
