English
Related papers

Related papers: Linearizable Iterators for Concurrent Sets

200 papers

Iterators are a fundamental programming abstraction for traversing and modifying elements in containers in mainstream imperative languages such as C++. Iterators provide a uniform access mechanism that hides low-level implementation details…

Programming Languages · Computer Science 2026-04-16 Yihe Li , Gregory J. Duck

Linearizability is a well-established consistency and correctness criterion for concurrent data types. An important feature of linearizability is Herlihy and Wing's locality principle, which says that a concurrent system is linearizable if…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-04-02 Alex Horn , Daniel Kroening

Starting from a result of Stewart, Tijdeman and Ruzsa on iterated difference sequences, we introduce the notion of iterated compositions of linear operations. We prove a general result on the stability of such compositions (with bounded…

Number Theory · Mathematics 2010-05-21 Norbert Hegyvári , Francois Hennecart , Alain Plagne

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

This paper proposes a new framework for providing approximation guarantees of local search algorithms. Local search is a basic algorithm design technique and is widely used for various combinatorial optimization problems. To analyze local…

Data Structures and Algorithms · Computer Science 2020-06-03 Kaito Fujii

Linearizability has become the de facto correctness specification for implementations of concurrent data structures. While formally verifying such implementations remains challenging, linearizability monitoring has emerged as a promising…

Programming Languages · Computer Science 2025-09-16 Lee Zheng Han , Umang Mathur

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

We present a lattice of distributed program specifications, whose ordering represents implementability/refinement. Specifications are modelled by families of subsets of relative execution traces, which encode the local orderings of state…

Logic in Computer Science · Computer Science 2023-04-25 Nasos Evangelou-Oost , Callum Bannister , Ian J. Hayes

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

Context: The growing size of graph-based modeling artifacts in model-driven engineering calls for techniques that enable efficient execution of graph queries. Incremental approaches based on the RETE algorithm provide an adequate solution…

Software Engineering · Computer Science 2024-07-08 Matthias Barkowsky , Holger Giese

Most work on the verification of concurrent objects for shared memory assumes sequential consistency, but most multicore processors support only weak memory models that do not provide sequential consistency. Furthermore, most verification…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-04-25 Simon Doherty , John Derrick

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

In this uncertain world, data uncertainty is inherent in many applications and its importance is growing drastically due to the rapid development of modern technologies. Nowadays, researchers have paid more attention to mine patterns in…

The working-set bound [Sleator and Tarjan, J. ACM, 1985] roughly states that searching for an element is fast if the element was accessed recently. Binary search trees, such as splay trees, can achieve this property in the amortized sense,…

Data Structures and Algorithms · Computer Science 2009-07-14 Prosenjit Bose , Karim Douïeb , Vida Dujmović , John Howat

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

Many algorithms use data structures that maintain properties of matrices undergoing some changes. The applications are wide-ranging and include for example matchings, shortest paths, linear programming, semi-definite programming, convex…

Data Structures and Algorithms · Computer Science 2020-10-28 Jan van den Brand

Arguments about correctness of a concurrent data structure are typically carried out by using the notion of linearizability and specifying the linearization points of the data structure's procedures. Such arguments are often cumbersome as…

Logic in Computer Science · Computer Science 2017-01-19 Germán Andrés Delbianco , Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

In concurrent data structures, the efficiency of set operations can vary significantly depending on the workload characteristics. Numerous concurrent set implementations are optimized and fine-tuned to excel in scenarios characterized by…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-29 Daniel Manor , Mor Perry , Moshe Sulamy

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

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