English
Related papers

Related papers: Checking Linearizability of Concurrent Priority Qu…

200 papers

In this paper, we systematically investigate the connection between linearizable objects and forward simulation. We prove that the sets of linearizable objects satisfying wait-freedom (resp., lock-freedom or obstruction-freedom) form a…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-01-21 Chao Wang , Ruijia Li , Yang Zhou , Peng Wu , Yi Lv , Jianwei Liao , Jim Woodcock , Zhiming Liu

Priority queues are abstract data structures which store a set of key/value pairs and allow efficient access to the item with the minimal (maximal) key. Such queues are an important element in various areas of computer science such as…

Data Structures and Algorithms · Computer Science 2015-09-24 Jakob Gruber

Linearisability has become the standard safety criterion for concurrent data structures ensuring that the effect of a concrete operation takes place after the execution some atomic statement (often referred to as the linearisation point).…

Logic in Computer Science · Computer Science 2012-12-21 Brijesh Dongol , John Derrick

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

Linearisability has become the standard correctness criterion for concurrent data structures, ensuring that every history of invocations and responses of concurrent operations has a matching sequential history. Existing proofs of…

Logic in Computer Science · Computer Science 2013-07-29 Brijesh Dongol , John Derrick

Concurrent objects form the foundation of many applications that exploit multicore architectures and their importance has lead to informal correctness arguments, as well as formal proof systems. Correctness arguments (as found in the…

Programming Languages · Computer Science 2024-10-18 Constantin Enea , Eric Koskinen

Global protocol specifications are the starting point of top-down verification methodologies, and serve as a blueprint for synthesizing local specifications that guarantee the correctness of distributed implementations. In this work, we…

Formal Languages and Automata Theory · Computer Science 2026-02-11 Elaine Li , Felix Stutz

The chase is a ubiquitous algorithm in database theory. However, for existential rules (aka tuple-generating dependencies), its termination is not guaranteed, and even undecidable in general. The problem of termination becomes particularly…

Databases · Computer Science 2025-11-25 Lukas Gerlach , Lucas Larroque , Jerzy Marcinkowski , Piotr Ostropolski-Nalewaja

Linearisability is a central notion for verifying concurrent libraries: a given library is proven safe if its operational history can be rearranged into a new sequential one which, in addition, satisfies a given specification.…

Programming Languages · Computer Science 2016-10-26 Andrzej S. Murawski , Nikos Tzevelekos

Lipton's reduction theory provides an intuitive and simple way for deducing the non-interference properties of concurrent programs, but it is difficult to directly apply the technique to verify linearizability of sophisticated fine-grained…

Programming Languages · Computer Science 2018-08-31 Tangliu Wen

Linearizability is a standard correctness criterion for concurrent algorithms, typically proved by establishing the algorithms' linearization points (LP). However, LPs often hinder abstraction, and for some algorithms such as the…

Logic in Computer Science · Computer Science 2023-08-08 Jesús Domínguez , Aleksandar Nanevski

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,…

In the shared variable model of concurrency, guarded atomic actions restrict the possible interference between processes by regions of atomic execution. The guard specifies the condition for entering an atomic region. That is a convenient…

Programming Languages · Computer Science 2025-05-28 Shucai Yao , Emil Sekerinski

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

Asynchronous programming is a ubiquitous systems programming idiom to manage concurrent interactions with the environment. In this style, instead of waiting for time-consuming operations to complete, the programmer makes a non-blocking call…

Logic in Computer Science · Computer Science 2015-03-17 Pierre Ganty , Rupak Majumdar

Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-06 Irina Calciu , Hammurabi Mendes , Maurice Herlihy

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

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

Correctness of concurrent objects is defined in terms of safety properties such as linearizability, sequential consistency, and quiescent consistency, and progress properties such as wait-, lock-, and obstruction-freedom. These properties,…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Brijesh Dongol , Lindsay Groves

A classical result by Ramalingam about synchronization-sensitive interprocedural program analysis implies that reachability for concurrent threads running recursive procedures is undecidable. A technique proposed by Qadeer and Rehof, to…

Programming Languages · Computer Science 2018-04-16 Peizun Liu , Thomas Wahl