13、无阻塞事务内存(Obstruction-Free TMs)技术解析

无阻塞事务内存(Obstruction-Free TMs)技术解析

1. 锁基事务内存(Lock-Based TMs)的局限性

锁基事务内存(Lock-Based TMs)的基本算法概念简单,实现轻量,能提供一定的活性保证,如操作的无等待性和强进展性。然而,它对进程崩溃缺乏弹性。例如,当进程 p1 执行更新所有事务变量(t-variables)的事务 T1,在获取所有锁后停止活动,其他进程尝试执行事务时,由于锁未释放,这些事务会被强制中止,导致所有事务的进展受阻。即便进程只是长时间延迟,在其恢复执行并释放锁之前,其他事务也无法提交。这表明在异步系统中,一个进程可能会任意延迟其他进程的进展。

2. 无阻塞事务内存(OFTMs)的引入

为了实现事务的独立进展,无阻塞事务内存(OFTMs)应运而生。直观地说,OFTMs 保证每个单独执行的事务(即并发事务被暂停或崩溃时)能够取得进展。常见的 OFTM 实现包括 DSTM、WSTM、ASTM、RSTM、NZTM 和 MM - STM 等。

3. 无阻塞性与强进展性的区别

强进展性的保证依赖于事务间的冲突数量。若进程 pi 执行的事务 Tk 对某个事务变量 x 进行写操作,那么在 Tk 提交或中止之前,它会持续在 x 上引发冲突。若进程 pi 在执行 Tk 时崩溃,Tk 可能会永远引发冲突。而无阻塞性的保证依赖于活动事务(持续执行步骤的事务)之间的竞争程度。进程崩溃会减少竞争源,从而可能促进其他进程的进展。

4. 无阻塞性的潜在问题与应对策略

无阻塞性在事务并发执行时无法提供保证,可能导致两个并发事务相互阻止对方无限期提交,即出现活锁。但在实际应用中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值