Abstract
Atomos is the first programming language with implicit transactions, strong atomicity, and a scalable multiprocessor implementation. Atomos is derived from Java, but replaces its synchronization and conditional waiting constructs with simpler transactional alternatives.The Atomos watch statement allows programmers to specify fine-grained watch sets used with the Atomos retry conditional waiting statement for efficient transactional conflict-driven wakeup even in transactional memory systems with a limited number of transactional contexts. Atomos supports
open-nested transactions
, which are necessary for building both scalable application programs and virtual machine implementations.The implementation of the Atomos scheduler demonstrates the use of open nesting within the virtual machine and introduces the concept of transactional memory violation handlers that allow programs to recover from data dependency violations without rolling back.Atomos programming examples are given to demonstrate the usefulness of transactional programming primitives. Atomos and Java are compared through the use of several benchmarks. The results demonstrate both the improvements in parallel programming ease and parallel program performance provided by Atomos.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Composable Memory Transactions for Java Using a Monadic Intermediate Language;Programming Languages;2015
2. Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing;Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control;2014-10-20
3. Verification of Transactional Memory in POWER8;Proceedings of the The 51st Annual Design Automation Conference on Design Automation Conference - DAC '14;2014
4. Reusable Concurrent Data Types;ECOOP 2014 – Object-Oriented Programming;2014
5. On Closed Nesting and Checkpointing in Fault-Tolerant Distributed Transactional Memory;2013 IEEE 27th International Symposium on Parallel and Distributed Processing;2013-05