scispace - formally typeset
Search or ask a question
Topic

Transactional memory

About: Transactional memory is a research topic. Over the lifetime, 2365 publications have been published within this topic receiving 60818 citations.


Papers
More filters
Book ChapterDOI
03 Jan 2012
TL;DR: This paper presents an efficient on-line scheduler that implements Abort Shielded Consistency, a new correctness criterion that satisfies both all-reads-consistency and non-interference in Transactional Memory systems.
Abstract: A generally agreed upon requirement for correctness of concurrent executions in Transactional Memory systems is that all transactions including the aborted ones read consistent values. We denote this as all-reads-consistency. Opacity is a correctness criterion that satisfies the above requirement. A relevant property, which we call as non-interference, is that an aborted transaction should not affect the consistency of the transactions that are executed subsequently. This property is desirable in general and critical for closed nested transactions in the sense that the read steps of an aborted sub-transaction (that were executed before aborting) may make committing its top-level transaction impossible. Recently we proposed a new correctness criterion, Abort Shielded Consistency, that satisfies both all-reads-consistency and non-interference. In this paper, we present an efficient on-line scheduler that implements Abort Shielded Consistency. The scheduler is based on the notion of conflicts which have been appropriately defined for optimistic executions. The scheduler maintains a conflict-graph based on the events executed so far. An event is allowed to be executed only if it does not cause a cycle in the graph. The conflict-graph has separate components for each (parent) sub-transaction. Each component can be maintained autonomously at the site executing the sub-transaction and the checking can be done in a distributed manner.

6 citations

Proceedings ArticleDOI
16 May 2011
TL;DR: This paper introduces speculative contention avoidance (SCA), a technique built on the concept of contention locality, to prevent conflicts in Transactional memory (TM), and finds that contentions are highly predictable in TMs and exploit simple predictors which rely on history of transactions to speculate contentions.
Abstract: The well-known drawbacks of lock-based programming have forced researchers to explore new alternatives for parallel programming of which Transactional memory (TM) is a promising one. TM has been shown to scale well in multi-core processors when applications have data access patterns with a few conflicts. In contrast, if conflicts happen frequently in programs TM results in poor performance. In this paper, we introduce speculative contention avoidance (SCA) to prevent conflicts in TMs. SCA dynamically controls number of concurrently executing transactions and serializes those transactions that are likely to conflict. This technique is built on the concept of contention locality, which describes the likelihood that a previously aborted transaction fails again in the future. We find that contentions are highly predictable in TMs and exploit simple predictors which rely on history of transactions to speculate contentions. We have incorporated SCA into TL2 and compared the performance of the new implementation with the original STM using Stamp v0.9.7 benchmark suite. Our results show that SCA is highly effective at preventing contentions and significantly improves performance.

6 citations

Book ChapterDOI
10 Jun 1981
TL;DR: The duality of procedure-oriented and message-oriented approaches, where processes communicate via message channels, are considered and the relationship between a representative collection of such constructs is considered in the framework of transformational semantics.
Abstract: During the last years numerous constructs have been proposed for concurrent programming The relationship between a representative collection of such constructs is considered in the framework of transformational semantics In particular procedure-oriented versions, where processes communicate via synchronized or protected access to shared memory, as well as message-oriented approaches, where processes communicate via message channels, are considered The duality of these two concepts is outlined Moreover these constructs are compared to applicative constructs for concurrent programming such as data flow languages

6 citations

Proceedings ArticleDOI
16 Mar 2013
TL;DR: A general alias speculation scheme that leverages upcoming hardware support for transactions with the help of some ISA extensions is proposed that is shown to reduce program execution time by 9% in SPEC FP2006 applications and 3% inSPEC INT2006 applications over the alias analysis of a state-of-the-art compiler.
Abstract: Alias analysis is a critical component in many compiler optimizations. A promising approach to reduce the complexity of alias analysis is to use speculation. The approach consists of performing optimizations assuming the alias relationships that are true most of the time, and repairing the code when such relationships are found not to hold through runtime checks.This paper proposes a general alias speculation scheme that leverages upcoming hardware support for transactions with the help of some ISA extensions. The ability of transactions to checkpoint and roll back frees the compiler to pursue aggressive optimizations without having to worry about recovery code. Also, exposing the memory conflict detection hardware in transactions to software allows runtime checking of aliases with little or no overhead. We test the potential of the novel alias speculation approach with Loop Invariant Code Motion (LICM), Global Value Numbering (GVN), and Partial Redundancy Elimination (PRE) optimization passes. On average, they are shown to reduce program execution time by 9% in SPEC FP2006 applications and 3% in SPEC INT2006 applications over the alias analysis of a state-of-the-art compiler.

6 citations

Proceedings ArticleDOI
19 Mar 2018
TL;DR: This paper makes speculative parallelization less laborious and more feasible through low-overhead speculation validation, presenting the first complete design, implementation, and evaluation of hardware MTXs.
Abstract: Speculation with transactional memory systems helps pro- grammers and compilers produce profitable thread-level parallel programs. Prior work shows that supporting transactions that can span multiple threads, rather than requiring transactions be contained within a single thread, enables new types of speculative parallelization techniques for both programmers and parallelizing compilers. Unfortunately, software support for multi-threaded transactions (MTXs) comes with significant additional inter-thread communication overhead for speculation validation. This overhead can make otherwise good parallelization unprofitable for programs with sizeable read and write sets. Some programs using these prior software MTXs overcame this problem through significant efforts by expert programmers to minimize these sets and optimize communication, capabilities which compiler technology has been unable to equivalently achieve. Instead, this paper makes speculative parallelization less laborious and more feasible through low-overhead speculation validation, presenting the first complete design, implementation, and evaluation of hardware MTXs. Even with maximal speculation validation of every load and store inside transactions of tens to hundreds of millions of instructions, profitable parallelization of complex programs can be achieved. Across 8 benchmarks, this system achieves a geomean speedup of 99% over sequential execution on a multicore machine with 4 cores.

6 citations


Network Information
Related Topics (5)
Compiler
26.3K papers, 578.5K citations
87% related
Cache
59.1K papers, 976.6K citations
86% related
Parallel algorithm
23.6K papers, 452.6K citations
84% related
Model checking
16.9K papers, 451.6K citations
84% related
Programming paradigm
18.7K papers, 467.9K citations
83% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
202316
202240
202129
202063
201970
201888