Task Scheduling Techniques for Asymmetric Multi Core Systems
As performance and energy efficiency have become the main challenges for next generation high performance computing, asymmetric multi core architectures can provide solutions to tackle these issues. Parallel programming models need to be able to suit the needs of such systems and keep on increasing the application's portability and efficiency. This paper proposes two task scheduling approaches that target asymmetric systems. These dynamic scheduling policies reduce total execution time either by detecting the longest or the critical path of the dynamic task dependency graph of the application, or by finding the earliest executor of a task. They use dynamic scheduling and information discoverable during execution, fact that makes them implementable and functional without the need of off line profiling. In our evaluation we compare these scheduling approaches with two existing state of the art heterogeneous schedulers and we track their improvement over a FIFO baseline scheduler. We show that the heterogeneous schedulers improve the baseline by up to 1.45<inline formula><tex math notation="LaTeX"\times$/tex math><alternatives> <inline graphic xlink:href="chronaki ieq1 2633347.gif"/alternatives>/inline formula> in a real 8 core asymmetric system and up to 2.1<inline formula><tex math notation="LaTeX"\times$/tex math><alternatives> <inline graphic xlink:href="chronaki ieq2 2633347.gif"/alternatives>/inline formula> in a simulated 32 core asymmetric chip.
IEEE Transactions on Parallel and Distributed Systems