Affiliation:
1. Stanford University, Stanford, CA, USA
2. HICAMP Systems, Menlo Park, CA, USA
Abstract
Transactional memory represents an attractive conceptual model for programming concurrent applications. Unfortunately, high transaction abort rates can cause significant performance degradation. Conventional transactional memory realizations not only pessimistically abort transactions on every read-write conflict but also because of false sharing, cache evictions, TLB misses, page faults and interrupts. Consequently, the use of transactions needs to be restricted to a very small number of operations to achieve predictable performance, thereby, limiting its benefit to programming simplification. In this paper, we investigate snapshot isolation transactional memory in which transactions operate on memory snapshots that always guarantee consistent reads. By exploiting snapshots, an established database model of transactions, transactions can ignore read-write conflicts and only need to abort on write-write conflicts. Our implementation utilizes a memory controller that supports multiversion memory, to efficiently support snapshotting in hardware.We show that snapshot isolation can reduce the number of aborts in some cases by three orders of magnitude and improve performance by up to 20x.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference60 articles.
1. A.R. Adl-Tabatabai and T. Shpeisman. Draft specification of transactional language constructs for c A.R. Adl-Tabatabai and T. Shpeisman. Draft specification of transactional language constructs for c
2. Unbounded Transactional Memory
3. Steal-on-Abort: Improving Transactional Memory Performance through Dynamic Transaction Reordering
4. Hardware Support for Relaxed Concurrency Control in Transactional Memory
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献