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 …
difficult to parallelize manually. Automatic tools and techniques such as restructuring …
Bulk disambiguation of speculative threads in multiprocessors
Transactional Memory (TM), Thread-Level Speculation (TLS), and Checkpointed
multiprocessors are three popular architectural techniques based on the execution of …
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 …
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 …
implementing object-based software transactional memory (STM). The library uses …
Adaptive transaction scheduling for transactional memory systems
Transactional memory systems are expected to enable parallel programming at lower
programming complexity, while delivering improved performance over traditional lock-based …
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 …
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 …
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 …
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 …
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 …
scalable multiprocessor implementation. Atomos is derived from Java, but replaces its …