International audienceWe study a family of implementations for linked lists using fine-grain synchronisation. This approach enables greater concurrency, but correctness is a greater challenge than for classical, coarse-grain synchronisation. Our examples are demonstrative of common design patterns such as lock coupling, optimistic, and lazy synchronisation. Although they are are highly concurrent, we prove that they are linearisable, safe, and they correctly implement a high-level abstraction. Our proofs illustrate the power and applicability of rely-guarantee reasoning, as well of some of its limitations. The examples of the paper establish a benchmark challenge for other reasoning techniques
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Designing efficient concurrent objects often requires abandoning the standard specification techniqu...
We study a family of implementations for linked lists using finegrain synchronisation. This approach...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Modern programming languages provide libraries for concurrent data structures. For better performanc...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
Most work on the verification of concurrent objects for shared memory assumes sequential consistency...
Proving the linearizability of highly concurrent data structures, such as those using optimistic con...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
The implementation of objects shared by concurrent processes, with provable safety and liveness guar...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
Linearisability is a key correctness criterion for concurrent data structures, ensuring that each hi...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Designing efficient concurrent objects often requires abandoning the standard specification techniqu...
We study a family of implementations for linked lists using finegrain synchronisation. This approach...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Concurrent data structures with fine-grained synchronization are notoriously difficult to implement ...
Modern programming languages provide libraries for concurrent data structures. For better performanc...
Efficient implementations of data structures such as queues, stacks or hash-tables allow for concurr...
Most work on the verification of concurrent objects for shared memory assumes sequential consistency...
Proving the linearizability of highly concurrent data structures, such as those using optimistic con...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
The implementation of objects shared by concurrent processes, with provable safety and liveness guar...
Concurrent data structures like stacks, sets or queues need to be highly optimized to provide large ...
Linearisability is a key correctness criterion for concurrent data structures, ensuring that each hi...
Linearizability requires that the outcome of calls by competing threads to a concurrent data structu...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Designing efficient concurrent objects often requires abandoning the standard specification techniqu...