Steal-on-abort: Dynamic Transaction Reordering to Reduce Conflicts in Transactional Memory

msra(2008)

引用 24|浏览8
暂无评分
摘要
In Transactional Memory (TM) if any two concurrently ex- ecuting transactions perform conflicting data accesses, one of them is aborted. The transaction to be aborted is usu- ally selected by some form of contention manager. Aborted transactions waste computing resources, and reduce perfor- mance. Ideally, concurrent execution of transactions would be ordered to minimize aborts, but such an ordering is often either complex, or unfeasible, to obtain. This paper presents introduces a new technique called steal- on-abort, which aims to improve transaction ordering at run- time. When a transaction is aborted, it is typically restarted immediately. However, due to close temporal locality, the immediately restarted transaction may repeat its conflict with the same transaction that aborted it the first time, leading to another aborted transaction. In steal-on-abort, the aborted transaction is stolen by the non-aborted trans- action, and queued behind it, thus preventing the two trans- actions from conflicting again. Steal-on-abort operates at runtime, and requires no application- specific information or offline pre-processing. In this pa- per, steal-on-abort is considered for eager-validation TM systems, and evaluated using a sorted linked list, red-black tree, and STAMP-vacation with different contention man- agers. The evaluation reveals a range of improvements in throughput performance, and in the transactional metrics wasted work, and aborts-per-commit (APC).
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要