SDACM Logo  
  San Diego Professional Chapter Association for Computing Machinery
Meetings
Past Meetings
Mailing List
Join ACM
Professional Development
Career Task Force
Jobs
Related Orgs
Membership Policy
Officers

 

Past Meeting - June 23, 2005Meetings Picture

Going Wide: The transition to multi-core architectures

Thursday, June 23, 2005

Summary

Adam Lake gave a riveting talk on the rationale and art of multithreaded programming. He showed numerous examples of processor systems which already have a degree of multithreading, including Intel's network processor, media processor, Pentium 4 (with hyperthreading), and the Pentium 4 Extreme Edition (with hyperthreading and multiple cores). He explained that the processor industry will rely on parallel execution for future performance gains because for single threaded processing, the ratio of performance to electrical power (and heat dissipation) is turning unfavorable as chips grow larger. He demonstrated OpenMP, a technology which allows loops and other code to be scheduled on available processors on the fly, thus farming out portions of a function without forcing the programmer to rebuild code under a threading model. He also discussed debugging environments and profiling tools for multi-threaded environments. While much of Adam's talk had to do with graphics processing, it seems clear that other types of programming could benefit from this approach. Furthermore, it seems very clear that as existing processor architectures max out, we will all do well to adopt multi-threading as a dominant facet of program architecture.

Abstract

Intel has dramatically increased processor performance in each generation by increasing clock rates, increasing the number of pipeline stages, and world class manufacturing capabilities. 2005 marks a turning point in CPU architecture as we begin a new trajectory towards multi-core architectures -- a transition from increasing pipeline depth and frequency to increasing the number of pipelines. This transition has been necessitated by ever increasing distance between resources on die as well as power envelope requirements. This talk will focus on the software engineer's problems with this inflection point, as well as the tools and technologies Intel is bringing to bear on these problems, along with my experience leveraging these tools on 3D game engines. I will also speculate on the future programming models these machines necessitate and current work and inspiration in this area.

Presenter Bio

Adam Lake is a Sr. Software Engineer in the Software Solutions Group leading The Modern Game Technologies Project at Intel. Adam has held a number of positions during his 7 years at Intel, including research in non-photorealistic rendering and delivering the shockwave3D engine. He has designed a stream programming architecture, including the design and implementation of simulators, assemblers, compilers, and programming models. Previous to working at Intel, he obtained a MS in computer graphics at UNC-Chapel Hill and worked in the Computational Science methods group at Los Alamos National Laboratory. More information is available at Adam's Website. He has 30 patents filed or pending in the areas of computer graphics and computer architecture, has several publications in computer graphics, and has reviewed papers for SIGGRAPH, IEEE, and several book chapters on computer graphics. In his spare time he is a mountain biker, road cyclist, hiker, camper, avid reader, snowboarder, and Sunday driver.