English
Related papers

Related papers: Relaxed Queues and Stacks from Read/Write Operatio…

200 papers

The sequential semantics of many concurrent data structures, such as stacks and queues, inevitably lead to memory contention in parallel environments, thus limiting scalability. Semantic relaxation has the potential to address this issue,…

Data Structures and Algorithms · Computer Science 2024-03-21 Kåre von Geijer , Philippas Tsigas

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

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

Relaxed concurrent data structures have become increasingly popular, due to their scalability in graph processing and machine learning applications. Despite considerable interest, there exist families of natural, high performing randomized…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-03-28 Dan Alistarh , Trevor Brown , Justin Kopinsky , Jerry Z. Li , Giorgi Nadiradze

A multiplicity queue is a concurrently-defined data type which relaxes the conditions of a linearizable FIFO queue to allow concurrent Dequeue instances to return the same value. It would seem that this should allow faster implementations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-22 Anh Tran , Edward Talmage

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

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

The semantics of concurrent data structures is usually given by a sequential specification and a consistency condition. Linearizability is the most popular consistency condition due to its simplicity and general applicability. Nevertheless,…

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the…

Programming Languages · Computer Science 2012-08-30 Gérard Boudol , Gustavo Petri , Bernard Serpette

To implement a linearizable shared memory in synchronous message-passing systems it is necessary to wait for a time linear to the uncertainty in the latency of the network for both read and write operations. Waiting only for one of them…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-07-28 Matthieu Perrin , Matoula Petrolia , Achour Mostefaoui , Claude Jard

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

It has been proved that to implement a linearizable shared memory in synchronous message-passing systems it is necessary to wait for a time proportional to the uncertainty in the latency of the network for both read and write operations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-01 Matthieu Perrin , Matoula Petrolia , Achour Mostefaoui , Claude Jard

Linearizability, the traditional correctness condition for concurrent data structures is considered insufficient for the non-volatile shared memory model where processes recover following a crash. For this crash-recovery shared memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-08 Ohad Ben-Baruch , Srivatsan Ravi

We introduce a very simple queue implementation with the singly linked list. With the help of the rear blank node instead of the usual header node, we avoid additional check steps for the dequeue operation in the traditional implementations…

Data Structures and Algorithms · Computer Science 2021-10-05 Xie Xie

Tasks and objects are two predominant ways of specifying distributed problems. A task is specified by an input/output relation, defining for each set of processes that may run concurrently, and each assignment of inputs to the processes in…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-02 Armando Castaneda , Michel Raynal , Sergio Rajsbaum

We consider a discrete-time system comprising a first-come-first-served queue, a non-preemptive server, and a stationary non-work-conserving scheduler. New tasks enter the queue according to a Bernoulli process with a pre-specified arrival…

Applications · Statistics 2020-08-05 Michael Lin , Nuno C. Martins , Richard J. La

Linearizability is the de facto consistency condition for concurrent objects, widely used in theory and practice. Loosely speaking, linearizability classifies concurrent executions as correct if operations on shared objects appear to take…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-07-30 Gal Sela , Maurice Herlihy , Erez Petrank

Linearizable datastores are desirable because they provide users with the illusion that the datastore is run on a single machine that performs client operations one at a time. To reduce the performance cost of providing this illusion, many…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-04-09 Myles Thiessen , Aleksey Panas , Guy Khazma , Eyal de Lara

Because strongly-linearizable objects provide stronger guarantees than linearizability, they serve as valuable building blocks for the design of concurrent data structures. Yet, many objects that have linearizable implementations from base…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-01-01 Faith Ellen , Gal Sela

FIFO queues are a fundamental data structure used in a wide range of applications. Concurrent FIFO queues allow multiple execution threads to access the queue simultaneously. Maintaining strict FIFO semantics in concurrent queues leads to…

Data Structures and Algorithms · Computer Science 2025-10-17 Stefan Koch , Peter Sanders , Marvin Williams
‹ Prev 1 2 3 10 Next ›