分布式计算中的模拟、约简与循环协议分类
在分布式计算领域,模拟和约简是重要的概念,它们有助于我们理解不同任务模型之间的关系。下面将详细介绍相关内容。
分层快照模拟快照协议
在模拟快照协议时,我们可以使用分层快照协议。具体步骤如下:
1. 初始化 :每个进程从输入单纯形 σ 开始,将模拟内存初始化为在自身位置保存自己的输入,其他位置为 ⊥。
2. 分层操作 :每个进程在 N 层中重复以下操作:
- 将模拟内存写入共享的 N × n 数组 mem[·][·] 中对应层的自身位置。
- 对该层的所有模拟内存进行快照。
- 合并每个进程的最新条目,构造一个单一的模拟内存。
- 构造该模拟内存的向量时钟。
- 如果进程自身在模拟内存中的时钟值小于当前层的值,则表示尚未模拟完所有写入。
- 如果向量时钟的总和等于当前层号,则说明模拟内存是一个一致的模拟快照,将该快照写入模拟共享内存的自身条目,并进入下一层。
3. 决策 :经过 N 层后,进程决定其在模拟内存中的自身条目。
以下是模拟协议的代码:
1 protocol SimpleRWSim
2 // shared memory being simulated
3 mem: array [0..N][0..n] of Value
4
5 LayeredSnapshotSim($v i$: Value): array of Value
6 // my co
分布式计算中模拟与循环协议分类
超级会员免费看
订阅专栏 解锁全文
8510

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



