Pot:确定性事务执行
分布式、并行与集群计算
2016-12-23 v1
摘要
本文提出了 Pot,一种利用预序事务(preordered transactions)概念来实现使用事务内存(Transactional Memory)的程序的确定性多线程执行的系统。预序事务消除了事务执行中非确定性的根本原因:它们提供了以确定性串行顺序执行的假象,而不同于传统事务那样表现为每次执行顺序都可能变化的非确定性执行。Pot 使用了一种新的并发控制协议,该协议利用串行化顺序来区分快速和投机事务执行模式,以减轻施加确定性顺序的开销。我们构建了两个 Pot 原型:一个使用 STM,另一个使用现成的 HTM。据我们所知,Pot 首次实现了使用现成 HTM 的程序确定性执行。实验评估表明,Pot 以低开销实现了 TM 程序的确定性执行,有时甚至优于非确定性执行,且明显优于现有技术水平。
引用
@article{arxiv.1612.07702,
title = {Pot: Deterministic transactional execution},
author = {Tiago M. Vale and João A. Silva and Ricardo J. Dias and João M. Lourenço},
journal= {arXiv preprint arXiv:1612.07702},
year = {2016}
}
备注
Published in ACM Transactions on Architecture and Code Optimization (TACO) 13, 4