Skip to the content of the web site.

Dr. Greg Steffan

Speaker:
Dr. Greg Steffan
University of Toronto

Title:
Nice Threads! Where did you get them? On Optimistic Parallelism

Date:
Monday, February 2, 2009

Time:
4:00 pm - 5:00 pm

Location:
EIT 3142

Abstract:
The microprocessor technology road-map predicts a future with tens to hundreds of processors per chip and beyond, but with limited clock frequency improvements and potentially simpler individual processors. Faced with the corresponding demise of sequential program performance, the software industry is compelled to parallelize existing software by introducing threads and synchronization to target these multicore processors. The difficulty is that the vast majority of programmers are trained only in sequential programming, and do not understand the pitfalls and subtleties of threaded programming.

In this talk I will provide an overview of two potential solutions to this problem that exploit "optimistic parallelism". The first approach, inspired by database transactions, is called "transactional memory" (TM). TM provides an easier, optimistic alternative to locks for critical sections---allowing programmers to avoid deadlock and fine-tuning when synchronizing code, and also allowing critical sections to execute in parallel whenever they operate on independent data. TM can be supported entirely in software (with significant overhead), or ideally accelerated by hardware support. TM has become very popular in academia, with dozens of research projects including several at Intel, IBM, and SUN labs, and the first real hardware support recently announced by SUN. I will also describe a second more-aggressive approach to optimistic parallelism called "thread-level speculation" (TLS), where legacy programs are automatically divided into threads that execute speculatively, exploiting available dynamic parallelism. TLS has also proven popular in academic and industrial research, but has yet to be directly implemented in commercial hardware.

Biography:
Greg Steffan is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Toronto. His expertise is in computer architecture and compilers, and his research currently targets methods of exploiting parallelism in multicore processors and FPGAs. Greg completed his doctorate at Carnegie Mellon University in 2003, after undergraduate and Masters degrees at the University of Toronto in 1995 and 1997 respectively. He is a recipient of the Ontario Ministry of Research and Innovation Early Researcher Award Award (2007), a Siebel Scholar (2002), an IBM CAS Faculty Fellow, a senior member of the IEEE, and a member of the ACM.