29、异步系统上模拟同步性的深入解析

异步系统上模拟同步性的深入解析

在分布式系统领域,同步系统和异步系统有着各自独特的特性和应用场景。同步系统中,存在全局时钟来协调各个进程的行为;而异步系统则没有先验的外部时间概念,进程的时间推进依赖于自身操作和消息交换。本文将详细探讨如何在异步系统上模拟同步系统,以及相关的同步器原理和算法。

基于脉冲的同步模型

在同步系统中,存在一个逻辑全局时钟(CLOCK),它以整数 0、1、2 等时刻产生脉冲。进程和通道的行为受这个时钟的控制,具体表现如下:
- 消息传递 :进程 pi 在脉冲 r 开始时发送给邻居 pj 的消息,会在脉冲 r + 1 开始前被 pj 接收并处理,这意味着在脉冲层面上,消息传递延迟是有界的。
- 处理时间 :假设本地处理时间相对于传递延迟可以忽略不计,因此可认为其持续时间为零。实际上,消息接收的处理时间可看作被“吸收”到消息传递时间中。
- 消息发送限制 :每个进程在每个脉冲内最多向给定邻居发送一条消息。当新的脉冲 r + 1 产生时,进程 pi 知道两件事:一是在脉冲 r 期间发送的所有消息都已被接收和处理;二是其他所有进程都处于脉冲 r + 1。

这种基于脉冲的同步模型与之前的定义本质上相同,只是术语有所变化,脉冲相当于轮数。其优势在于,基于时钟/脉冲的表示法能让同步算法更方便地用“when … do …”模式表达。

为了说明基于脉冲的同步模型,我们来看广度优先遍历问题。假设通道是双向的,通信图是连通的,由进程 pa 发起遍历。每个进程有两个局部变量:leveli 和 parenti。初始时,l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值