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
Journal ArticleDOI
TL;DR: An alternative specification to SI is given that characterises it in terms of transactional dependency graphs of Adya et al., generalising serialisation graphs, and does not require adding additional information to dependency graphs about start and commit points of transactions.
Abstract: Snapshot isolation (SI) is a widely used consistency model for transaction processing, implemented by most major databases and some of transactional memory systems Unfortunately, its classical definition is given in a low-level operational way, by an idealised concurrency-control algorithm, and this complicates reasoning about the behaviour of applications running under SI We give an alternative specification to SI that characterises it in terms of transactional dependency graphs of Adya et al, generalising serialisation graphs Unlike previous work, our characterisation does not require adding additional information to dependency graphs about start and commit points of transactions We then exploit our specification to obtain two kinds of static analyses The first one checks when a set of transactions running under SI can be chopped into smaller pieces without introducing new behaviours, to improve performance The other analysis checks whether a set of transactions running under a weakening of SI behaves the same as when running under SI

21 citations

Proceedings ArticleDOI
09 Jul 2007
TL;DR: From the experience with porting and extending a specific STM engine, some of the bugs found are reported and some testing patterns that proved to be useful at testing STM engines are synthesized.
Abstract: The emergence of multi-core processors is promoting the use of concurrency and multithreading. To raise the abstraction level of synchronization constructs is fundamental to ease the development of concurrent software, and Software Transactional Memory (STM) is a good approach towards such goal. However, execution environment issues such as the processor instruction set, caching policy, and memory model, may have strong influence upon the reliability of STM engines. This paper addresses the testing of STM engines aiming at improving their reliability and independence from execution environment. From our experience with porting and extending a specific STM engine, we report on some of the bugs found and synthesize some testing patterns that proved to be useful at testing STM engines.

21 citations

Journal ArticleDOI
TL;DR: Transactional memory (TM) is a promising paradigm for concurrent programming, however, little research has been conducted to precisely define TM.
Abstract: Transactional memory (TM) is a promising paradigm for concurrent programming. Whereas the number of TM implementations is growing, however, little research has been conducted to precisely define TM...

21 citations

Book ChapterDOI
27 Mar 2009
TL;DR: This work describes a run-time checking tool (analogous to a data-race detector) that can test whether or not a program is using DS operations correctly, and shows how to guarantee strong semantics for programs that use these DS operations properly, even over an STM implementation that provides only weak atomicity.
Abstract: We introduce the design and implementation of dynamic separation (DS) as a programming discipline for using transactional memory Our approach is based on the programmer indicating which objects can be updated in transactions, which can be updated outside transactions, and which are read-only We introduce explicit operations that identify transitions between these modes of access We show how to guarantee strong semantics for programs that use these DS operations correctly, even over an STM implementation that provides only weak atomicity We describe a run-time checking tool (analogous to a data-race detector) that can test whether or not a program is using DS operations correctly We also examine the use of DS in an asynchronous IO library

21 citations

Book ChapterDOI
12 Oct 2014
TL;DR: One of the main challenges in stating the correctness of transactional memory (TM) systems is the need to provide guarantees on the system state observed by live transactions, i.e., those that have not yet committed or aborted.
Abstract: One of the main challenges in stating the correctness of transactional memory (TM) systems is the need to provide guarantees on the system state observed by live transactions, i.e., those that have not yet committed or aborted. A TM correctness condition should be weak enough to allow flexibility in implementation, yet strong enough to disallow undesirable TM behavior, which can lead to run-time errors in live transactions. The latter feature is formalized by observational refinement between TM implementations, stating that properties of a program using a concrete TM implementation can be established by analyzing its behavior with an abstract TM, serving as a specification of the concrete one.

21 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