线性化作为安全属性有哪些优势?文献中是否有基于此事实的结果?
假设您实现了一个仅满足最终线性化要求的共享存储机,定义如下:在每次运行中,都存在某个时间点,因此线性化从时间开始一直保持。注意,上没有上限。(*)(这是线性安全性的标准安全属性定义的人造活体。)α 中号Ť αMαMTα ŤTαT
这样的共享内存实现对程序员不是很有用:请注意,如果仅保持最终的线性化,就不能保证运行的任何“早期”前缀中的读/写操作的一致性(在未知时间之前))。或者,换句话说,不管到目前为止发生了什么,您仍然可以将运行的当前前缀扩展为满足最终线性化的条件。 T
(*)如果存在这样的上限,那么最终的线性化将成为安全属性。
如何在拓扑上将线性化描述为封闭集?特别是,基础集是什么,拓扑是什么?
我们可以在集合上定义度量标准拓扑,该集合是分布式算法的所有可能运行的集合。请注意,中的每个运行对应于状态转换的无限序列。对于,,我们定义其中是最早的索引,其中状态在和不同;否则,如果,我们定义。α ∈ 甲小号ý Ñ Ç α ,β ∈ 甲小号ý Ñ Ç α ≠ β d (α ,β ):= 2 - Ñ Ñ α β α = β d (α ,β )= 0ASYNCα∈ASYNCα,β∈ASYNCα≠β
d(α,β):=2−N
Nαβα=βd(α,β)=0
我们首先认为是的度量。根据定义,是非负数,并且我们有
。对于,如果,则三角不等式成立或
。现在考虑,即
和,对于某些索引
。由于甲小号ý Ñ Ç d ∀ α ,β ∈ 甲小号ý Ñ Ç d (α ,β )= d (β ,α )α ,β ,γ ∈ 甲小号ý Ñ Ç d (α ,β )≤ d (α ,γ )+ d (γ ,β )dASYNCd∀α,β∈ASYNCd(α,β)=d(β,α)α,β,γ∈ASYNCd(α,β)≤d(α,γ)+d(γ,β)γ = β d ( α α βγ=αγ=βd (α ,γ )= 2 - Ñ 1 d (γ ,β )= 2 - Ñ 2 Ñ 1 ≤ ñ 2 γ Ñ 2 - 1个β ñ 1 - 1d(α,γ)≥d(γ,β)>0d(α,γ)=2−n1d(γ,β)=2−n2n1≤n2γ股长度的公共前缀与,但只有长度的前缀与,接下去和
在索引不同,因此和三角形不等式。其中的情况下如下类似。n2−1βn1−1ααβ d (α ,β )= d ( < d (γ ,β )n10 < d (α ,γ )d(α,β)=d(α,γ)0<d(α,γ)<d(γ,β)
度量诱导一种拓扑结构(例如[1]的第119页),其中 -balls 是基本的开放集。现在我们将讨论为什么安全属性对应于封闭集:如果执行不满足安全属性
,即,则存在一个索引
,其中所有运行共享一个前缀长于与不在。ε 乙ε(α )= { β &Element; 甲小号ý Ñ Ç | d (α ,β )< ε } α 小号⊆ 甲小号ý Ñ Ç α ∉ 小号Ñ β Ñ α 小号α ∉ 小号Ñ ≥ 0 β &Element; 甲小号ÿdϵBε(α)={β∈ASYNC∣d(α,β)<ε}αS⊆ASYNCα∉SNβNαS这与直觉非常匹配,因为一旦在执行的前缀中违反了安全属性,就不会对前缀的扩展产生任何影响!
从形式上来讲,假设。存在一个,使得如果某些
具有即和
共享前缀长度的,然后。因此,行程的集合是封闭的,因为其互补是开放的。α∉SN≥0d (α ,β )β∈ASYNCα β ≥ Ñ β ∉ 小号小号d(α,β)<2−N,αβ≥Nβ∉SS
[1] James Munkres。拓扑结构。
The metric d induces a topology (e.g., page~119 of [1]) where the ϵ-balls...
吗?