异步系统上模拟同步性的深入探讨
1. 引言
在分布式系统领域,同步和异步算法处于同步行为频谱的两个极端。然而,存在一些既不完全同步也不完全异步的分布式系统。本文将聚焦于这类具有有界延迟的网络系统,并介绍两种基于其特性构建的同步器。
2. 有界延迟网络的背景和假设
有界延迟网络具有以下特性:
- 通信延迟有界(上限为一个时间单位)。
- 每个进程(处理器)都有一个物理时钟。
- 时钟以相同速度前进,但未同步。
- 与消息延迟相比,处理时间可忽略不计,因此假定为 0。
由于这些局部时钟在同一时刻不一定显示相同时间,只是在相等的时间间隔内前进相同的量。若能同时启动时钟,便可得到一个完全同步的系统。但实际并非如此,因此在这类系统上执行同步算法时,需要添加同步器。
3. 局部时钟的初始化
局部时钟的初始化(重置为 0)可通过网络遍历算法轻松实现,代码如下:
when INIT() received do
if (¬ donei) then
donei ← true; set timeri to 0;
for each x ∈ neighborsi do send INIT() on channeli[x] end for
end if.
至少有一个进程(可能更多)会收到外部消息 INIT() 。进程首次收到此类消息时,会设置其计时器并将消息传播给其邻居。
设 $\
超级会员免费看
订阅专栏 解锁全文

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



