CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Brushing the Locks out of the Fur: A Lock-Free Work Stealing Library

Håkan Sundell ; Philippas Tsigas (Institutionen för data- och informationsteknik, Nätverk och system, Datakommunikation och distribuerade system (Chalmers))
econd Swedish Workshop on Multi-Core Computing, (MCC '09) (2009)
[Konferensbidrag, refereegranskat]

We present a lock-free version of the light-weight userlevel task management library called Wool, in an aim to show that even extremely well tuned, in terms of synchronization, applications can benefit from lock-free programming. Explicit multi-threading is an efficient way to exploit the offered parallelism of multi-core and multi-processor based systems. However, it can sometimes be hard to express the inherited parallelism in programs using a limited number of long lived threads. Often it can be more straightforward to dynamically create a large number of small tasks that in turn automatically execute on the available threads. Wool is a promising and efficient library and framework that allows the programmer to create user tasks in C with a very low overhead. The library automatically executes tasks and balances the load evenly on a given number of threads by utilizing work stealing techniques. However, the synchronization for stealing tasks is based on mutual exclusion which is known to limit parallelism and efficiency. We have designed and implemented a new lock-free algorithm for synchronization of stealing tasks in Wool. Experiments show similar or significantly improved performance on a set of benchmarks executed on a multi-core platform.

Nyckelord: work stealing, lock-free, library



Denna post skapades 2010-02-17.
CPL Pubid: 112707