Space Bounds for Adaptive Renaming (1603.04067v6)
Abstract: 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{3k2}{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.