10、通用任务的读写协议

通用任务的读写协议

在分布式计算中,我们之前主要关注无色任务的协议,即只关心任务的输入和输出值集合,而不关心哪个进程与哪个值相关联。然而,并非所有重要任务都是无色的,比如“获取并递增”任务就是一个“有色”任务的简单例子。在这个任务中,如果有 n + 1 个进程参与,每个进程必须选择一个 0 到 n 范围内的唯一整数。这个任务不是无色的,因为哪个进程取哪个值是有意义的。

1. 概述

底层的操作模型与之前描述的相同,进程、配置和执行的概念都没有改变。计算同样分为两部分:与任务无关的全信息协议和与任务相关的决策。

在与任务无关的部分,每个进程会反复将自己的视图传达给其他进程,同时接收其他进程的视图,并更新自己的状态以反映所获取的信息。当完成足够多的通信层后,每个进程会通过将与任务相关的决策映射应用到其最终视图来选择一个输出值。与无色协议不同的是,每个进程不仅会记录所收到的视图集合,还会记录哪个进程发送了哪个视图。

具体来说,每个进程会执行分层即时快照协议。该协议与之前的类似,但在构建视图时不会丢弃进程名称。最初,进程 Pi 的视图是其输入值。在第 ℓ 层,Pi 会执行即时快照操作,将其当前视图写入 mem[ℓ][i],并在下一步对该层的行 mem[ℓ][*] 进行快照。Pi 会将其最新的即时快照作为新视图。完成所有层后,Pi 会通过将确定性决策映射 δ 应用到其最终视图来选择一个决策值。由分层即时快照协议产生的执行称为分层执行。

由于进程可能会根据哪个进程具有哪个输入值而表现不同,我们可以考虑包含进程名称的任务规范。我们首先将无色任务扩展到通用任务,然后相应地扩展协议和协议复形的组合概念。

2. 任务

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值