A lock-free algorithm for concurrent bags
Paper in proceeding, 2011

A lock-free bag data structure supporting unordered buffering is presented in this paper. The algorithm supports multiple producers and multiple consumers, as well as dynamic collection sizes. To handle concurrency efficiently, the algorithm was designed to thrive for disjoint-access-parallelism for the supported semantics. Therefore, the algorithm exploits a distributed design combined with novel techniques for handling concurrent modifications of linked lists using double marks, detection of total emptiness, and efficient memory management with hazard pointer handover. Experiments on a 24-way multi-core platform show significantly better performance for the new algorithm compared to previous algorithms of relevance.

data structure

non-blocking

concurrent

shared memory

Author

Håkan Sundell

University of Borås

A. Gidenstam

University of Borås

Marina Papatriantafilou

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

23rd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'11.San Jose, 4-6 June 2011

335-344
978-145030743-7 (ISBN)

Subject Categories

Computer and Information Science

DOI

10.1145/1989493.1989550

ISBN

978-145030743-7

More information

Latest update

3/8/2018 9