55、顺序一致性:分布式共享内存的一致性条件探究

顺序一致性:分布式共享内存的一致性条件探究

1. 顺序一致性概述

顺序一致性是分布式共享内存的一种一致性条件,它比原子性(线性化)更弱。直观来说,若一组进程访问并发对象的执行结果能通过在单处理器系统上执行(借助调度器)产生,那么该计算就是顺序一致的。这意味着在顺序一致的执行中,所有进程的操作看起来像是按某种顺序依次执行的,且每个进程的操作在这个总顺序中按其程序指定的顺序出现。

1.1 形式化定义

1.1.1 顺序一致的计算

一个计算 OP 是顺序一致的,需满足存在一个顺序计算 S,使得:
- OP 和 S 等价(即没有进程能区分 OP 和 S)。
- S 是合法的(尊重每个对象的规范)。

原子性是顺序一致性加上一个与实时顺序相关的条件。任何原子性的计算必然是顺序一致的,但反之不成立。

例如,涉及两个进程和两个寄存器 R、R′ 的计算,序列 S = R.writej(1),R′.writej(5),R.readj() →1,R.writei(2),R′.readi() →5,R.readi() →2 是合法的,且尊重每个进程的操作顺序,所以该计算是顺序一致的,但不尊重不同进程操作的实时发生顺序,因此不是原子的。

1.1.2 顺序一致的对象

给定一个计算 OP 和一个对象 X,如果 OP|X(即从 OP 中去除所有不在 X 上的操作)是顺序一致的,那么对象 X 在 OP 中就是顺序一致的。

1.2 顺序一致性不是局部属性

原子一致性是局部属性,原子对象可以自由组合,但顺序一致对象并非如此。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值