SearcharxivSearch

arXiv subjects

Maryam Helmi

Publications and source records attributed to Maryam Helmi.

3 recordsLinked to original sources

Deterministic and Fast Randomized Test-and-Set in Optimal Space

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 Theta(log n) bits. We also provide a technique to transform any deterministic obstruction-free algorithm, in which, from any configuration, any process can finish if it runs for b steps without interference, into a randomized wait-free algorithm for the oblivious adversary, in which the expected step complexity is polynomial in n and b. This transformation allows us to combine our obstruction-free algorithm with the randomized test-and-set algorithm by Giakkoupis and Woelfel (2012), to obtain a randomized wait-free test-and-set algorithm from Theta(log n) registers, with expected step-complexity Theta(log* n) against the oblivious adversary.

cs.DC

Space Bounds for Adaptive Renaming

We study the space complexity of implementing long-lived and one-shot adaptive renaming from multi-reader multi-writer registers, in an asynchronous distributed system with $n$ processes. As a result of an $f$-adaptive renaming algorithm each participating process gets a distinct name in the range $\{1,\dots,f(k)\}$ provided $k$ processes participate. Let $f: \{1,\dots,n\} \rightarrow \mathbb{N}$ be a non-decreasing function satisfying $f(1) \leq n-1$ and let $d = \max\{x ~|~ f(x) \leq n-1\}$. We show that any non-deterministic solo-terminating long-lived $f$-adaptive renaming object requires $d + 1$ registers. This implies a lower bound of $n-c$ registers for long-lived $(k+c)$-adaptive renaming, which we observe is tight. We also prove a lower bound of $\lfloor \frac{2(n - c)}{c+2} \rfloor$ registers for implementing any non-deterministic solo-terminating one-shot $(k+c)$-adaptive renaming. We provide two one-shot renaming algorithms: a wait-free algorithm and an obstruction-free algorithm. Each algorithm employs a parameter to depict the tradeoff between space and adaptivity. When these parameters are chosen appropriately, this results in a wait-free one-shot $(\frac{3k^2}{2})$-adaptive renaming algorithm from $\lceil \sqrt{n} \rceil + 1$ registers, and an obstruction-free one-shot $f$-adaptive renaming algorithm from only $\min\{n, x ~|~ f(x) \geq 2n\} + 1$ registers.

cs.DC

The Space Complexity of Long-lived and One-Shot Timestamp Implementations

This paper is concerned with the problem of implementing an unbounded timestamp object from multi-writer atomic registers, in an asynchronous distributed system of n processors with distinct identifiers where timestamps are taken from an arbitrary universe. Ellen, Fatourou and Ruppert (2008) showed that sqrt{n}/2-O(1) registers are required for any obstruction-free implementation of long-lived timestamp systems from atomic registers (meaning processors can repeatedly get timestamps). We improve this existing lower bound in two ways. First we establish a lower bound of n/6 - O(1) registers for the obstruction-free long-lived timestamp problem. Previous such linear lower bounds were only known for constrained versions of the timestamp problem. This bound is asymptotically tight; Ellen, Fatourou and Ruppert (2008) constructed a wait-free algorithm that uses n-1 registers. Second we show that sqrt{n} - O(1) registers are required for any obstruction-free implementation of one-shot timestamp systems(meaning each processor can get a timestamp at most once). We show that this bound is also asymptotically tight by providing a wait-free one-shot timestamp system that uses fewer than 2 sqrt{n} registers, thus establishing a space complexity gap between one-shot and long-lived timestamp systems.

cs.DC