Founded in 1966

Distinguished Lecturer Series

Transactional Memory: The Surprising Complexity of a Simple Idea

Michael Scott

Professor, Department of Computer Science, University of Rochester

Friday, November 7, 2008
10:30am - SENSQ 5317

Refreshments/meet the speaker at 10:00am

Hosted by Bruce Childers

Abstract

With the proliferation of multicore processors, there is an increasingly urgent need to simplify the creation of parallel programs. Many recent hopes have been pinned on the promise of transactional memory (TM). In a TM-capable language, the programmer labels sections of code that need to execute atomically, and the underlying implementation attempts to run the transactions of different threads in parallel whenever possible, presumably by means of speculation and rollback.

TM is intended to replace traditional lock-based synchronization. To first approximation, it should combine the simplicity of a single global lock on atomic actions with the concurrency of many fine-grain locks. Unfortunately, recent work has revealed a host of semantic complications. Some of these arise from unanticipated programming idioms, some from attempts to improve the performance of candidate implementations, and others from combinations of the two. This talk will survey the state of the art and explore the prospects for a two-layered semantics, in which simple programs are easy to explain and more complicated issues arise only in program components written by concurrency experts.

Biography of Speaker

Michael L. Scott is a Professor and past Chair of the Department of Computer Science at the University of Rochester. He received his Ph.D. from the University of Wisconsin-Madison in 1985. His research interests span operating systems, languages, architecture, and tools, with a particular emphasis on parallel and distributed systems. He is best known for work in synchronization algorithms and concurrent data structures, in recognition of which he shared the 2006 SIGACT/SIGOPS Edsger W. Dijkstra Prize.

Other widely cited work has addressed parallel operating systems and file systems, software distributed shared memory, and energy-conscious operating systems and microarchitecture.

His textbook on programming language design and implementation (Programming Language Pragmatics, second edition, Morgan Kaufmann, Nov. 2005) has become a standard in the field. In 2003 he served as General Chair for SOSP more recently he has been Program Chair for TRANSACT'07 and PPoPP'08. In 2001 he received the University of Rochester's Robert and Pamela Goergen Award for Distinguished Achievement and Artistry in Undergraduate Teaching.

You are using an older browser that does not support current Web standards. Although this site is viewable in all browsers, it will look much better in a browser that supports Web standards.