Energy Efficient Workload Balancing Algorithm for Real-Time Tasks over Multi-Core
Muhammad Zakarya, Nadia Dilawar, Muazzam Ali Khan, Maqssod Hayat · 2013
A real-time system must respond fast enough that it can serve the task in a particular time interval. The key constraints in real-time systems are to meet timing bounds and for these systems it is necessary to complete all of their tasks in time. Due to increasing complexity of real-time applications, powerful processors are needed to accommodate computational starving applications. Multi-core processor is a solution to such applications. However, multi-core processor is still in its immaturity stage and there is need to address the multi-core partitioning issues with perspective that all cores are equally utilized. More powerful processors are required to execute such applications. Single core processor are not enough capable to meet the increasing complexity of real-time applications. Multiple single core processors in any system require more power consumption which is not tolerable. Multi-core processor provides the solution to complex and computational starving real-time applications. Multi-core processors can provide higher computational power at lower power consumption. Distribution of tasks deals with partitioning the given workload on all processing cores in such a way that all tasks must meet their deadlines. Advantage of multi-core processors can only be fully realized if all cores have equal workload. No workload partitioning technique has been proposed so far that ensures the distribution of workload on all cores equally. Recently, multi-core systems have presented a research challenge to real-time system designers form scheduling perspectives and a lot of attention is being devoted to this research area, however, to the best of our knowledge, no solution addresses real-time systems issues associated with scheduling. The aim of this research is to answer the scheduling problem for multi-core processors and an efficient workload partitioning technique that can fully utilize all the processing cores in multi-core system.