在Book 并发规划:Michel Raynal的算法,原则和基础,在16.5.1节中,定理75表示

比较和交换对象具有无限的共识编号。

和第16.5.2节,LEMMA 40表示

MEM-to-mem-swap对象类型在n个进程的系统中具有共识N.

然后,在第16.1节中,作者将表格展示,并将其交换和男人到MEM-SWAP作为具有共识数无限的对象。

所以,对象与共识N和对象之间的差异是什么?

有帮助吗?

解决方案

对象的共识数量是您可以以等待的方式与一个这样对象同步的最大并发进程数(我不会进入在此处的无等待方式)。例如,只有读写操作的寄存器根本没有受到等待的同步,因此它具有达到的数字1.具有测试和设置操作的寄存器可用于同步等待中的两个进程 - 免费的方式,但不是三个或更多,所以测试和设置的共识数量为2。

$ n $ --registers assignment,其中一个进程可以原子写到多个寄存器,允许 $ 2n- 2 $ 同步等待的进程如果存在 $ n $ 寄存器。更多流程需要更多寄存器。因此,由 $ 2n-2 $

具有比较和交换操作的单个寄存器足以同步任何等待的任何数量的过程。因此,比较和交换的共识数量是无限的。

引理40表示MEM-and-rwap对象允许在 $ n $ 并发进程中的系统中的所有进程的所有进程的等待同步number $ n $ 。这意味着对于任何数字 $ n $ ,Mem-and-swap的共识数量至少是 $ n $ < / span>。 (指出共识号 $ n $ $ n $ 进程是一个错误的错误,因为共识号的定义实际上并不依赖于进程总数。)因为MEM-and的共识数量至少 $ n $ 对于任何 $ n $ ,它是无限的。

如果您喜欢另一个源代比Raynal的书,您可以阅读原始 Maurice Herlihy

的纸张

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top