构建度为 ⌈√(n/2)⌉ 的规则组法定人数系统
1. 引言
在分布式系统中,互斥问题是一个基础问题。在这个问题里,并发进程对临界区(共享资源)的访问必须进行同步,确保同一时间只有一个进程能进入临界区(使用资源)。而组互斥问题是原始互斥问题的推广,每个进程可能属于不同的组,同一组的成员可以同时访问他们的临界区,但不同组的成员必须以互斥的方式访问他们的临界区。
基于法定人数的互斥解决方案依赖一组管理进程来控制对临界区的访问。想要进入临界区的应用进程必须从管理进程收集足够的投票以形成一个法定人数。如果法定人数满足任意两个法定人数的交集不为空,那么互斥就能自动得到保证。
在一个基于管理进程集合 P 的 m 组法定人数系统中,会有 m 组应用进程,每组都有自己的法定人数集合(也称为联盟),不同联盟的任意两个法定人数都有非空交集。基于法定人数的互斥算法可以推广到解决组互斥问题。
我们定义联盟的度为其中两两不相交的法定人数的最大数量,m 组法定人数系统的度是其所有联盟中最小的度。如果一个 m 组法定人数系统的所有联盟度相同,我们称其为度为 k 的规则系统。度越高的组法定人数系统对故障的防护能力越好。理论上,对于 m > 1,m 组法定人数系统的度的上限是 OPT = ⌊√n⌋。
本文展示了对于每个大于 1 的整数 p,存在一个规则的 m 组法定人数系统,其基于一个大小为 n = ⌊(p(p + 1)/2)⌋ 的集合,度为 ⌊(p + 1)/2⌋ = ⌈√(n/2)⌉,其中 m ≤ p,且每个法定人数的大小为 p。虽然该系统不是度最优的,但它的度比之前提出的一些系统更大。
2. 相关工作
- <
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



