Deterministic and Fast Randomized Test-and-Set in Optimal Space
George Giakkoupis, Maryam Helmi, Lisa Higham, Philipp Woelfel

TL;DR
This paper presents an optimal space deterministic implementation of test-and-set in shared memory systems and introduces a technique to convert obstruction-free algorithms into efficient randomized wait-free algorithms.
Contribution
It closes the gap between known bounds by providing a Theta(log n) register implementation and offers a method to transform obstruction-free algorithms into randomized wait-free ones.
Findings
Deterministic obstruction-free test-and-set uses Theta(log n) registers.
The transformation yields a randomized wait-free test-and-set with expected Theta(log* n) steps.
The approach bridges the gap between lower and upper bounds for register requirements.
Abstract
The test-and-set object is a fundamental synchronization primitive for shared memory systems. A test-and-set object stores a bit, initialized to 0, and supports one operation, test&set(), which sets the bit's value to 1 and returns its previous value. This paper studies the number of atomic registers required to implement a test-and-set object in the standard asynchronous shared memory model with n processes. The best lower bound is log(n)-1 for obstruction-free (Giakkoupis and Woelfel, 2012) and deadlock-free (Styer and Peterson, 1989) implementations. Recently a deterministic obstruction-free implementation using O(sqrt(n)) registers was presented (Giakkoupis, Helmi, Higham, and Woelfel, 2013). This paper closes the gap between these known upper and lower bounds by presenting a deterministic obstruction-free implementation of a test-and-set object from Theta(log n) registers of size…
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 · Complexity and Algorithms in Graphs
