Abstract

We prove cut-off results for deadlocks and serializability of a PVPV-thread TT run in parallel with itself: For a PVPV thread TT which accesses a set R\mathcal{R} of resources, each with a maximal capacity κ:R→Nκ:\mathcal{R}\to\mathbb{N}, the PV-program TnT^n, where nn copies of TT are run in parallel, is deadlock free for all nn if and only if TMT^M is deadlock free where M=Σr∈Rκ(r)M=Σ_{r\in\mathcal{R}}κ(r). This is a sharp bound: For all κ:R→Nκ:\mathcal{R}\to\mathbb{N} and finite R\mathcal{R} there is a thread TT using these resources such that TMT^M has a deadlock, but TnT^n does not for n<Mn<M. Moreover, we prove a more general theorem: There are no deadlocks in p=T1∣T2∣⋯∣Tnp=T1|T2|\cdots |Tn if and only if there are no deadlocks in Ti1∣Ti2∣⋯∣TiMT_{i_1}|T_{i_2}|\cdots |T_{i_M} for any subset {i1,…,iM}⊂[1:n]\{i_1,\ldots,i_M\}\subset [1:n]. For κ(r)≡1κ(r)\equiv 1, TnT^n is serializable for all nn if and only if T2T^2 is serializable. For general capacities, we define a local obstruction to serializability. There is no local obstruction to serializability in TnT^n for all nn if and only if there is no local obstruction to serializability in TMT^M for M=Σr∈Rκ(r)+1M=Σ_{r\in\mathcal{R}}κ(r)+1. The obstructions may be found using a deadlock algorithm in TM+1T^{M+1}. These serializability results also have a generalization: If there are no local obstructions to serializability in any of the MM-dimensional sub programs, Ti1∣Ti2∣⋯∣TiMT_{i_1}|T_{i_2}|\cdots |T_{i_M}, then pp is serializable.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.