LogTM: Log-based
Transactional Memory
Tuesday May 16, 2006
Hamerschlag Hall 1112
4:00 pm
Mark
Hill
University of Wisconsin-Madison
TRANSACTIONAL MEMORY (TM) simplifies parallel programming by guaranteeing that transactions
appear to execute atomically and in isolation. Implementing these properties includes
providing data version management for the simultaneous storage of both new (visible if the
transaction commits) and old (retained if the transaction aborts) values. Most (hardware)
TM systems leave old values "in place" (the target memory address) and buffer new values
elsewhere until commit. This makes aborts fast, but penalizes (the much more frequent)
commits.
In this work, we present a new implementation of transactional memory, LOG-BASED
TRANSACTIONAL MEMORY (LogTM), that makes commits fast by storing old values to a per-thread
log in cacheable virtual memory and storing new values in place. LogTM makes two additional
contributions. First, LogTM extends a MOESI directory protocol to enable both fast conflict
detection on evicted blocks and fast commit (using lazy cleanup). Second, LogTM handles
aborts in (library) software with little performance penalty. Evaluations running micro-
and SPLASH-2 benchmarks on a 32-way multiprocessor support our decision to optimize for
commit by showing that only 1-2% of transactions abort.
MARK D. HILL is professor in both the computer sciences
department and the electrical and computer engineering department at the University of
Wisconsin-Madison, where he also co-leads the Wisconsin Multifacet project with David Wood. His research interests
include parallel computer system design, memory system design, and computer simulation. He
earned a PhD from University of California, Berkeley. He is an ACM Fellow and a Fellow of
the IEEE.
|