Concurrency Goes Mainstream:
What Will You Do with a 64-processor Laptop?

Michael L. Scott
Department of Computer Science
University of Rochester


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 are not!); 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.

Short Bio

Michael Scott has been a computer science professor at the University of Rochester since receiving his Ph.D. at Wisconsin in 1985. He is best known for work in synchronization and concurrency; algorithms from his group have 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 ACM's Edsger W. Dijkstra Prize and the University of Rochester's Goergen Teaching Award. He was recently named an ACM Fellow.

Colloquia Series page.