不透明度与原子性:理论剖析与突破路径
1. 引言
在事务处理领域,不透明度(Opacity)和原子性(Atomicity)是两个关键概念。理解它们之间的差异以及相关的事务管理器(TM)实现特性,对于设计高效、可靠的事务处理系统至关重要。本文将深入探讨不透明度与原子性的区别,分析TM实现的相关属性,证明复杂度下界,并探讨如何突破这一下界。
2. TM实现的属性
- 不可见读(Invisible reads) :直观地说,如果在任何只读且成功的操作中,事务不会修改任何基础对象的状态,则称TM共享对象使用不可见读。这里的“成功”指操作不返回值$A_i$,即操作后事务仍然存活。例如,算法AIR实现的TM就使用了不可见读,一个事务$T_i$在t变量$x_m$上执行成功的读操作时,仅从寄存器$TVar[m]$读取数据。更正式的定义如下:
- 定义9.1(不可见读) :若在TM共享对象$M$的每个实现历史$E$中,对于任意事务$T_i$、任意t对象$x$、任意只读操作$op$以及任意不同于$A_i$的值$v$,在$(E|M)|T_i$中的操作$e = x.opi →v$里,$T_i$在$E$中于$e$内执行的任何步骤都不会改变任何基础对象的状态,则称$M$使用不可见读。
- 最小渐进性(Minimal progressiveness) :直观而言,TM对象$M$是最小渐进的,当且仅当事务$T_i$仅在与其他事务并发时才会被强制中止。更正式的定义如下:
超级会员免费看
订阅专栏 解锁全文
1200

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



