无阻塞事务内存(OBSTRUCTION - FREE TMS)技术解析
1. 无阻塞事务内存(OFTM)基础特性
为确保无等待性,OFTM 的竞争管理器需限制单个事务内存操作中事务重试某些步骤(如尝试更改定位器)的次数,且不能让事务无限期相互等待。此外,OFTM 不会使用无界数组 State 和 Mem,而是按需分配必要的存储,并释放不再需要的存储。部分 OFTM,像 WSTM 和 MM - STM,与算法 AOF 不同,它们采用了帮助机制,即事务 Ti 会帮助冲突事务 Tk 提交,而非让 Tk 中止。
2. OFTM 的计算能力
在 2 个进程的系统中,OFTM 能够实现共识对象,但在 3 个或更多进程的系统中则无法实现。这意味着仅使用读写共享内存(即寄存器)无法实现 OFTM,因为寄存器无法实现 2 进程共识。不过,使用比比较并交换更弱的对象应该可以实现 OFTM,比较并交换对象能为任意数量的进程实现共识。
3. fo - 共识对象的定义
共识对象用于解决一致性问题,每个进程可通过 propose 操作向其提议一个值,每个调用 propose 的正确进程最终会得到从提议值中选出的相同决策值。fo - 共识共享对象与共识对象类似,也允许进程就从提议值中选出的单个值达成一致。但 fo - 共识对象的 propose 操作在因并发操作竞争而无法返回决策值时可能会中止。当 propose 中止时,意味着该操作未执行,使用此操作提议的值未被 fo - 共识对象“注册”,只有被提议且“注册”的值才能被决定。提议操作中止的进程可多次重试该操作(可能使用不同的提议值),直到返回决策值。
fo - 共识共享对象实现了一个名为
超级会员免费看
订阅专栏 解锁全文
683

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



