中文

事务内存中的安全私有化

分布式、并行与集群计算 2018-01-15 v1

摘要

事务内存(TM)通过让程序员将某些代码块指定为原子来简化并发应用的开发。使用 TM 的程序员通常希望在同一数据上既在事务内又在事务外访问,例如为了提高性能或支持遗留代码。在这种情况下,程序员理想地希望 TM 保证强原子性,即事务相对于非事务访问也可视为原子执行。由于对任意程序保证强原子性的代价过高,研究者建议仅对某些无数据竞争(DRF)程序保证之,特别是那些遵循私有化惯用法(privatization idiom)的程序:从某时刻起,线程一致认为某给定对象可以非事务方式访问。在 TM 中安全支持私有化并非易事,因为这通常需要正确插入事务栅栏(transactional fences),其等待直至所有活跃事务完成。遗憾的是,目前对事务 DRF 的单一定义尚无共识,尤其是因为现有 DRF 概念均未考虑事务栅栏。本文提出这样一种概念,并证明:若 TM 满足推广不透明性(opacity)的某条件,且使用该 TM 的程序在假设强原子性下是 DRF 的,则该程序确实具有强原子语义。我们表明我们的 DRF 概念允许程序员使用私有化惯用法。我们还提出一种证明我们对不透明性推广的方法,并将其应用于 TL2 TM。

关键词

引用

@article{arxiv.1801.04249,
  title  = {Safe Privatization in Transactional Memory},
  author = {Artem Khyzha and Hagit Attiya and Alexey Gotsman and Noam Rinetzky},
  journal= {arXiv preprint arXiv:1801.04249},
  year   = {2018}
}