English
Related papers

Related papers: New Concurrent Order Maintenance Data Structure

200 papers

Ordered set (and map) is one of the most used data type. In addition to standard set operations, like insert, delete and contains, it can provide set-set operations such as union, intersection, and difference. Each of these set-set…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-10-13 Vitaly Aksenov , Ilya Kokorin , Alena Martsenyuk

Many task-parallel applications can benefit from attempting to execute tasks in a specific order, as for instance indicated by priorities associated with the tasks. We present three lock-free data structures for priority scheduling with…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-10 Martin Wimmer , Daniel Cederman , Francesco Versaci , Jesper Larsson Träff , Philippas Tsigas

Persistent memory provides high-performance data persistence at main memory. Memory writes need to be performed in strict order to satisfy storage consistency requirements and enable correct recovery from system crashes. Unfortunately,…

Hardware Architecture · Computer Science 2017-05-11 Youyou Lu , Jiwu Shu , Long Sun , Onur Mutlu

In this paper, we present several improvements in the parallelization of the in-place merge algorithm, which merges two contiguous sorted arrays into one with an O(T) space complexity (where T is the number of threads). The approach divides…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-27 Berenger Bramas , Quentin Bramas

It is becoming increasingly difficult to improve the performance of a a single process (thread) on a computer due to physical limitations. Modern systems use multi-core processors in which multiple processes (threads) may run concurrently.…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-11-05 Jordan Malek

Flat combining (FC) is a synchronization paradigm in which a single thread, holding a global lock, collects requests by multiple threads for accessing a concurrent data structure and applies their combined requests to it. Although FC is…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-12-10 Matan Rusanovsky , Hagit Attiya , Ohad Ben-Baruch , Tom Gerby , Danny Hendler , Pedro Ramalhete

Maintaining a dynamic $k$-core decomposition is an important problem that identifies dense subgraphs in dynamically changing graphs. Recent work by Liu et al. [SPAA 2022] presents a parallel batch-dynamic algorithm for maintaining an…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-01-17 Quanquan C. Liu , Julian Shun , Igor Zablotchi

Priority queues are data structures which store keys in an ordered fashion to allow efficient access to the minimal (maximal) key. Priority queues are essential for many applications, e.g., Dijkstra's single-source shortest path algorithm,…

Data Structures and Algorithms · Computer Science 2015-03-20 Martin Wimmer , Jakob Gruber , Jesper Larsson Träff , Philippas Tsigas

Contraction Hierarchies is a successful speedup-technique to Dijkstra's seminal shortest path algorithm that has a convenient trade-off between preprocessing and query times. We investigate a shared-memory parallel implementation that uses…

Data Structures and Algorithms · Computer Science 2012-08-14 Dennis Luxen , Dennis Schieferdecker

Parallel batched data structures are designed to process synchronized batches of operations in a parallel computing model. In this paper, we propose parallel combining, a technique that implements a concurrent data structure from a parallel…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-11-14 Vitaly Aksenov , Petr Kuznetsov , Anatoly Shalyto

There has been a significant amount of work in the literature proposing semantic relaxation of concurrent data structures for improving scalability and performance. By relaxing the semantics of a data structure, a bigger design space, that…

Data Structures and Algorithms · Computer Science 2025-11-11 Adones Rukundo , Aras Atalar , Philippas Tsigas

Traditional techniques for synchronization are based on \emph{locking} that provides threads with exclusive access to shared data. \emph{Coarse-grained} locking typically forces threads to access large amounts of data sequentially and,…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-06 Srivatsan Ravi

Maximal Clique Enumeration (MCE) is a fundamental graph mining problem, and is useful as a primitive in identifying dense structures in a graph. Due to the high computational cost of MCE, parallel methods are imperative for dealing with…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-01-31 Apurba Das , Seyed-Vahid Sanei-Mehri , Srikanta Tirthapura

Maintaining a $k$-core decomposition quickly in a dynamic graph has important applications in network analysis. The main challenge for designing efficient exact algorithms is that a single update to the graph can cause significant global…

Data Structures and Algorithms · Computer Science 2023-09-28 Quanquan C. Liu , Jessica Shi , Shangdi Yu , Laxman Dhulipala , Julian Shun

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

In this paper, we present an on-line fully dynamic algorithm for maintaining strongly connected component of a directed graph in a shared memory architecture. The edges and vertices are added or deleted concurrently by fixed number of…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-04-11 Muktikanta Sa

The ordered set is one of the most important data type in both theoretical algorithm design and analysis and practical programming. In this paper we study the set operations on two ordered sets, including Union, Intersect and Difference,…

Data Structures and Algorithms · Computer Science 2016-11-15 Guy Blelloch , Daniel Ferizovic , Yihan Sun

Graph analytics attract much attention from both research and industry communities. Due to the linear time complexity, the $k$-core decomposition is widely used in many real-world applications such as biology, social networks, community…

Databases · Computer Science 2022-01-19 Bin Guo , Emil Sekerinski

Balanced search trees are widely used in computer science to efficiently maintain dynamic ordered data. To support efficient set operations (e.g., union, intersection, difference) using trees, the join-based framework is widely studied.…

Data Structures and Algorithms · Computer Science 2025-10-24 Michael Goodrich , Yan Gu , Ryuto Kitagawa , Yihan Sun

The recent advancements in multicore machines highlight the need to simplify concurrent programming in order to leverage their computational power. One way to achieve this is by designing efficient concurrent data structures (e.g. stacks,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-31 Nikolaos D. Kallimanis