Post Date
Mar 29 2024

Cache-Aware Energy-Efficient Scheduling on Multicore Real-Time Systems

Year
2021
Supervisor:
Dr. Muhammad Adeel Pasha
Students:
Saad Zia Sheikh
Reference / Filters
Electrical Engineering
Abstract:
With the ever-increasing demand for higher performance, the adoption of multicore processors has been a major stepping stone in the evolution of real-time systems. However, despite the increase in computational bandwidth due to parallel processing, scheduling real-time tasks on multicores is not a trivial problem. This scheduling problem is especially aggravated for hard real-time systems where failure to meet task deadlines can be catastrophic. Moreover, the inclusion of shared caches in multicores has increased the unpredictability of the system, and the indispensable interactivity between the hierarchical memory subsystem and multiple cores has further aggravated the already complex Worst Case Execution Time (WCET) analysis of the tasks.

Cache partitioning techniques have been proposed as a countermeasure to decouple the shared cache latency from the WCET. However, existing energy-efficient scheduling algorithms are oblivious to the unpredictable nature of shared caches or cache partitioning techniques, thus, diminishing their applicability to real-world systems. Furthermore, a relatively large portion of the processor is occupied by caches contributing to a large percentage of the overall energy consumption. Several general techniques have been proposed to mitigate the energy lost due to caches. However, adopting such techniques into the multicore real-time systems domain has not yet received much attention. This is due to the difficulty of analyzing the impact that core-level energy minimization techniques have on the cache subsystem.

Finally, there is now a trend in embedded system design towards heterogeneous multicore architectures where cores on the same processor differ in power, performance, and architectural capabilities. The desired performance and energy consumption is attained by assigning a task to the core that is best suited for it.

In this thesis, we investigate the integration of the cache-partition model into homogeneous and heterogeneous multicore hard real-time systems for system-level energy minimization.

We start by investigating a more realistic task model that considers separately the CPU compute cycles and the Memory latency cycles. We then incorporate the impact of caches on independent frame-based tasks running on homogeneous multicore architectures by proposing solutions for three-dimensional (3D) problem of core-, cache-and system-level energy optimization.

We then move onto heterogeneous multicore architectures and propose a holistic solution for cache-aware system-level energy minimization while ensuring the schedulability for periodic tasks. Finally, we propose a dynamic cache-partition schedulability analysis for multicore partitioned scheduling.