Monday, October 30, 2006
11:00 AM
CSB 209
Michael L. Scott
U. Rochester
Concurrency Goes Mainstream: What Will You Do with a 64-Processor Laptop?
Thirty years of improvements in the speed of conventional microprocessors have recently come to an end. All the major hardware vendors are now focusing on multithreaded and multicore machines, which have multiple processors per chip. Unfortunately, to obtain improved performance on such machines, programmers will need to employ concurrent programming techniques previously confined to Internet servers and high-end scientific computing. The result is an impending crisis in the software community: anecdotal evidence suggests that most programmers simply aren't up to the task. After summarizing the technological trends that have forced the move to multithreaded and multicore chips, this talk will consider which sorts of applications are amenable to concurrent programming (and which aren't!); why concurrent programming is so difficult; and what we may be able to do about it. Part of the solution is likely to lie in transactional memory, a set of hardware and software mechanisms that simplify synchronization among multiple threads of control.

Prof. Scott's research interests span operating systems, programming languages, and high-level hardware design, with a particular emphasis on parallel and distributed computing. His work has been incorporated into several commercial operating systems and the standard library of the Java programming language. The second edition of his textbook, Programming Language Pragmatics was published in 2005. He is a recipient of the 2006 Edsger W. Dijkstra Prize (the highest honor conferred in the theory of distributed computing) and the University of Rochester's 2001 Goergen Teaching Award.