Energy Aware Online Non-Preemptive Scheduling on Multi-core Embedded Systems

More Info
expand_more

Abstract

Embedded real-time systems, essential in industries like automotive, aviation, and medical devices, increasingly rely on multi-core platforms for efficient parallel processing to meet rising computational demands. However, they face significant challenges with energy consumption, particularly in energy-constrained environments where high energy usage affects system reliability and longevity. Consequently, researchers have focused on enhancing energy efficiency by dynamically adjusting the energy consumption profiles of system components to align with workload demands by leveraging energy management techniques such as dynamic voltage and frequency scaling (DVFS) while meeting timing requirements.

In this work, we consider the problem of energy-aware speed assignment for a hard real-time workload scheduled with an online global non-preemptive work-conserving job-level-fixed-priority scheduler on a multi-core platform with a discrete core-level DVFS model. Our solution determines a speed for each job in the workload to reduce the energy consumption of the system while ensuring the timing requirements of the workload. As we consider a non-preemptive execution model, the timing uncertainties in the workload can result in scheduling anomalies. Therefore, we use the schedule abstraction graph (SAG), a reachability-based response time analysis tool to explore all possible execution scenarios and identify any potential deadline violations.

The key idea of our work is to iteratively explore all execution scenarios using SAG with all jobs running at the most energy-efficient speeds while readjusting the speeds to resolve any potential deadline violation. To limit the speed readjustment search space, we present a novel approach for identifying connections between jobs scheduled on a multi-core platform, considering all possible speed combinations with the selected speed settings.

Our evaluations show that our solution can reduce the energy consumption of a system by 25.85%, on average with an average runtime overhead of 7.7 times higher than that of the schedulability analysis when running all jobs at the highest speed, for the speed range {0.74, 0.80, 0.87, 0.94, 1.00}. This demonstrates a considerable energy reduction potential with energy-aware speed assignment for static slack reclamation using a schedule abstraction graph.

Files

License info not available