分布式算法(典藏版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.2 相同进程的不可能性结果

经过一个简单的观察后发现,如果所有进程都相同的话,那么领导者选举问题根本不可能在给定的模型中解决,即使环网是双向的,并且对进程而言环的规模是已知的。

定理3.1A是一个拥有n个进程的双向环系统,其中n>1。如果在A中的所有进程都是相同的,那么A不可能解决领导者选举问题。

证明 假设有这么一个系统A解决了领导者选举问题,我们来导出矛盾。为了不失一般性,我们可以假设A的每个进程都只有一个开始状态。因为如果每个进程有多于一个开始状态的话,我们就可以选择其中一个,并得到其中每个进程中只有一个开始状态的新解。在这个假设条件下,A只有一种运行方式。

考虑A的(唯一)运行。通过对已经运行的轮数r做归纳,容易验证所有的进程在r轮后都会处于相同状态。所以,如果任一进程到达了领导者状态,那么A中的其他进程也会在同一时间到达领导者状态。但是,这就违反了唯一性的要求。

定理3.1暗示着解决领导者选举问题的唯一途径就是打破对称性。在实践中得到的一个合理假设就是除了UID之外,进程都是相同的。这也是我们在本章剩下部分所做的假设。