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
01 Jan 2009
TL;DR: It is demonstrated that explicit speculation improves the performance of dynamic language implementations on existing managed runtimes by speculatively executing dynamic language code with a common case interpretation of the language semantics, and how this can guarantee speculative optimization correctness in an unmanaged dynamic language runtime by utilizing additional hardware support for fine-grain memory protection.
Abstract: While dynamic languages are now mainstream choices for application development, most popular dynamic languages are primarily executed by interpreters whose performance and capabilities restrict their wider application. The only successful remedy for these limitations has been dynamic optimization infrastructures developed specifically for each language. Building such infrastructures is a substantial undertaking. This dissertation presents explicit software speculation, which encloses common or expected case code in atomic regions. A best-effort hardware transactional memory executes a region speculatively when specified assumptions, or correctness constraints, permit. When an assumption becomes invalid, the hardware and runtime software transition to corresponding nonspeculative, fallback code which executes correctly, albeit more slowly, under all circumstances. I demonstrate that explicit speculation improves the performance of dynamic language implementations on existing managed runtimes by speculatively executing dynamic language code with a common case interpretation of the language semantics. I implement a variety of optimizations at a high level, maintaining correct execution without requiring the sophisticated static analysis, language-specific runtime profiling infrastructure or potentially intricate, low-level recovery code that would be otherwise necessary. In addition, I explore how explicit speculation can guarantee speculative optimization correctness in an unmanaged dynamic language runtime by utilizing additional hardware support for fine-grain memory protection.

5 citations

Proceedings ArticleDOI
28 Jul 2011
TL;DR: This paper validates the EDRT through 5 test programs, including 4 SPLASH-2 benchmarks, and shows that, the average error detecting cost is about 3.68% relative to the whole program, and it's only about 12.07%relative to the transaction parts of the program.
Abstract: This paper addresses the issue of error detection in transactional memory, and proposes a new method of error detection based on redundant transaction (EDRT). This method creates a transaction copy for every transaction, and executes both original transactions and transaction copies on adequate processor cores, and achieves error detection by comparing the execution results. EDRT utilizes the data-versioning mechanism of transactional memory to achieve the acquisition of an approximate minimum error detection comparing data set, and the acquisition is transparent and online. At last, this paper validates the EDRT through 5 test programs, including 4 SPLASH-2 benchmarks. The experimental results show that, the average error detecting cost is about 3.68% relative to the whole program, and it's only about 12.07% relative to the transaction parts of the program.

5 citations

Journal ArticleDOI
TL;DR: The main goal of APUTM is to understand the trade-offs of implementing a software TM on such platform, and it is shown that it is able to outperform sequential execution of the applications.
Abstract: The heterogeneous accelerated processing units (APUs) integrate a multi-core CPU and a GPU within the same chip. Modern APUs implement CPU–GPU platform atomics for simple data types. However, ensuring atomicity for complex data types is a task delegated to programmers. Transactional memory (TM) is an optimistic approach to achieve this goal. With TM, shared data can be accessed by multiple computing threads speculatively, but changes are only visible if a transaction ends with no conflict with others in its memory accesses. In this paper we present APUTM, a software TM designed for APU processors which focuses on minimizing the access to shared metadata. The main goal of APUTM is to understand the trade-offs of implementing a software TM on such platform. In our experiments, APUTM is able to outperform sequential execution of the applications. Additionally, we compare its adaptability to execute in one of the devices or in both simultaneously.

5 citations

Journal ArticleDOI
TL;DR: This paper discusses how to support revertible operations, such as memory allocation and release, within software libraries that will be used in software memory transactional contexts through the extension of the transaction life cycle state diagram.
Abstract: Software transactional memory is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to main memory (RAM). This paper discusses how to support revertible operations, such as memory allocation and release, within software libraries that will be used in software memory transactional contexts. The proposal is based in the extension of the transaction life cycle state diagram with new states associated to the execution of user-defined handlers. The proposed approach is evaluated in terms of functionality and performance by way of a use case study and performance tests. Results demonstrate that the proposal and its current implementation are flexible, generic and efficient. .

5 citations

Book ChapterDOI
30 Jul 2009
TL;DR: This paper describes the software architecture of the object sharing service and design decisions including transactional consistency and peer-to-peer net- work structure, and presents preliminary evaluation results analyzing lower-bound transaction-overhead using a parallel raytracing application.
Abstract: In-memory data sharing for grids allow location-transparent access to data stored in volatile memory. Existing Grid middlewares typ- ically support only explicit data transfer between Grid nodes. We be- lieve that Grid systems benefit from complementing traditional message- passing techniques with a data-oriented sharing technique. The latter includes automatic replica management, data consistency, and location- transparent access. As a proof of concept, we are implementing a POSIX- compatible object sharing service as part of the EU-funded XtreemOS project, which builds a Linux-based Grid operating system. In this paper we describe the software architecture of the object sharing service and design decisions including transactional consistency and peer-to-peer net- work structure. We also present preliminary evaluation results analyzing lower-bound transaction-overhead using a parallel raytracing application.

5 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