R.I.P.
๐ป
Ghosted
Five Ways to Build a Concurrent Linked From Coarse-Grain Locking to Lock-Free Algorithms
June 27, 2026 ยท Grace Period ยท + Add venue
Authors
Zeeshan Mohammed Rangrej
arXiv ID
2606.28972
Category
cs.DC: Distributed Computing
Cross-listed
cs.PF
Citations
0
Abstract
Linked lists are one of the most basic data structures in computer science. But when many threads try to use the same linked list at the same time, things get complicated. In this paper, we look at five different ways to make a linked list work correctly and efficiently with multiple threads running at once. We start with the simplest approach -- one big lock for the whole list -- and step by step improve it, ending with a lock-free design that uses no locks at all. We implemented all five versions in C++ and measured how fast each one is across different workloads (read-heavy, balanced, and write-heavy) and different list sizes. Our results show that the right choice of algorithm depends heavily on how the list is used: the coarse-grain and lazy lists win under read-heavy workloads with small key ranges, while the lock-free list becomes competitive when key ranges are large and more threads are running. Fine-grain locking, despite its theoretical appeal, pays a heavy cost from per-node lock overhead and consistently performs the worst in our tests.
Community Contributions
Found the code? Know the venue? Think something is wrong? Let us know!
๐ Similar Papers
In the same crypt โ Distributed Computing
R.I.P.
๐ป
Ghosted
Reproducing GW150914: the first observation of gravitational waves from a binary black hole merger
R.I.P.
๐ป
Ghosted
MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems
R.I.P.
๐ป
Ghosted
Adaptive Federated Learning in Resource Constrained Edge Computing Systems
R.I.P.
๐ป
Ghosted
Edge Intelligence: Paving the Last Mile of Artificial Intelligence with Edge Computing
R.I.P.
๐ป
Ghosted