Timothy G. Mattson
Intel
Many core processors are here to stay. Four cores per package are available now, and 8 cores are just around the corner. With Moore's Law going strong, we can expect dozens if not hundreds of cores per CPU in the foreseeable future.
The many core hardware challenges are daunting, but they pale next to the software challenges. Many core systems will require high levels of concurrency at every layer of the software infrastructure. How will we effectively work with so much concurrency?
In this talk, we will consider the "parallel programming problem". What are the leading issues parallel programmers must resolve? Can we develop a more systematic framework to understand these issues? How will future versions of OpenMP (version 3.0 is due late 2007) address these issues? Are there other parallel languages worth considering that might help solve the many core software problems?
We will explore these and other questions in parallel programming. Hopefully, we'll be able to answer some of these questions as well, but my main goal is to foster a much needed dialog on this huge problem; because right now, we don't have a good long term solution to the parallel programming problem. And the only way to find this solution is to engage with a broad community of people interested in parallel computing.
Tim Mattson is an applications programmer (Ph.D. Chemistry, UCSC, 1985). He transforms matrices, finds oil, shakes molecules, solves differential equations, and models electrons in simple atomic systems. He has spent his career working with computer scientists to make sure the needs of parallel applications programmers are met.
Tim has had the good fortune to work with brilliant people on truly great projects such as (1) design and build the first TFLOP computer (ASCI Red), (2) create OpenMP, (3) develop the OSCAR cluster computing package, and (4) led the software team programming Intel's first TFLOP chip (the 80 core research chip).
Currently, Dr. Mattson is conducting research on abstractions that bridge across parallel system design, parallel programming environments, and application software. This work builds on his recent book on Design Patterns in Parallel Programming (written with Professors Beverly Sanders and Berna Massingill and published by Addison Wesley). The patterns provide the "human angle" and help keep his research focused on technologies that help general programmers solve real problems.