Hans P. Zima
High-Productivity Languages for Petascale Computing
High performance computing has become the third pillar of science and technology, providing the superior computational capability required for dramatic advances in fields such as DNA analysis, drug design and astrophysics. However, in today's dominating programming paradigm users wanting to fully exploit the capabilities of parallel machines are forced to adopt a low-level programming style that leads to high-cost software production and error-prone programs that are difficult to write, reuse, and maintain. Emerging petascale architectures built with many-core components providing millions of threads, and applications of growing size and complexity will further aggravate this problem.
This presentation will discuss the state-of-the-art in programming paradigms for high performance computing and identify the challenges posed by emerging petascale architectures of unmatched complexity, which are characterized by massive parallelism across multiple levels of computation hierarchies, deep memory structures, and sophisticated interconnection networks. We will outline the requirements for high-productivity programming languages that provide a viable compromise between the dual goals of human productivity and target code efficiency, followed by an overview of the major ideas underlying Partitioned Global Address Space (PGAS) languages as well as the programming languages developed in the DARPA-funded High-Productivity-Computing-Systems (HPCS) program. A focus will be placed on the discussion of the language "Chapel" designed in the HPCS project Cascade, which addresses some of the key challenges identified above. Chapel is a global-view programming language providing high-level features for explicit parallelism and locality awareness based on general concepts of index sets, domains, and data collections. The language is unique in including a capability for user-defined data distributions, which offers an abstraction that can be seen in analogy to the role of functions as control abstractions.
The final part of the lecture will outline alternative language approaches, identify open research issues, discuss the need for intelligent compiler technology, and point out the crucial role of effective programming environment support for the adoption of a new language.
Speaker
Hans P. Zima Principal Scientist Jet Propulsion Laboratory, California Institute of Technology, Pasadena, USA and Professor Emeritus, University of Vienna, Austria |
Hans P. Zima is a Principal Scientist at the Jet Propulsion Laboratory, California Institute of Technology, and a Professor Emeritus of the University of Vienna, Austria. He received his Ph.D. degree in Mathematics and Astronomy from the University of Vienna in 1964.
His major research interests have been in the fields of high-level programming languages, compilers, and advanced software tools. In the early 1970s, while working in industry, he designed and implemented one of the first high-level real-time languages for the German Air Traffic Control Agency. During his tenure as a Professor of Computer Science at the University of Bonn, Germany, he contributed to the German supercomputer project "SUPRENUM", leading the design of the first Fortran-based compilation system for distributed-memory architectures (1989). After his move to the University of Vienna, he became the chief designer of the Vienna Fortran language (1992) that provided a major input for the High Performance Fortran de-facto standard. From 1997 to 2007, Dr. Zima headed the Priority Research Program "Aurora", a ten-year program funded by the Austrian Science Foundation. His research over the past years focused on the design of the "Chapel" programming language in the framework of the DARPA-sponsored HPCS project "Cascade". More recently, Dr. Zima has become involved in the design of space-borne fault-tolerant high capability computing systems.
Dr. Zima is the author or co-author of about 200 publications, including 4 books.