Demo Data from EDBT 2026 / reviewers in the wild / expert
Austen McDonald
dblp:90/6309
· DBLP profile ↗
11ranked-venue papers
1as first author
0since 2021 · last 2008
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 1 first-authorSoftware engineering, systems software and programming languages · 5 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
5 papers |
Parallel and multicore computing · 57% Memory systems · 21% Processor architecture and microarchitecture · 14% | |
| Software engineering, system software, and programming languages
5 papers |
Concurrent programming · 96% Programming languages and type systems · 4% |
Topics — the 17 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
transactional memory |
0.3 | 5 | 2007 | Transactional collection classes · PPoPP 2007 A Scalable, Non-blocking Approach to Transactional Memory · HPCA 2007 The Atomos transactional programming language · PLDI 2006 |
Parallel and multicore computing
transactional memory |
0.2 | 3 | 2007 | An effective hybrid transactional memory system with strong isolation guarantees · ISCA 2007 Architectural Semantics for Practical Transactional Memory · ISCA 2006 Tradeoffs in transactional memory virtualization · ASPLOS 2006 |
Concurrent programming › concurrency control
optimistic concurrency control |
0.1 | 1 | 2007 | A Scalable, Non-blocking Approach to Transactional Memory · HPCA 2007 |
Concurrent programming
synchronization |
0.1 | 1 | 2007 | Transactional collection classes · PPoPP 2007 |
Memory systems › cache coherence
directory-based coherence |
0.1 | 1 | 2007 | A Scalable, Non-blocking Approach to Transactional Memory · HPCA 2007 |
Memory systems › shared memory
distributed shared memory |
0.1 | 1 | 2007 | A Scalable, Non-blocking Approach to Transactional Memory · HPCA 2007 |
Parallel and multicore computing › transactional memory
hybrid transactional memory |
0.1 | 1 | 2007 | An effective hybrid transactional memory system with strong isolation guarantees · ISCA 2007 |
Parallel and multicore computing
synchronization |
0.1 | 1 | 2007 | An effective hybrid transactional memory system with strong isolation guarantees · ISCA 2007 |
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.1 | 1 | 2006 | Tradeoffs in transactional memory virtualization · ASPLOS 2006 |
Processor architecture and microarchitecture
instruction set architecture |
0.1 | 1 | 2006 | Architectural Semantics for Practical Transactional Memory · ISCA 2006 |
Distributed systems › transaction processing
nested transactions |
0.1 | 1 | 2006 | Architectural Semantics for Practical Transactional Memory · ISCA 2006 |
Processor architecture and microarchitecture
multicore design |
0.0 | 1 | 2007 | An effective hybrid transactional memory system with strong isolation guarantees · ISCA 2007 |
Processor architecture and microarchitecture › multithreading
multithreaded core |
0.0 | 1 | 2007 | An effective hybrid transactional memory system with strong isolation guarantees · ISCA 2007 |
Parallel and multicore computing › multiprocessor system › distributed-memory multiprocessor
NUMA systems |
0.0 | 1 | 2007 | A Scalable, Non-blocking Approach to Transactional Memory · HPCA 2007 |
Parallel and multicore computing
shared data structures |
0.0 | 1 | 2007 | Transactional collection classes · PPoPP 2007 |
Programming languages and type systems
language design |
0.0 | 1 | 2006 | The Atomos transactional programming language · PLDI 2006 |
Memory systems › memory management
virtual memory |
0.0 | 1 | 2006 | Tradeoffs in transactional memory virtualization · ASPLOS 2006 |
Methods — techniques the papers use, named apart from their topics
transactional memory · 0.1performance evaluation · 0.1data structure wrapping · 0.1execution-driven simulation · 0.1software versioning · 0.1hardware signatures · 0.1virtual memory support · 0.1transactional memory violation handlers · 0.1source code analysis · 0.1snapshot-based interference detection · 0.1page-granularity buffering · 0.1open-nested transactions · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | Improving software concurrency with hardware-assisted memory snapshotabstractWe propose a hardware-assisted memory snapshot to improve software concurrency. It is built on top of the hardware resources for transactional memory and allows for easy development of system software modules such as concurrent garbage collector and dynamic profiler. JaeWoong Chung, Jiwon Seo 0002, Woongki Baek, Chi Cao Minh, Austen McDonald, Christoforos E. Kozyrakis, Kunle Olukotun |
SPAA | 5 |
| 2007 | A Scalable, Non-blocking Approach to Transactional MemoryabstractTransactional memory (TM) provides mechanisms that promise to simplify parallel programming by eliminating the need for locks and their associated problems (deadlock, livelock, priority inversion, convoying). For TM to be adopted in the long term, not only does it need to deliver on these promises, but it needs to scale to a high number of processors. To date, proposals for scalable TM have relegated livelock issues to user-level contention managers. This paper presents the first scalable TM implementation for directory-based distributed shared memory systems that is livelock free without the need for user-level intervention. The design is a scalable implementation of optimistic concurrency control that supports parallel commits with a two-phase commit protocol, uses write-back caches, and filters coherence messages. The scalable design is based on transactional coherence and consistency (TCC), which supports continuous transactions and fault isolation. A performance evaluation of the design using both scientific and enterprise benchmarks demonstrates that the directory-based TCC design scales efficiently for NUMA systems up to 64 processors Hassan Chafi, Jared Casper, Brian D. Carlstrom, Austen McDonald, Chi Cao Minh, Woongki Baek, Christoforos E. Kozyrakis, Kunle Olukotun |
HPCA | 4 |
| 2007 | An effective hybrid transactional memory system with strong isolation guaranteesabstractWe propose signature-accelerated transactional memory (SigTM), a hybrid TM system that reduces the overhead of software transactions. SigTM uses hardware signatures to track the read-set and write-set for pending transactions and perform conflict detection between concurrent threads. All other transactional functionality, including data versioning, is implemented in software. Unlike previously proposed hybrid TM systems, SigTM requires no modifications to the hardware caches, which reduces hardware cost and simplifies support for nested transactions and multithreaded processor cores. SigTM is also the first hybrid TM system to provide strong isolation guarantees between transactional blocks and nontransactional accesses without additional read and write barriers in non-transactional code. Using a set of parallel programs that make frequent use of coarsegrain transactions, we show that SigTM accelerates software transactions by 30 % to 280%. For certain workloads, SigTM can match the performance of a full-featured hardware TM system, while for workloads with large read-sets it can be up to two times slower. Overall, we show that SigTM combines the performance characteristics and strong isolation guarantees of hardware TM implementations with the low cost and flexibility of software TM systems. Chi Cao Minh, Martin Trautmann, JaeWoong Chung, Austen McDonald, Nathan Bronson, Jared Casper, Christoforos E. Kozyrakis, Kunle Olukotun |
ISCA | 4 |
| 2007 | Transactional collection classesabstractWhile parallel programmers find it easier to reason about large atomic regions, the conventional mutual exclusion-based primitives for synchronization force them to interleave many small operations to achieve performance. Transactional memory promises that programmer scan use large atomic regions while achieving similar performance. However, these large transactions can conflict when operating on shared data structures, even for logically independent operations. Transactional collection classes address this problem by allowing long-running transactions to operate on shared data while eliminating unnecessary conflicts. Transactional collection classes wrap existing data structures, without the need for custom implementations or knowledge of data structure internals. Brian D. Carlstrom, Austen McDonald, Michael Carbin, Christoforos E. Kozyrakis, Kunle Olukotun |
PPoPP | 2 |
| 2006 | Testing implementations of transactional memoryabstractTransactional memory is an attractive design concept for scalable multiprocessors because it offers efficient lock-free synchronization and greatly simplifies parallel software. Given the subtle issues involved with concurrency and atomicity, however, it is important that transactional memory systems be carefully designed and aggressively tested to ensure their correctness. In this paper, we propose an axiomatic framework to model the formal specification of a realistic transactional memory system which may contain a mix of transactional and non-transactional operations. Using this framework and extensions to analysis algorithms originally developed for checking traditional memory consistency, we show that the widely practiced pseudo-random testing methodology can be effectively applied to transactional memory systems. Our testing methodology was successful in finding previously unknown bugs in the implementation of TCC, a transactional memory system. We study two flavors of the underlying analysis algorithm, one incomplete and the other complete, and show that the complete algorithm while being theoretically intractable is very efficient in practice. Chaiyasit Manovit, Sudheendra Hangal, Hassan Chafi, Austen McDonald, Christoforos E. Kozyrakis, Kunle Olukotun |
PACT | 4 |
| 2006 | Tradeoffs in transactional memory virtualizationabstractFor transactional memory (TM) to achieve widespread acceptance, transactions should not be limited to the physical resources of any specific hardware implementation. TM systems should guarantee correct execution even when transactions exceed scheduling quanta, overflow the capacity of hardware caches and physical memory, or include more independent nesting levels than what is supported in hardware. Existing proposals for TM virtualization are either incomplete or rely on complex hardware implementations, which are an overkill if virtualization is invoked infrequently in the common case.We present eXtended Transactional Memory (XTM), the first TM virtualization system that virtualizes all aspects of transactional execution (time, space, and nesting depth). XTM is implemented in software using virtual memory support. It operates at page granularity, using private copies of overflowed pages to buffer memory updates until the transaction commits and snapshots of pages to detect interference between transactions. We also describe two enhancements to XTM that use limited hardware support to address key performance bottlenecks.We compare XTM to hardwarebased virtualization using both real applications and synthetic microbenchmarks. We show that despite being software-based, XTM and its enhancements are competitive with hardware-based alternatives. Overall, we demonstrate that XTM provides a complete, flexible, and low-cost mechanism for practical TM virtualization. JaeWoong Chung, Chi Cao Minh, Austen McDonald, Travis Skare, Hassan Chafi, Brian D. Carlstrom, Christoforos E. Kozyrakis, Kunle Olukotun |
ASPLOS | 3 |
| 2006 | The common case transactional behavior of multithreaded programsabstractTransactional memory (TM) provides an easy-to-use and high-performance parallel programming model for the upcoming chip-multiprocessor systems. Several researchers have proposed alternative hardware and software TM implementations. However, the lack of transaction-based programs makes it difficult to understand the merits of each proposal and to tune future TM implementations to the common case behavior of real application. This work addresses this problem by analyzing the common case transactional behavior for 35 multithreaded programs from a wide range of application domains. We identify transactions within the source code by mapping existing primitives for parallelism and synchronization management to transaction boundaries. The analysis covers basic characteristics such as transaction length, distribution of read-set and write-set size, and the frequency of nesting and I/O operations. The measured characteristics provide key insights into the design of efficient TM systems for both non-blocking synchronization and speculative parallelization. JaeWoong Chung, Hassan Chafi, Chi Cao Minh, Austen McDonald, Brian D. Carlstrom, Christoforos E. Kozyrakis, Kunle Olukotun |
HPCA | 4 |
| 2006 | Architectural Semantics for Practical Transactional MemoryabstractTransactional Memory (TM) simplifies parallel programming by allowing for parallel execution of atomic tasks. Thus far, TM systems have focused on implementing transactional state buffering and conflict resolution. Missing is a robust hardware/software interface, not limited to simplistic instructions defining transaction boundaries. Without rich semantics, current TM systems cannot support basic features of modern programming languages and operating systems such as transparent library calls, conditional synchronization, system calls, I/O, and runtime exceptions. This paper presents a comprehensive instruction set architecture (ISA) for TM systems. Our proposal introduces three key mechanisms: two-phase commit; support for software handlers on commit, violation, and abort; and full support for open- and closed-nested transactions with independent rollback. These mechanisms provide a flexible interface to implement programming language and operating system functionality. We also show that these mechanisms are practical to implement at the ISA and microarchitecture level for various TM systems. Using an execution-driven simulation, we demonstrate both the functionality (e.g., I/O and conditional scheduling within transactions) and performance potential (2.2× improvement for SPECjbb2000) of the proposed mechanisms. Overall, this paper establishes a rich and efficient interface to foster both hardware and software research on transactional memory. Austen McDonald, JaeWoong Chung, Brian D. Carlstrom, Chi Cao Minh, Hassan Chafi, Christoforos E. Kozyrakis, Kunle Olukotun |
ISCA | 1 |
| 2006 | The Atomos transactional programming languageabstractAtomos 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. Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong Chung, Chi Cao Minh, Christoforos E. Kozyrakis, Kunle Olukotun |
PLDI | 2 |
| 2006 | Executing Java programs with transactional memory
Brian D. Carlstrom, JaeWoong Chung, Hassan Chafi, Austen McDonald, Chi Cao Minh, Lance Hammond, Christoforos E. Kozyrakis, Kunle Olukotun |
Sci. Comput. Program. | 4 |
| 2005 | TAPE: a transactional application profiling environmentabstractTransactional Coherence and Consistency (TCC) provides a new parallel programming model that uses transactions as the basic unit of parallel work and communication. TCC simplifies the development of correct parallel code because hardware provides transaction atomicity and ordering. Nevertheless, the programmer or a dynamic compiler must still optimize the parallel code for performance.This paper presents TAPE, a hardware and software infrastructure for profiling in TCC systems. TAPE extends the hardware for transactional execution to identify performance impediments such as dependence violations, buffer overflows, and work imbalance. It filters infrequent events to reduce resource requirements and allows the programmer to focus on the most important bottlenecks. We demonstrate that TAPE introduces minimal die area and performance overhead and can be used continuously, even for production runs. Moreover, we demonstrate how to leverage the profiling information to guide optimization for a set of parallel applications. TAPE accurately identifies the source code location and type of the most important bottlenecks, allowing a programmer to achieve maximum parallel speedup with a few profiling steps. Hassan Chafi, Chi Cao Minh, Austen McDonald, Brian D. Carlstrom, JaeWoong Chung, Lance Hammond, Christoforos E. Kozyrakis, Kunle Olukotun |
ICS | 3 |