TY - JOUR
T1 - Collaborative Heterogeneity-Aware OS Scheduler for Asymmetric Multicore Processors
AU - Janjic, Vladimir
AU - Yu, Teng
AU - Zhong, Runxin
AU - Petoumenos, Pavlos
AU - Leather, Hugh
AU - Zhai, Jidong
AU - Thomson, John
N1 - Funding Information:
This work was supported in part by the China Postdoctoral Science Foundation (Grant No. 2020TQ0169), ShuiMu Tsinghua Scholar fellowship (2019SM131), National Key R&D Program of China (2020AAA0105200), National Natural Science Foundation of China (U20A20226), Beijing Natural Science Foundation (4202031), Beijing Academy of Artificial Intelligence (BAAI), UK EPSRC Grants Discovery: Pattern Discovery and Program Shaping for Manycore Systems (EP/P020631/1). This work was also supported by the Royal Academy of Engineering under the Research Fellowship scheme.
Publisher Copyright:
© 1990-2012 IEEE.
PY - 2021/5/1
Y1 - 2021/5/1
N2 - Asymmetric multicore processors (AMP) offer multiple types of cores under the same programming interface. Extracting the full potential of AMPs requires intelligent scheduling decisions, matching each thread with the right kind of core, the core that will maximize performance or minimize wasted energy for this thread. Existing OS schedulers are not up to this task. While they may handle certain aspects of asymmetry in the system, none can handle all runtime factors affecting AMPs for the general case of multi-threaded multi-programmed workloads. We address this problem by introducing COLAB, a general purpose asymmetry-aware scheduler targeting multi-threaded multi-programmed workloads. It estimates the performance and power of each thread on each type of core and identifies communication patterns and bottleneck threads. With this information, the scheduler makes coordinated core assignment and thread selection decisions that still provide each application its fair share of the processor’s time. We evaluate our approach using both the GEM5 simulator on four distinct big.LITTLE configurations and a development board with ARM Cortex-A73/A53 processors and mixed workloads composed of PARSEC and SPLASH2 benchmarks. Compared to the state-of-the art Linux CFS and AMP-aware schedulers, we demonstrate performance gains of up to 25 and 5 to 15 percent on average, together with an average 5 percent energy saving depending on the hardware setup.
AB - Asymmetric multicore processors (AMP) offer multiple types of cores under the same programming interface. Extracting the full potential of AMPs requires intelligent scheduling decisions, matching each thread with the right kind of core, the core that will maximize performance or minimize wasted energy for this thread. Existing OS schedulers are not up to this task. While they may handle certain aspects of asymmetry in the system, none can handle all runtime factors affecting AMPs for the general case of multi-threaded multi-programmed workloads. We address this problem by introducing COLAB, a general purpose asymmetry-aware scheduler targeting multi-threaded multi-programmed workloads. It estimates the performance and power of each thread on each type of core and identifies communication patterns and bottleneck threads. With this information, the scheduler makes coordinated core assignment and thread selection decisions that still provide each application its fair share of the processor’s time. We evaluate our approach using both the GEM5 simulator on four distinct big.LITTLE configurations and a development board with ARM Cortex-A73/A53 processors and mixed workloads composed of PARSEC and SPLASH2 benchmarks. Compared to the state-of-the art Linux CFS and AMP-aware schedulers, we demonstrate performance gains of up to 25 and 5 to 15 percent on average, together with an average 5 percent energy saving depending on the hardware setup.
KW - Asymmetric multicore processors
KW - energy efficiency
KW - operating system
KW - performance model
KW - scheduling
UR - http://www.scopus.com/inward/record.url?scp=85098771663&partnerID=8YFLogxK
U2 - 10.1109/TPDS.2020.3045279
DO - 10.1109/TPDS.2020.3045279
M3 - Article
SN - 1045-9219
VL - 32
SP - 1224
EP - 1237
JO - IEEE Transactions on Parallel and Distributed Systems
JF - IEEE Transactions on Parallel and Distributed Systems
IS - 5
ER -