We prove cut-off results for deadlocks and serializability of a $PV$-thread $T$ run in parallel with itself: For a $PV$ thread $T$ which accesses a set $\mathcal{R}$ of resources, each with a maximal capacity $\kappa:\mathcal{R}\to\mathbb{N}$, the PV-program $T^n$, where $n$ copies of $T$ are run in parallel, is deadlock free for all $n$ if and only if $T^M$ is deadlock free where $M=\Sigma_{r\in\mathcal{R}}\kappa(r)$. This is a sharp bound: For all $\kappa:\mathcal{R}\to\mathbb{N}$ and finite $\mathcal{R}$ there is a thread $T$ using these resources such that $T^M$ has a deadlock, but $T^n$ does not for $n<M$. Moreover, we prove a more general theorem: There are no deadlocks in $p=T1|T2|\cdots |Tn$ if and only if there are no deadlocks in $T_{i_1}|T_{i_2}|\cdots |T_{i_M}$ for any subset $\{i_1,\ldots,i_M\}\subset [1:n]$. For $\kappa(r)\equiv 1$, $T^n$ is serializable for all $n$ if and only if $T^2$ is serializable. For general capacities, we define a local obstruction to serializability. There is no local obstruction to serializability in $T^n$ for all $n$ if and only if there is no local obstruction to serializability in $T^M$ for $M=\Sigma_{r\in\mathcal{R}}\kappa(r)+1$. The obstructions may be found using a deadlock algorithm in $T^{M+1}$. These serializability results also have a generalization: If there are no local obstructions to serializability in any of the $M$-dimensional sub programs, $T_{i_1}|T_{i_2}|\cdots |T_{i_M}$, then $p$ is serializable.
翻译:我们证明了僵局的截断结果, 并且可以连锁运行 $2美元 : 如果t=M 美元是无僵局的 $1 美元 : 对于一个 美元 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元 。 对于一个 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元, 美元 美元, 美元 美元, 美元 美元, 美元 美元, 美元 美元, 美元 美元 。 对于所有 美元, 美元 美元, 美元 美元, 美元 美元, 美元 美元 美元, 普通 美元 美元 美元, 美元 美元 美元 美元, 任何 美元 美元 美元, 美元 美元, 当地 美元 美元, 如果 T, 美元 美元, 美元 美元 美元, 美元 美元 美元, 。 此外 美元, 美元 美元 。