A distributed resource allocation algorithm for many processes
TL;DR: In this paper, a starvation-free solution to the problem of resource allocation in CS is presented, and the correctness of the solution is argued with invariants and temporal logic with the proof assistant PVS.
read more
Abstract: Resource allocation is the problem that a process may enter a critical section CS of its code only when its resource requirements are not in conflict with those of other processes in their critical sections. For each execution of CS, these requirements are given anew. In the resource requirements, levels can be distinguished, such as e.g. read access or write access. We allow unboundedly many processes that communicate by reliable asynchronous messages and have finite memory. A simple starvation-free solution is presented. Processes only wait for one another when they have conflicting resource requirements. The correctness of the solution is argued with invariants and temporal logic. It has been verified with the proof assistant PVS.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Mutual exclusion by four shared bits with not more than quadratic complexity
TL;DR: A new measure of concurrent time complexity related to UNITY is introduced, and it is proved that the concurrent complexity for throughput of the present algorithm is not more than quadratic in the number of threads.
9
Correctness and concurrent complexity of the Black-White Bakery Algorithm
TL;DR: The present paper offers an assertional proof of correctness and shows that the concurrent complexity for throughput is linear in N, and for individual progress is quadratic in N; this is proved with a bounded version of UNITY.
References
Communicating sequential processes
TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
The temporal logic of actions
TL;DR: This report introduces TLA and describes how it is used to specifying and verify concurrent algorithms and the use of TLA to specify and reason about open systems will be described elsewhere.
Distributed Algorithms 2020
Juho Hirvonen,Jukka Suomela +1 more
- 01 Jan 2020
TL;DR: This week it is shown that 3-coloring paths requires Ω(log∗ n) rounds, which matches the fast coloring algorithms that the authors saw in Chapter 1.
Hierarchical ordering of sequential processes
TL;DR: A “director-secretary” relationship will be introduced to reflect a possible discipline in the use of sequencing primitives and an analysis of the requirements of the correctness proofs will give an insight into the logical issues at hand.
828
The existence of refinement mappings
Martín Abadi,Leslie Lamport +1 more
TL;DR: The authors consider specifications consisting of a state machine that specifies safety requirements and an arbitrary supplementary property that specifies liveness requirements and show that under reasonable assumptions about the specifications, if S/ Sub 1/ implements S/sub 2/, then by adding auxiliary variables to S/ sub 1/ one can guarantee the existence of a refinement mapping.
817
Related Papers (5)
John H. Reif,Paul G. Spirakis +1 more
- 18 Aug 1982
Paul Krzyzanowski
- 01 Jan 2009
Michael Buro,Alexander Kovarsky +1 more
- 22 Jul 2007