Charting a course to our many-core future: HW, SW and the parallel programming problem
Timothy G Mattson, Intel Corporation
The general trends that will dominate microprocessor design over the next decade are clear: the number of cores will steadily increase as will the level of heterogeneity. All of the major hardware vendors, from the embedded to laptop to HPC markets, are aggressively turning these trends into actual products. Unfortunately, the software industry is behind; creating a dangerous mismatch between hardware and software.
The academic community can choose to play a role in closing this gap. To do so, however, they must think more like software engineers and a bit less like isolated computer scientists. In particular, we need:
• A new foundation to build our software future upon, not new and elegant languages that few people actually use.
• To design hardware and software together so people can program the systems we build.
• To figure out how to support a world where domain experts with little or no training in computer science create applications.
These define the research imperatives that must be resolved to address the many-core challenge. In this talk, I will review work to address each of these imperatives, and hopefully launch a dialog exploring ideas on how to accelerate their resolution.
Tim Mattson is an old-fashioned parallel programmer starting in the mid-80’s with the Caltech Cosmic Cube and continuing up to the present. Along the way, he has worked with most classes of parallel computer (vector supercomputers, SMP, VLIW, NUMA, MPP, clusters, GPUs and many-core CPUs). Tim has published extensively including the books Patterns for Parallel Programming (with Beverly Sanders and Berna Massingill, Addison Wesley, 2004) and An Introduction to Concurrency in Programming Languages (with Matthew J. Sottile and Craig E Rasmussen, CRC Press, 2009). Tim has a Ph.D. degree in chemistry for his work on molecular scattering theory. He has been working at Intel since 1993.