With the coming of age of multiprocessors in the form of multicores, the need for efficient programming will become increasingly important. In the future, most application will have to be designed and programmed to benefit from the additional parallelism of newer generations of machines. The main obstacle to accomplishing this is that the complexity of today’s machines makes program tuning for efficiency difficult. And this complexity is likely to increase even further as multicores become heterogeneous. Furthermore, machines are likely to evolve rapidly during the quest for good designs that will probably dominate the initial years of multicore. Programmer productivity is bound to suffer.

In this talk, I will discuss emerging strategies for the automatic adjustment of programs to the execution environment. These techniques are the seed of a future methodology for the development of efficient, portable programs. The goal is for the tuning to work without requiring intimate knowledge of the target machine. In addition, the methodology should save porting cost so that automatic tuning would work across machine designs and generations. This should help not only increase programmer productivity but should give machine designers more freedom to innovate.

BIOGRAPHY

David Padua is Donald Biggar Willet Professor of computer science at the University of Illinois at Urbana-Champaign, where he has been a faculty member since 1985. At Illinois, he has been Associate Director of the Center for Supercomputing Research and Development, a member of Science Steering Committee of the Center for Simulation of Advanced Rockets, and vice-chair of the College of Engineering Executive Committee. He has served as a program committee member, program chair, or general chair for more than 40 conferences and workshops. He served on the editorial board of the IEEE Transactions of Parallel and Distributed Systems, as editor-in-chief of the International Journal of Parallel Programming (IJPP) and as Steering Committee Chair of ACM SIGPLAN’s Principles and Practice of Parallel Programming. He is member of the editorial boards of the Journal of Parallel and Distributed Computing, ACM Transactions on Programming Languages and Systems (TOPLAS), and IJPP. His areas of interest include compilers, machine organization, and parallel computing. He has published more than 140 papers in those areas. He is a fellow of the IEEE.