The future of many core processors: A Tale of Two Processors
We all know by now that many core chips are the future of the microprocessor industry. They are the only way to deliver a steady progression of performance improvements in response to Moore's law while staying within a fixed power envelope. But how will those cores be connected? How simple will the cores be? What programming models will be most effective? Can we develop a memory model that will "feed the beast" and let us sustain high throughput?
These and other questions are the aim of Intel Lab's Terascale research program. As part of this program we envision a sequence of research chips. 2007's 80-core terascale processor is the first of these chips. Recently, we announced our next research chip, the 48 core SCC processor. In this talk, I will discuss these two research processors and what they tell us about the future of many core processors. I will also discuss the critical problem of how to program many core chips. I am a software person so I will emphasize the applications programmers' point of view; though I will attempt to address lower level hardware and software issues as well.
Tim Mattson is an applications programmer (Ph.D. Chemistry, UCSC, 1985). He does linear algebra, 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. Among these are (1) the first TFLOP computer (ASCI Red), (2) the OpenMP API for shared memory programming, (3) the OpenCL programming language for heterogeneous platforms, (4) programming Intel's first TFLOP chip (the 80 core research chip), and (5) the design and software architecture of Intelâ€™s 48 core research chip.
Dr. Mattson is also engaged in a long term research program with UC Berkeley's ParLab on abstractions that bridge across parallel system design, parallel programming environments, and application software. This work builds on his book "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.