Checking Linearizability of Concurrent Priority Queues

07/03/2017
by   Ahmed Bouajjani, et al.
0

Efficient implementations of concurrent objects such as atomic collections are essential to modern computing. Programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one risks the conformance to sequential specifications -- or in formal terms, one risks violating linearizability. Unfortunately, verifying linearizability is undecidable in general, even on classes of implementations where the usual control-state reachability is decidable. In this work we consider concurrent priority queues which are fundamental to many multi-threaded applications such as task scheduling or discrete event simulation, and show that verifying linearizability of such implementations can be reduced to control-state reachability. This reduction entails the first decidability results for verifying concurrent priority queues in the context of an unbounded number of threads, and it enables the application of existing safety-verification tools for establishing their correctness.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/04/2019

Verifying Visibility-Based Weak Consistency

Multithreaded programs generally leverage efficient and thread-safe conc...
research
08/09/2017

Safety Verification of Phaser Programs

We address the problem of statically checking control state reachability...
research
01/06/2023

Asynchronous Wait-Free Runtime Verification and Enforcement of Linearizability

This paper studies the problem of asynchronous wait-free runtime verific...
research
07/03/2021

Engineering MultiQueues: Fast Relaxed Concurrent Priority Queues

Priority queues with parallel access are an attractive data structure fo...
research
10/23/2018

Refining Santa: An Exercise in Efficient Synchronization

The Santa Claus Problem is an intricate exercise for concurrent programm...
research
12/31/2020

Verifying a Cruise Control System using Simulink and SpaceEx

This article aims to provide a simple step-by-step guide highlighting th...
research
11/14/2019

In Search of the Fastest Concurrent Union-Find Algorithm

Union-Find (or Disjoint-Set Union) is one of the fundamental problems in...

Please sign up or login with your details

Forgot password? Click here to reset