arXiv · 2010.15755
A more Pragmatic Implementation of the Lock-free, Ordered, Linked List
Abstract
The lock-free, ordered, linked list is an important, standard example of a concurrent data structure. An obvious, practical drawback of textbook implementations is that failed compare-and-swap (CAS) operations lead to retraversal of the entire list (retries), which is particularly harmful for such a linear-time data structure. We alleviate this drawback by first observing that failed CAS operations under some conditions do not require a full retry, and second by maintaining approximate backwards pointers that are used to find a closer starting position in the list for operation retry. Experiments with both a worst-case deterministic benchmark, and a standard, randomized, mixed-operation throughput benchmark on three shared-memory systems (Intel Xeon, AMD EPYC, SPARC-T5) show practical improvements ranging from significant, to dramatic, several orders of magnitude.
Explore related subjects
Keep this discovery
Jesper Larsson Träff, Manuel Pöter. 2020-10-29. A more Pragmatic Implementation of the Lock-free, Ordered, Linked List. https://arxiv.org/abs/2010.15755
Cite the original work for its findings. Save a collection to share your selection of sources.