Title: Implementing Tomorrow's Programming Languages

Abstract

Compilers are the critical translators that convert a human-readable program into the code understood by the machine. While this transformation is already sophisticated today, tomorrow's compilers face a tremendous challenge. There is a demand to provide languages that are much higher level than today's C, Fortran, or Java. On the other hand, tomorrow's machines are more complex than today; they involve multiple cores and may span the planet via compute Grids. How can we expect compilers to provide efficient implementations? I will describe a number of related research efforts that try to tackle this problem. Composition builds a way towards higher-level programming languages. Automatic translation of shared-address-space models to distributed-memory architectures may lead to higher productivity than current message passing paradigms. Advanced symbolic analysis techniques equips compilers with capabilities to reason about programs in abstract terms. Last but not least, through auto-tuning, compilers make effective decisions, even through there may be insufficient information at compile time.

About the speaker

Rudolf Eigenmann is a Professor at the School of Electrical and Computer Engineering at Purdue University. He is also the Interim Director of the Computing Research Institute and Associate Director of the Purdue's Cyber Center. His research interests include optimizing compilers, programming methodologies and tools, performance evaluation for high-performance computers and Internet sharing technology. He has published his work in over 100 papers in international conferences, journals, and workshops. Dr. Eigenmann received his Ph.D. in Electrical Engineering/Computer Science in 1988 from ETH Zurich, Switzerland. From 1988 to 1995 he worked as a research scientist at the Center for Supercomputing Research and Development, University of Illinois at Urbana Champaign, where he also served as the leader of the Center's Cedar Fortran compiler group. He is the recipient of a 1997 NSF CAREER award and serves on the editorial boards of the International Journal of Parallel Programming, the IEEE Transaction on Parallel and Distributed Systems Journal, and the IEEE Computing in Science and Engineering Magazine. He has served as the chairman of Computer Engineering at Purdue's School of ECE and as the chairman of the High-Performance Group of the Standard Performance Evaluation Corporation (SPEC). He has also been the general chair and program chair of such conferences as the ACM Symposium on Principles and Practice of Parallel Programming, the International Conference on Parallel Processing, the Workshop on Languages and Compilers for High-Performance Computing, and the Workshop on High-Level Interfaces for Parallel Systems. He is a member of the IEEE, ACM, and ASEE. Address: Purdue University, School of Electrical and Computer Engineering, 465 Northwestern Avenue, West Lafayette, IN 47907, USA, eigenman@purdue.edu, www.ece.purdue.edu/~eigenman