5 research outputs found
Checking Linearizability of Concurrent Priority Queues
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.Comment: An extended abstract is published in the Proceedings of CONCUR 201
Improved Distance Queries and Cycle Counting by Frobenius Normal Form
Consider an unweighted, directed graph G with the diameter D. In this paper, we introduce the framework for counting cycles and walks of given length in matrix multiplication time O-tilde(n^omega). The framework is based on the fast decomposition into Frobenius normal form and the Hankel matrix-vector multiplication. It allows us to solve the following problems efficiently.
* All Nodes Shortest Cycles - for every node return the length of the shortest cycle containing it. We give an O-tilde(n^omega) algorithm that improves the previous O-tilde(n^((omega + 3)/2)) algorithm for unweighted digraphs.
* We show how to compute all D sets of vertices lying on cycles of length c in {1, ..., D} in randomized time O-tilde(n^omega). It improves upon an algorithm by Cygan where algorithm that computes a single set is presented.
* We present a functional improvement of distance queries for directed, unweighted graphs.
* All Pairs All Walks - we show almost optimal O-tilde(n^3) time algorithm for all walks counting problem. We improve upon the naive O(D n^omega) time algorithm
A complete approximation theory for weighted transition systems
We propose a way of reasoning about minimal and maximal values of the weights of transitions in a weighted transition system (WTS). This perspective induces a notion of bisimulation that is coarser than the classic bisimulation: it relates states that exhibit transitions to bisimulation classes with the weights within the same boundaries. We propose a customized modal logic that expresses these numeric boundaries for transition weights by means of particular modalities. We prove that our logic is invariant under the proposed notion of bisimulation. We show that the logic enjoys the finite model property which allows us to prove the decidability of satisfiability and provide an algorithm for satisfiability checking. Last but not least, we identify a complete axiomatization for this logic, thus solving a long-standing open problem in this field. All our results are proven for a class of WTSs without the image-finiteness restriction, a fact that makes this development general and robust