原子对象的定义、性质与应用
1. 原子对象研究概述
原子对象在分布式系统中具有重要地位,许多分布式实现可视为原子对象的分布式实例。我们会研究原子对象的正式框架,定义其概念并阐述基本性质,还会探讨其与同类型共享变量的关系以及在系统构建中的应用。后续将给出特定类型原子对象基于其他原子对象(或共享变量)的实现算法,涉及的原子对象类型有读写对象、读 - 修改 - 写对象和快照对象。
2. 原子对象的定义和基本性质
2.1 原子对象的定义
原子对象的定义基于变量类型,变量类型包含值集合 (V)、初始值 (v_0)、调用集合、响应集合以及函数 (f: \text{invocations} \times V \to \text{responses} \times V),该函数规定了对特定值的变量进行特定调用时的响应和新值。变量类型的执行是有限序列 (v_0, a_1, b_1, v_1, a_2, b_2, v_2, \cdots, v_r) 或无限序列 (v_0, a_1, b_1, v_1, a_2, b_2, v_2, \cdots),其中 (a) 为调用,(b) 为响应,相邻四元组与 (f) 一致。变量类型的迹是从执行中导出的 (a) 和 (b) 的序列。
若 (\tau) 是变量类型,原子对象 (A) 是满足一系列性质的 I/O 自动机,需有特定外部接口和满足“格式良好性”“原子性”及活性条件。外部接口方面,假设 (A) 通过 (n) 个端口访问,每个端口 (i) 有输入动作 (a_i)((a) 是变量类型的调用)和输出动作 (b_i)((b) 是变量类型的响应),且若 (a_i) 是输入动作,(f(a, v) = (b, w)) 时,
超级会员免费看
订阅专栏 解锁全文
171万+

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



