Lock-Free and Practical Deques using Single-Word Compare-And-Swap
Report, 2004

We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of deques are either based on non-available atomic synchronization primitives, only implement a subset of the functionality, or are not designed for disjoint accesses. Our algorithm is based on a doubly linked list, and only requires single-word compare-and-swap atomic primitives, even for dynamic memory sizes. We have performed an empirical study using full implementations of the most efficient algorithms of lock-free deques known. For systems with low concurrency, the algorithm by Michael shows the best performance. However, as our algorithm is designed for disjoint accesses, it performs significantly better on systems with high concurrency and non-uniform memory architecture.


Shared Memory


Doubly Linked List



Håkan Sundell

Chalmers, Department of Computing Science, Distributed Computing and Systems

Philippas Tsigas

Chalmers, Department of Computing Science, Distributed Computing and Systems

Subject Categories

Computer and Information Science

Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University: 2004-02

More information