Linearizability of concurrent data structures is usually proved by monolithic simulation arguments relying on the identification of the so-called linearization points. Regrettably, such proofs, whether manual or automatic, are often complicated and scale poorly to advanced non-blocking concurrency patterns, such as helping and optimistic updates. In response, we propose a more modular way of checking linearizability of concurrent queue algorithms that does not involve identifying linearization points. We reduce the task of proving linearizability with respect to the queue specification to establishing four basic properties, each of which can be proved independently by simpler arguments. As a demonstration of our approach, we verify the Herl...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
Abstract. Linearisability is the key correctness criterion for concurrent implementations of data st...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
Abstract. Linearisability is the standard correctness criterion for concurrent data structures. In t...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
Linearisability has become the standard correctness criterion for concurrent data structures, ensuri...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
Linearisability is a key correctness criterion for concurrent data structures, ensuring that each hi...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
Abstract. Linearisability is the key correctness criterion for concurrent implementations of data st...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
Linearizability of concurrent data structures is usually proved by monolithic simulation arguments r...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
Abstract. Linearisability is the standard correctness criterion for concurrent data structures. In t...
An execution containing operations performing queries or updating a concurrent object is linearizabl...
Linearisability has become the standard correctness criterion for concurrent data structures, ensuri...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
Linearisability is a key correctness criterion for concurrent data structures, ensuring that each hi...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
The semantics of concurrent data structures is usually given by a sequential specification and a con...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
Abstract. Linearisability is the key correctness criterion for concurrent implementations of data st...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...