中文

最后使用不透明性:支持提前释放的事务内存的强安全属性

分布式、并行与集群计算 2016-03-28 v3

摘要

事务内存(TM)是一种并发控制抽象,允许程序员将代码块指定为以事务方式原子执行。然而,由于事务代码可包含几乎任何操作,必须随时关注共享变量的状态。例如,与数据库事务不同,若TM事务读取到陈旧值,它可能执行危险操作,如试图除以零、访问非法内存地址或进入无限循环。因此可串行性是不够的,TM需要更强的安全属性来规范可读取值,即便对于中止的事务也是如此。为此,人们提出了若干TM安全属性,包括不透明性(opacity)、TMS1和TMS2。然而,此类强属性排除了将提前释放用作优化TM的技术,因为它们实际上禁止从活跃事务读取。另一方面,确实允许提前释放的属性要么不足以预防上述任何问题(可恢复性),要么对带提前释放的事务增加限制其适用性的额外条件(弹性不透明性、活跃不透明性、虚拟世界一致性)。本文引入最后使用不透明性(last-use opacity),一种旨在作为不透明性和可串行性等强属性之间折衷的新TM安全属性。该属性消除了除一小类不一致视图外的所有情况,且对事务不加严苛条件。为说明,我们给出了一种最后使用不透明的TM算法,并证明其满足新安全属性。

关键词

引用

@article{arxiv.1506.06275,
  title  = {Last-use Opacity: A Strong Safety Property for Transactional Memory with Early Release Support},
  author = {Konrad Siek and Paweł T. Wojciechowski},
  journal= {arXiv preprint arXiv:1506.06275},
  year   = {2016}
}