Optimistic parallelism requires abstractions

M Kulkarni, K Pingali, B Walter… - Proceedings of the 28th …, 2007 - dl.acm.org
Irregular applications, which manipulate large, pointer-based data structures like graphs, are
difficult to parallelize manually. Automatic tools and techniques such as restructuring …

Bulk disambiguation of speculative threads in multiprocessors

L Ceze, J Tuck, J Torrellas, C Cascaval - ACM SIGARCH Computer …, 2006 - dl.acm.org
Transactional Memory (TM), Thread-Level Speculation (TLS), and Checkpointed
multiprocessors are three popular architectural techniques based on the execution of …

Compiler and runtime support for efficient software transactional memory

AR Adl-Tabatabai, BT Lewis, V Menon… - ACM SIGPLAN …, 2006 - dl.acm.org
Programmers have traditionally used locks to synchronize concurrent access to shared data.
Lock-based synchronization, however, has well-known pitfalls: using locks for fine-grain …

A flexible framework for implementing software transactional memory

M Herlihy, V Luchangco, M Moir - ACM Sigplan Notices, 2006 - dl.acm.org
We describe DSTM2, a Java™ software library that provides a flexible framework for
implementing object-based software transactional memory (STM). The library uses …

Adaptive transaction scheduling for transactional memory systems

RM Yoo, HHS Lee - Proceedings of the twentieth annual symposium on …, 2008 - dl.acm.org
Transactional memory systems are expected to enable parallel programming at lower
programming complexity, while delivering improved performance over traditional lock-based …

Architectural semantics for practical transactional memory

A McDonald, JW Chung, BD Carlstrom… - ACM SIGARCH …, 2006 - dl.acm.org
Transactional Memory (TM) simplifies parallel programming by allowing for parallel
execution of atomic tasks. Thus far, TM systems have focused on implementing transactional …

Supporting nested transactional memory in LogTM

MJ Moravan, J Bobba, KE Moore, L Yen… - ACM SIGARCH …, 2006 - dl.acm.org
Nested transactional memory (TM) facilitates software composition by letting one module
invoke another without either knowing whether the other uses transactions. Closed nested …

Open nesting in software transactional memory

Y Ni, VS Menon, AR Adl-Tabatabai… - Proceedings of the 12th …, 2007 - dl.acm.org
Transactional memory (TM) promises to simplify concurrent programming while providing
scalability competitive to fine-grained locking. Language-based constructs allow …

Versioned boxes as the basis for memory transactions

J Cachopo, A Rito-Silva - Science of Computer Programming, 2006 - Elsevier
In this paper, we propose the use of Versioned Boxes, which keep a history of values, as the
basis for language-level memory transactions. Unlike previous work on software …

The Atomos transactional programming language

BD Carlstrom, A McDonald, H Chafi… - Proceedings of the 27th …, 2006 - dl.acm.org
Atomos is the first programming language with implicit transactions, strong atomicity, and a
scalable multiprocessor implementation. Atomos is derived from Java, but replaces its …