English
Related papers

Related papers: Non-Blocking Doubly-Linked Lists with Good Amortiz…

200 papers

We present a new algorithm for iterating over all permutations of a sequence. The algorithm leverages elementary~$O(1)$ operations on recursive lists. As a result, no new nodes are allocated during the computation. Instead, all elements are…

Data Structures and Algorithms · Computer Science 2025-09-16 Thomas Baruchel

In this paper we present two versions of a parallel working-set map on p processors that supports searches, insertions and deletions. In both versions, the total work of all operations when the map has size at least p is bounded by the…

Data Structures and Algorithms · Computer Science 2018-07-12 Kunal Agrawal , Seth Gilbert , Wei Quan Lim

We revisit the mergeable dictionaries with shift problem, where the goal is to maintain a family of sets subject to search, split, merge, make-set, and shift operations. The search, split, and make-set operations are the usual well-known…

Data Structures and Algorithms · Computer Science 2019-01-04 Philip Bille , Mikko Berggren Etienne , Inge Li Gørtz

The pairing heap is a simple "self-adjusting" implementation of a heap (priority queue). Inserting an item into a pairing heap or decreasing the key of an item takes O(1) time worst-case, as does melding two heaps. But deleting an item of…

Data Structures and Algorithms · Computer Science 2022-08-26 Corwin Sinnamon , Robert Tarjan

We give an algorithm to enumerate the results on trees of monadic second-order (MSO) queries represented by nondeterministic tree automata. After linear time preprocessing (in the input tree), we can enumerate answers with linear delay (in…

Databases · Computer Science 2019-08-28 Antoine Amarilli , Pierre Bourhis , Stefan Mengel , Matthias Niewerth

We investigate dynamic algorithms for the interval scheduling problem. Our algorithm runs in amortised time $O(\log n)$ for query operation and $O(d\log^2 n)$ for insertion and removal operations, where $n$ and $d$ are the maximal numbers…

Data Structures and Algorithms · Computer Science 2014-12-30 Alex Gavryushkin , Bakhadyr Khoussainov , Mikhail Kokho , Jiamou Liu

Scalable ordered maps must ensure that range queries, which operate over many consecutive keys, provide intuitive semantics (e.g., linearizability) without degrading the performance of concurrent insertions and removals. These goals are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-11 Matthew Rodriguez , Vitaly Aksenov , Michael Spear

We introduce a new family of priority-queue data structures: partition-based simple heaps. The structures consist of $O(\log n)$ doubly-linked lists; order is enforced among data in different lists, but the individual lists are unordered.…

Data Structures and Algorithms · Computer Science 2026-03-03 Gerth Stølting Brodal , John Iacono , Casper Moldrup Rysgaard , Sebastian Wild

Many concurrent dictionary implementations are designed and optimized for read-mostly workloads with uniformly distributed keys, and often perform poorly on update-heavy workloads. In this work, we first present a concurrent (a,b)-tree, the…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-03 Anubhav Srivastava , Trevor Brown

In this work, we focus on the efficiency and scalability of pairwise constraint-based active clustering, crucial for processing large-scale data in applications such as data mining, knowledge annotation, and AI model pre-training. Our goals…

Machine Learning · Computer Science 2025-09-11 Wen-Bo Xie , Xun Fu , Bin Chen , Yan-Li Lee , Tao Deng , Tian Zou , Xin Wang , Zhen Liu , Jaideep Srivastavad

Adjacency lists are frequently used in graphing or map based applications. Although efficient concurrent linked-list algorithms are well known, it can be difficult to adapt these approaches to build a high-performance adjacency list.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-26 Zachary Painter , Christina Peterson , Damian Dechev

Considering asynchronous shared memory systems in which any number of processes may crash, this work identifies and formally defines relaxations of queues and stacks that can be non-blocking or wait-free while being implemented using only…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-05 Armando Castañeda , Sergio Rajsbaum , Michel Raynal

Link-cut trees have been introduced by D.D. Sleator and R.E. Tarjan (Journal of Computer and System Sciences, 1983) with the aim of efficiently maintaining a forest of vertex-disjoint dynamic rooted trees under cut and link operations.…

Data Structures and Algorithms · Computer Science 2015-10-29 Irena Rusu

With the rapidly growing demand of graph processing in the real scene, they have to efficiently handle massive concurrent jobs. Although existing work enable to efficiently handle single graph processing job, there are plenty of memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-05 Jin Zhao

Modern databases use dynamic search structures that store an enormous amount of data, and often serve them using multi-threaded algorithms to support the ever-increasing throughput needs. When this throughput need exceeds the capacity of…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-17 Raaghav Ravishankar , Sandeep Kulkarni , Sathya Peri , Gokarna Sharma

Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard…

Data Structures and Algorithms · Computer Science 2007-11-13 Loukas Georgiadis , Haim Kaplan , Nira Shafrir , Robert E. Tarjan , Renato F. Werneck

Triangle listing is an important topic significant in many practical applications. Efficient algorithms exist for the task of triangle listing. Recent algorithms leverage an orientation framework, which can be thought of as mapping an…

Databases · Computer Science 2020-06-26 Michael Yu , Lu Qin , Ying Zhang , Wenjie Zhang , Xuemin Lin

We define a new set of primitive operations that greatly simplify the implementation of non-blocking data structures in asynchronous shared-memory systems. The new operations operate on a set of Data-records, each of which contains multiple…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-20 Trevor Brown , Faith Ellen , Eric Ruppert

Relaxing the sequential specification of a shared object is a way to obtain an implementation with better performance compared to implementing the original specification. We apply this approach to the Counter object, under the assumption…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-23 Colette Johnen , Adnane Khattabi , Alessia Milani , Jennifer L. Welch

A database system optimized for in-memory storage can support much higher transaction rates than current systems. However, standard concurrency control methods used today do not scale to the high transaction rates achievable by such…

Databases · Computer Science 2012-01-04 Per-Åke Larson , Spyros Blanas , Cristian Diaconu , Craig Freedman , Jignesh M. Patel , Mike Zwilling