English
Related papers

Related papers: A more Pragmatic Implementation of the Lock-free, …

200 papers

This paper focuses on data structures for multi-core reachability, which is a key component in model checking algorithms and other verification methods. A cornerstone of an efficient solution is the storage of visited states. In related…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-05-06 Alfons Laarman , Jaco van de Pol , Michael Weber

A well-established approach to proving progress properties such as deadlock-freedom and termination is to associate obligations with threads. For example, in most existing work the proof rule for lock acquisition prescribes a standard usage…

Programming Languages · Computer Science 2024-12-20 Justus Fasse , Bart Jacobs

The recent availability of fast, dense, byte-addressable non-volatile memory has led to increasing interest in the problem of designing and specifying durable data structures that can recover from system crashes. However, designing durable…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-29 Michal Friedman , Naama Ben-David , Yuanhao Wei , Guy E. Blelloch , Erez Petrank

The energy efficiency of analog forms of computing makes it one of the most promising candidates to deploy resource-hungry machine learning tasks on resource-constrained system such as mobile or embedded devices. However, it is well known…

Hardware Architecture · Computer Science 2023-09-26 Lisa Kuhn , Bernhard Klein , Holger Fröning

To exploit both memory locality and the full performance potential of highly tuned kernels, dense linear algebra libraries such as LAPACK commonly implement operations as blocked algorithms. However, to achieve next-to-optimal performance…

Mathematical Software · Computer Science 2022-04-08 Elmar Peise , Paolo Bientinesi

Skiplists are used in a variety of applications for storing data subject to order criteria. In this article we discuss the design, analysis and performance of a concurrent deterministic skiplist on many-core NUMA nodes. We also evaluate the…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-03-06 Aparna Sasidharan

We introduce the lazy search tree data structure. The lazy search tree is a comparison-based data structure on the pointer machine that supports order-based operations such as rank, select, membership, predecessor, successor, minimum, and…

Data Structures and Algorithms · Computer Science 2020-10-20 Bryce Sandlund , Sebastian Wild

We present a novel linearizable wait-free queue implementation using single-word CAS instructions. Previous lock-free queue implementations from CAS all have amortized step complexity of $\Omega(p)$ per operation in worst-case executions,…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-15 Hossein Naderibeni , Eric Ruppert

Multithreaded programs generally leverage efficient and thread-safe concurrent objects like sets, key-value maps, and queues. While some concurrent-object operations are designed to behave atomically, each witnessing the atomic effects of…

Logic in Computer Science · Computer Science 2019-11-06 Siddharth Krishna , Michael Emmi , Constantin Enea , Dejan Jovanovic

Union-Find (or Disjoint-Set Union) is one of the fundamental problems in computer science; it has been well-studied from both theoretical and practical perspectives in the sequential case. Recently, there has been mounting interest in…

Data Structures and Algorithms · Computer Science 2019-11-18 Dan Alistarh , Alexander Fedorov , Nikita Koval

The theory community has proposed several new heap variants in the recent past which have remained largely untested experimentally. We take the field back to the drawing board, with straightforward implementations of both classic and novel…

Data Structures and Algorithms · Computer Science 2014-03-04 Daniel H. Larkin , Siddhartha Sen , Robert E. Tarjan

A standard design pattern found in many concurrent data structures, such as hash tables or ordered containers, is an alternation of parallelizable sections that incur no data conflicts and critical sections that must run sequentially and…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-10-13 Vitaly Aksenov , Dan Alistarh , Petr Kuznetsov

The tree is an essential data structure in many applications. In a distributed application, such as a distributed file system, the tree is replicated.To improve performance and availability, different clients should be able to update their…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-20 Sreeja Nair , Filipe Meirim , Mário Pereira , Carla Ferreira , Marc Shapiro

In this work, we present a new benchmarking suite with new real-life inspired skewed workloads to test the performance of concurrent index data structures. We started this project to prepare workloads specifically for self-adjusting data…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-19 Vitaly Aksenov , Dmitry Ivanov , Ravil Galiev

This paper presents a non-blocking Patricia trie implementation for an asynchronous shared-memory system using Compare&Swap. The trie implements a linearizable set and supports three update operations: insert adds an element, delete removes…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-11-18 Niloufar Shafiei

This paper analyzes the cache miss cost of algorithms when scheduled using randomized work stealing (RWS) in a parallel environment, taking into account the effects of false sharing. First, prior analyses (due to Acar et al.) are extended…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-03-23 Richard Cole , Vijaya Ramachandran

We start by summarizing the recently proposed implementation of the first non-blocking concurrent interpolation search tree (C-IST) data structure. We then analyze the individual operations of the C-IST, and show that they are correct and…

Data Structures and Algorithms · Computer Science 2020-01-03 Aleksandar Prokopec , Trevor Brown , Dan Alistarh

Locks are a classic data structure for concurrent programming. We introduce a type system to ensure that names of the asynchronous pi-calculus are used as locks. Our calculus also features a construct to deallocate a lock once we know that…

Logic in Computer Science · Computer Science 2023-09-15 Daniel Hirschkoff , Enguerrand Prebet

We study the problem of constructing concurrent objects in a setting where $P$ processes run in parallel and interact through a shared memory that is subject to write contention. Our goal is to transform hardware primitives that are subject…

Data Structures and Algorithms · Computer Science 2026-04-17 Michael A. Bender , Guy E. Blelloch , Martin Farach-Colton , Yang Hu , Rob Johnson , Rotem Oshman , Renfei Zhou

The "ordered set" abstract data type with operations "insert", "erase", "find", "min", "max", "next" and "prev" is ubiquitous in computer science. It is usually implemented with red-black trees, $B$-trees, or $B^+$-trees. We present our…

Data Structures and Algorithms · Computer Science 2025-06-18 Viktor Krapivensky
‹ Prev 1 3 4 5 6 7 10 Next ›