同步器算法:应用、复杂度与时间下限
1. 同步器算法概述
同步器算法能够让无故障的异步网络实现任何非容错的同步网络算法,但不适用于容错算法。在分析中,通常忽略本地处理时间,且仅考虑无向网络。
1.1 三种同步器的复杂度比较
以网络图 G 和特定的集群分解为例,比较 Alpha、Beta 和 Gamma 三种安全同步器实现的成本(每轮成本,忽略用户、前端和 Di,j 的成本以及本地处理时间),结果如下表所示:
| 同步器 | 消息复杂度 | 时间复杂度 |
| — | — | — |
| Alpha | O(pk²) | O(d) |
| Beta | O(pk) | O(pd) |
| Gamma | O(pk) | O(d) |
若 p 和 k 近似相等,Gamma 相较于 Alpha 和 Beta 有数量级的提升。
2. 同步器算法的应用
2.1 领导者选举
- 同步环领导者选举算法 :如 LCR 和 HS 可在异步环中运行,但这些算法本身就能在异步网络中工作,使用同步器会带来额外开销。
- FloodMax 算法 :在已知直径 diam 的异步网络中,使用同步器 Alpha 运行该算法,需发送 O(IEI·diam) 条消息,花费 O(diam·d) 时间模拟所需的 diam 个同步轮次。
- OptFloodMax 算法 :与 FloodMax 类似,但节点仅在有新信息时
超级会员免费看
订阅专栏 解锁全文
54

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



