安全同步器:原理、实现与复杂度分析
1. 安全同步器概述
在分布式系统中,同步算法起着至关重要的作用。简单同步算法(SimpleSynch)虽然在时间复杂度上有一定表现,但在通信复杂度方面存在改进空间。安全同步器(Safe Synchronizer)的出现,旨在降低通信复杂度,同时保证系统的同步性。
假设在任何通道中传递最旧消息的时间上限为 (d),那么模拟 (r) 轮所需的总时间最多为 (r(c + d + O(\epsilon)))。安全同步器的基本策略是将消息传递和确定邻居消息接收状态这两个功能分离。
具体来说,将本地同步器(LocSynch)的实现分解为两部分:每个节点的前端(FrontEnd)和安全同步器(SafeSynch)。前端负责处理本地用户的消息发送和接收,而安全同步器则负责告知前端其所有邻居是否已安全(即所有消息已被相应前端接收)。
2. 前端自动机(Front-End Automata)
前端自动机(FrontEndi)负责处理本地用户的消息发送和接收。以下是其详细信息:
- 签名(Signature)
- 输入 :
- user-send(T, r)i :(T) 是一组带标签的消息,(r \in N^+)
- receive("msgs", N, r)j,i :(N) 是一组消息,(r \in N^+),(j \in nbrs)
- receive("ack", r)j,i :(r \in N^+),
安全同步器原理与实现
超级会员免费看
订阅专栏 解锁全文

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



