TY - GEN
T1 - BWS
T2 - 7th ACM European Conference on ComputerSystems, EuroSys'12
AU - Ding, Xiaoning
AU - Wang, Kaibo
AU - Gibbons, Phillip B.
AU - Zhang, Xiaodong
PY - 2012
Y1 - 2012
N2 - Running multithreaded programs in multicore systems has become a common practice for many application domains. Work stealing is a widely-adopted and effective approach for managing and scheduling the concurrent tasks of such programs. Existing work-stealing schedulers, however, are not effective when multiple applications time-share a single multicore-their management of steal-attempting threads often causes unbalanced system effects that hurt both workload throughput and fairness. In this paper, we present BWS (Balanced Work Stealing), a work-stealing scheduler for time-sharing multicore systems that leverages new, lightweight operating system support. BWS improves system throughput and fairness via two means. First, it monitors and controls the number of awake, steal-attempting threads for each application, so as to balance the costs (resources consumed in steal attempts) and benefits (available tasks get promptly stolen) of such threads. Second, a steal-attempting thread can yield its core directly to a peer thread with an unfinished task, so as to retain the core for that application and put it to better use. We have implemented a prototype of BWS based on Cilk++, a state-of-the-art work-stealing scheduler. Our performance evaluation with various sets of concurrent applications demonstrates the advantages of BWS over Cilk++, with average system throughput increased by 12.5% and average unfairness decreased from 124% to 20%.
AB - Running multithreaded programs in multicore systems has become a common practice for many application domains. Work stealing is a widely-adopted and effective approach for managing and scheduling the concurrent tasks of such programs. Existing work-stealing schedulers, however, are not effective when multiple applications time-share a single multicore-their management of steal-attempting threads often causes unbalanced system effects that hurt both workload throughput and fairness. In this paper, we present BWS (Balanced Work Stealing), a work-stealing scheduler for time-sharing multicore systems that leverages new, lightweight operating system support. BWS improves system throughput and fairness via two means. First, it monitors and controls the number of awake, steal-attempting threads for each application, so as to balance the costs (resources consumed in steal attempts) and benefits (available tasks get promptly stolen) of such threads. Second, a steal-attempting thread can yield its core directly to a peer thread with an unfinished task, so as to retain the core for that application and put it to better use. We have implemented a prototype of BWS based on Cilk++, a state-of-the-art work-stealing scheduler. Our performance evaluation with various sets of concurrent applications demonstrates the advantages of BWS over Cilk++, with average system throughput increased by 12.5% and average unfairness decreased from 124% to 20%.
KW - Fairness
KW - Multicore
KW - Time sharing
KW - Work stealing
UR - http://www.scopus.com/inward/record.url?scp=84860570473&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84860570473&partnerID=8YFLogxK
U2 - 10.1145/2168836.2168873
DO - 10.1145/2168836.2168873
M3 - Conference contribution
AN - SCOPUS:84860570473
SN - 9781450312233
T3 - EuroSys'12 - Proceedings of the EuroSys 2012 Conference
SP - 365
EP - 378
BT - EuroSys'12 - Proceedings of the EuroSys 2012 Conference
Y2 - 10 April 2012 through 13 April 2012
ER -