54
v1v2 (latest)

Cut-off Theorems for the PV-model

Formal methods in system design (FMSD), 2018
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 κ:RN\kappa:\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=ΣrRκ(r)M=\Sigma_{r\in\mathcal{R}}\kappa(r). This is a sharp bound: For all κ:RN\kappa:\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=T1T2Tnp=T1|T2|\cdots |Tn if and only if there are no deadlocks in Ti1Ti2TiMT_{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\kappa(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=ΣrRκ(r)+1M=\Sigma_{r\in\mathcal{R}}\kappa(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, Ti1Ti2TiMT_{i_1}|T_{i_2}|\cdots |T_{i_M}, then pp is serializable.

View on arXiv
Comments on this paper