Computer Science > Data Structures and Algorithms
[Submitted on 12 Jul 2022]
Title:Generalized Wake-Up: Amortized Shared Memory Lower Bounds for Linearizable Data Structures
View PDFAbstract:In this work, we define the generalized wake-up problem, $GWU(s)$, for a shared memory asynchronous system with $n$ processes. Informally, the problem, which is parametrized by an increasing sequence $s = s_1,\ldots,s_p$, asks that at least $n - i + 1$ processes identify that at least $s_i$ other processes have "woken up" and taken at least one step for each $1 \le i \le n$. We prove that any solution to $GWU(s)$ that uses read/write/compare-and-swap variables requires at least $\Omega\left(\sum_{i = 1}^n \log s_i \right)$ steps to solve.
The generalized wake-up lower bound serves as a technique for proving lower bounds on the amortized complexities of operations on many linearizable concurrent data types through reductions. We illustrate this with several examples: (1) We show an $\Omega(\log n)$ amortized lower bound on the complexity of implementing counters and {\em fetch-and-increment} objects which match the complexities of the algorithms given by Jayanti and Ellen & Woelfel; the lower bound even extends to a significantly relaxed version of the object. (2) We show an $\Omega(\log n)$ amortized lower bound on the complexity of the pop, dequeue, and deleteMin operations of a concurrent stack, queue, and priority queue respectively that hold even if the data type definitions are significantly relaxed; (3) In another paper, we have shown an $\Omega(\log\log(n \ell/m))$ amortized lower bound on the complexity of operations on a union-find object of size $\ell$ (when $m$ operations are performed).
Submission history
From: Siddhartha Jayanti [view email][v1] Tue, 12 Jul 2022 19:21:46 UTC (135 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.