English
Related papers

Related papers: Fast Concurrent Primitives Despite Contention

200 papers

Contention resolution addresses the problem of coordinating access to a shared channel. Time proceeds in slots, and a packet transmission can be made in any slot. A packet is successfully sent if no other packet is also transmitted during…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-28 Michael A. Bender , Jeremy T. Fineman , Seth Gilbert , John Kuszmaul , Maxwell Young

With the ever-growing need of data in HPC applications, the congestion at the I/O level becomes critical in super-computers. Architectural enhancement such as burst-buffers and pre-fetching are added to machines, but are not sufficient to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-02-23 Guillaume Aupy , Ana Gainaru , Valentin Le Fèvre

The lock-free, ordered, linked list is an important, standard example of a concurrent data structure. An obvious, practical drawback of textbook implementations is that failed compare-and-swap (CAS) operations lead to retraversal of the…

Data Structures and Algorithms · Computer Science 2020-11-02 Jesper Larsson Träff , Manuel Pöter

Multireader shared registers are basic objects used as communication medium in asynchronous concurrent computation. We propose a surprisingly simple and natural scheme to obtain several wait-free constructions of bounded 1-writer…

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

Concurrency control algorithms are key determinants of the performance of in-memory databases. Existing algorithms are designed to work well for certain workloads. For example, optimistic concurrency control (OCC) is better than…

Databases · Computer Science 2021-06-16 Jiachen Wang , Ding Ding , Huan Wang , Conrad Christensen , Zhaoguo Wang , Haibo Chen , Jinyang Li

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

In this paper, we construct and compare algorithmic approaches to solve the Preference Consistency Problem for preference statements based on hierarchical models. Instances of this problem contain a set of preference statements that are…

Logic in Computer Science · Computer Science 2024-11-01 Anne-Marie George , Nic Wilson , Barry O'Sullivan

Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-15 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Consistent hashing is a technique that can minimize key remapping when the number of hash buckets changes. The paper proposes a fast consistent hash algorithm (called power consistent hash) that has $O(1)$ expected time for key lookup,…

Data Structures and Algorithms · Computer Science 2023-12-29 Eric Leu

Modern shared memory multiprocessors permit reordering of memory operations for performance reasons. These reorderings are often a source of subtle bugs in programs written for such architectures. Traditional approaches to verify weak…

Software Engineering · Computer Science 2016-02-29 Ganesh Narayanaswamy , Saurabh Joshi , Daniel Kroening

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

Data Structures and Algorithms · Computer Science 2021-07-23 Marvin Williams , Peter Sanders , Roman Dementiev

Scheduling a set of jobs over a collection of machines is a fundamental problem that needs to be solved millions of times a day in various computing platforms: in operating systems, in large data clusters, and in data centers. Along with…

Data Structures and Algorithms · Computer Science 2018-07-10 Janardhan Kulkarni , Shi Li

A powerful tool for designing complex concurrent programs is through composition with object implementations from lower-level primitives. Strongly-linearizable implementations allow to preserve hyper-properties, e.g., probabilistic…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-22 Hagit Attiya , Armando Castañeda , Constantin Enea

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

Emerging non-volatile memory (NVM) technologies promise memory speed byte-addressable persistent storage with a load/store interface. However, programming applications to directly manipulate NVM data is complex and error-prone. Applications…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-01 Pradeep Fernando , Irina Calciu , Jayneel Gandhi , Aasheesh Kolli , Ada Gavrilovska

We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program…

Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Scott West , Sebastian Nanz , Bertrand Meyer

The frequent elements problem, a key component in demanding stream-data analytics, involves selecting elements whose occurrence exceeds a user-specified threshold. Fast, memory-efficient $\epsilon$-approximate synopsis algorithms select all…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-04 Victor Jarlow , Charalampos Stylianopoulos , Marina Papatriantafilou

In this paper, we study the possibility of designing non-trivial random CSP models by exploiting the intrinsic connection between structures and typical-case hardness. We show that constraint consistency, a notion that has been developed to…

Artificial Intelligence · Computer Science 2011-10-12 J. Culberson , Y. Gao

Entry in: Encyclopedia of Algorithms, Ming-Yang Kao, Ed., Springer, To appear. Synonyms: Wait-free registers, wait-free shared variables, asynchronous communication hardware. Problem Definition: Consider a system of asynchronous processes…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Paul M. B. Vitanyi