Synchronization-Aware Energy Management for VFI-based Multicore Real-Time Systems (Extended Version)
Multicore processors have emerged to be the popular and powerful computing engines to address the increasing performance demands and energy efficiency requirements of modern real-time applications. Voltage and frequency island (VFI) was recently adopted as an effective energy management technique for multicore processors. For a set of periodic real-time tasks that access shared resources running on a VFI-based multicore system with dynamic voltage and frequency scaling (DVFS) capability, we study both static and dynamic synchronization-aware energy management schemes. First, based on the enhanced MSRP resource access protocol with a suspension mechanism, we devise a synchronization-aware task mapping heuristic for partitioned-EDF scheduling. The heuristic assigns tasks that access similar set of resources to the same core to reduce the synchronization overhead and thus improve schedulability. Based on the result task-to-core mapping, static energy management schemes with both a uniform and different scaled frequencies for VFIs are studied. To further exploit dynamic slack for more energy savings, we propose an integrated synchronization-aware slack management framework to appropriately reclaim, preserve, release and steal slack at runtime to slow down the execution of tasks subject to the common voltage/frequency limitation of VFIs and timing/synchronization constraints of tasks. Taking the additional delay due to task synchronization into consideration, the new scheme allocates slack in a fair manner and scales down the execution of both non-critical and critical sections of tasks for more energy savings. Simulation results show that, the synchronization-aware task mapping scheme can significantly improve the schedulability of tasks. The energy savings obtained by the static scheme with different frequencies for VFIs is close to that of an optimal INLP (integer non-linear programming) solution. Moreover, compared to the simple extension of existing solutions for uniprocessor systems, our dynamic scheme can obtain much better energy savings (up to 40%) with comparable DVFS overhead.