Adaptive Demand-Aware Work-Stealing in Multi-Programmed Multi-Core Architectures

Quan Chen,Long Zheng,Minyi Guo
DOI: https://doi.org/10.1002/cpe.3619
2015-01-01
Abstract:SummaryModern multi‐core computers often execute multiple programs concurrently, but traditional work‐stealing schedulers assume that only a single program executes at a time. If multiple work‐stealing programs run on a multi‐core computer concurrently, the performance of these co‐located programs is poor and unbalanced due to the interference among their workers. To relieve this problem, this paper proposes demand‐aware work‐stealing (DWS) for a single work‐stealing program. If multiple programs that adopt DWS run simultaneously on a multi‐core system, the computation resources are evenly allocated to the co‐located programs at the beginning. At runtime, if a program does not need all its allocated cores, it donates its free cores. Otherwise, if a program needs more cores, it steals the free cores donated by its co‐located programs. In addition, each program that adopts DWS dynamically puts its workers to sleep and wakes them up according to the number of its queued tasks. Experimental results show that DWS can improve the co‐located programs' performance up to 42.6% and can also balance the performance of the co‐located programs compared with traditional work‐stealing. Copyright © 2015 John Wiley & Sons, Ltd.
What problem does this paper attempt to address?