English
Related papers

Related papers: A Wait-free Queue with Polylogarithmic Step Comple…

200 papers

We present the first explicit, and currently simplest, randomized algorithm for 2-process wait-free test-and-set. It is implemented with two 4-valued single writer single reader atomic variables. A test-and-set takes at most 11 expected…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 John Tromp , Paul Vitanyi

Solving linear systems and quadratic programming (QP) problems are both ubiquitous tasks in the engineering and computing fields. Direct methods for solving systems, such as Cholesky, LU, and QR factorizations, exhibit data-independent time…

Optimization and Control · Mathematics 2025-07-08 Liang Wu , Richard D. Braatz

A history-independent data structure does not reveal the history of operations applied to it, only its current logical state, even if its internal state is examined. This paper studies history-independent concurrent dictionaries, in…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-28 Hagit Attiya , Michael A. Bender , Martín Farach-Colton , Rotem Oshman , Noa Schiller

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…

Data Structures and Algorithms · Computer Science 2022-07-18 Siddhartha Visveswara Jayanti

This paper presents L-UC, a universal construction that efficiently implements dynamic objects of large state in a wait-free manner. The step complexity of L-UC is O(n+kw), where n is the number of processes, k is the interval contention…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-01-13 Panagiota Fatourou , Nikolaos D. Kallimanis , Eleni Kanellou

Work-stealing is a widely used technique for balancing irregular parallel workloads, and most modern runtime systems adopt lock-free work-stealing deques to reduce contention and improve scalability. However, existing algorithms are…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-09 Raja Sai Nandhan Yadav Kataru , Danial Davarnia , Ali Jannesari

Priority queues are abstract data structures which store a set of key/value pairs and allow efficient access to the item with the minimal (maximal) key. Such queues are an important element in various areas of computer science such as…

Data Structures and Algorithms · Computer Science 2015-09-24 Jakob Gruber

As data analytics becomes more crucial to digital systems, so grows the importance of characterizing the database queries that admit a more efficient evaluation. We consider the tractability yardstick of answer enumeration with a…

Databases · Computer Science 2019-12-24 Nofar Carmeli , Shai Zeevi , Christoph Berkholz , Benny Kimelfeld , Nicole Schweikardt

A critical component in the implementation of a concurrent tabling system is the design of the table space. One of the most successful proposals for representing tables is based on a two-level trie data structure, where one trie level…

Programming Languages · Computer Science 2014-05-15 Miguel Areias , Ricardo Rocha

The concurrency literature presents a number of approaches for building non-blocking, FIFO, multiple-producer and multiple-consumer (MPMC) queues. However, only a fraction of them have high performance. In addition, many queue designs, such…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-07-15 Ruslan Nikolaev , Binoy Ravindran

We explore the problem of efficiently implementing shared data structures in an asynchronous computing environment. We start with a traditional FIFO queue, showing that full replication is possible with a delay of only a single round-trip…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-05 Samuel Baldwin , Cole Hausman , Mohamed Bakr , Edward Talmage

Priority queues are used in a wide range of applications, including prioritized online scheduling, discrete event simulation, and greedy algorithms. In parallel settings, classical priority queues often become a severe bottleneck, resulting…

Data Structures and Algorithms · Computer Science 2025-04-17 Marvin Williams , Peter Sanders

We introduce GCAS, a natural generalization of the well-known compare-and-swap (CAS) object. Intuitively, GCAS just replaces the fixed equality test of CAS with a parametrized comparator chosen from $\{<, =, >\}$. To showcase the utility of…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-20 Vassos Hadzilacos , Myles Thiessen , Sam Toueg

We develop and analyze concurrent algorithms for the disjoint set union (union-find) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-04 Siddhartha V. Jayanti , Robert E. Tarjan

The emergence of systems with non-volatile main memory (NVM) increases the interest in the design of \emph{recoverable concurrent objects} that are robust to crash-failures, since their operations are able to recover from such failures by…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-02-27 Ohad Ben-Baruch , Danny Hendler , Matan Rusanovsky

In this work, we are interested in the detailed analysis of complexity aspects of both time and space that arises from the implementation of a quantum algorithm on a quantum based hardware. In particular, some steps of the implementation,…

Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or branch-and-bound. However, a classical priority queue constitutes a severe bottleneck…

Data Structures and Algorithms · Computer Science 2014-11-06 Hamza Rihani , Peter Sanders , Roman Dementiev

This work provides the first concurrent implementation specifically designed for a double-ended priority queue (DEPQ). We do this by describing a general way to add an ExtractMax operation to any concurrent priority queue that already…

Data Structures and Algorithms · Computer Science 2025-08-20 Panagiota Fatourou , Eric Ruppert , Ioannis Xiradakis

We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Håkan Sundell , Philippas Tsigas

In this paper, we systematically investigate the connection between linearizable objects and forward simulation. We prove that the sets of linearizable objects satisfying wait-freedom (resp., lock-freedom or obstruction-freedom) form a…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-01-21 Chao Wang , Ruijia Li , Yang Zhou , Peng Wu , Yi Lv , Jianwei Liao , Jim Woodcock , Zhiming Liu