A Lock-Free Algorithm for Concurrent Bags
2011 (English)Conference paper, Published paper (Refereed)
Abstract [en]
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.
Place, publisher, year, edition, pages
ACM , 2011.
Keywords [en]
concurrent, data structure, non-blocking, shared memory, Parallel Programming
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:hb:diva-6575DOI: 10.1145/1989493.1989550Local ID: 2320/8255ISBN: 978-1-4503-0743-7 (print)OAI: oai:DiVA.org:hb-6575DiVA, id: diva2:887271
Conference
The 23rd Annual Symposium on Parallelism in Algorithms and Architectures, San Jose, June 4-6, 2011
2015-12-222015-12-222018-01-10Bibliographically approved