Login
Computer Science @ Rochester
Wednesday, April 25, 2007
1:00 PM
601 CSB
Ph.D. Thesis Proposal
Michael Spear
University of Rochester
"Fast Software Transactions"
Transactional Memory (TM) permits imperative code to interact with main memory much like a database: Programmers specify that blocks of code are to execute transactionally, and a TM runtime ensures atomicity, isolation, and consistency while exploiting whatever parallelism is available. Unfortunately, many current software TMs are too slow (often an order of magnitude slower than mutual exclusion locks at one thread), and the overheads and tradeoffs involved in designing a correct, fast TM runtime are not well understood.

In this proposal I review the development of TM systems, focusing on pure-software runtimes, and describe the contributions I have made thus far in order to characterize the costs of executing software transactions. These contributions include the development of two pure-software TM libraries (one is obstruction-free, the other uses locks), a lightweight heuristic for speeding any software TM, hardware extensions for accelerating a software TM, and an exploration of the runtime support necessary to enable concurrent transactional and nontransactional operation on shared data. Lastly, I propose new research directions that will aid in understanding the tradeoffs in software TM design, specifically focusing on algorithms for reducing the overheads of software TM, programming models that speed TM and increase its generality, the role of contention management, interaction with locks, and hardware and operating-system support.