首页 | 官方网站   微博 | 高级检索  
     


A dynamic-sized nonblocking work stealing deque
Authors:Danny Hendler  Yossi Lev  Mark Moir  Nir Shavit
Affiliation:(1) Tel-Aviv University, Israel;(2) Brown University & Sun Microsystems Laboratories, UK;(3) Sun Microsystems Laboratories, USA;(4) Sun Microsystems Laboratories & Tel-Aviv University, Israel
Abstract:The non-blocking work-stealing algorithm of Arora, Blumofe, and Plaxton (hencheforth ABP work-stealing) is on its way to becoming the multiprocessor load balancing technology of choice in both industry and academia. This highly efficient scheme is based on a collection of array-based double-ended queues (deques) with low cost synchronization among local and stealing processes. Unfortunately, the algorithm's synchronization protocol is strongly based on the use of fixed size arrays, which are prone to overflows, especially in the multiprogrammed environments for which they are designed. This is a significant drawback since, apart from memory inefficiency, it means that the size of the deque must be tailored to accommodate the effects of the hard-to-predict level of multiprogramming, and the implementation must include an expensive and application-specific overflow mechanism. This paper presents the first dynamic memory work-stealing algorithm. It is based on a novel way of building non-blocking dynamic-sized work stealing deques by detecting synchronization conflicts based on “pointer-crossing” rather than “gaps between indexes” as in the original ABP algorithm. As we show, the new algorithm dramatically increases robustness and memory efficiency, while causing applications no observable performance penalty. We therefore believe it can replace array-based ABP work stealing deques, eliminating the need for application-specific overflow mechanisms. This work was conducted while Yossi Lev was a student at Tel Aviv University, and is derived from his MS thesis 1].
Keywords:Concurrent programming  Load balancing  Work stealing  Lock-free  Data structures
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号