The LevelArray: A Fast, Practical Long-Lived Renaming Algorithm
Dan Alistarh, Justin Kopinsky, Alexander Matveev, Nir Shavit

TL;DR
The paper introduces the LevelArray, a randomized, self-healing long-lived renaming algorithm that guarantees efficient registration and deregistration in shared-memory systems, validated by practical benchmarks.
Contribution
It proves that the LevelArray guarantees constant average steps and polylogarithmic worst-case steps in long-lived executions, with a self-healing property reducing the need for rebuilding.
Findings
Average registration steps less than two.
Worst-case registration steps bounded by six.
Self-healing property reduces rebuilding needs.
Abstract
The long-lived renaming problem appears in shared-memory systems where a set of threads need to register and deregister frequently from the computation, while concurrent operations scan the set of currently registered threads. Instances of this problem show up in concurrent implementations of transactional memory, flat combining, thread barriers, and memory reclamation schemes for lock-free data structures. In this paper, we analyze a randomized solution for long-lived renaming. The algorithmic technique we consider, called the LevelArray, has previously been used for hashing and one-shot (single-use) renaming. Our main contribu- tion is to prove that, in long-lived executions, where processes may register and deregister polynomially many times, the technique guarantees constant steps on average and O(log log n) steps with high probability for registering, unit cost for deregistering,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Optimization and Search Problems · Cryptography and Data Security
