Satisfying application user requirements: A next-generation tool environment for parallel systems

While productive use of parallel systems for business applications is quickly growing, their usage for scientific applications is far below expectations. The main reason is that programming of parallel systems is still far too complex. Starting from an analysis of the user requirements, it is the purpose of this paper to explain our strategy towards next-generation parallel programming environments. We first discuss the problem areas of parallel programming from a users point of view in detail and give an overview on existing low-, high- and intermediate-level environments. Then we summarize our research objectives, followed by a discussion of three enabling technologies to overcome current-days limitations: formal specification languages, artificial intelligence, and compiler technology. The impact of these technologies on the components proposed for a next-generation programming environment is discussed in detail. A presentation of the current status of research at the CSCS concludes the paper, summarizing present-days results of a project on intelligent programming environments and of the Joint CSCS-ETH/NEC Collaboration in Parallel Processing.

[1]  John K. Ousterhout,et al.  An X11 Toolkit Based on the Tcl Language , 1991, USENIX Winter.

[2]  Joan M. Francioni,et al.  Nondeterminancy: testing and debugging in message passing parallel programs , 1993, PADD '93.

[3]  Roland Rühl,et al.  Automatic parallelization of LINPACK routines on distributed memory parallel processors , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[4]  Thomas Fahringer,et al.  Automatic performance prediction to support parallelization of Fortran programs for massively parallel systems , 1992, ICS '92.

[5]  Karsten M. Decker,et al.  Simple and Efficient Programming of Parallel Distributed Systems for Computational Scientists , 1992 .

[6]  John Glauert,et al.  SISAL: streams and iteration in a single-assignment language. Language reference manual, Version 1. 1 , 1983 .

[7]  Michael D. Wilson,et al.  Knowledge-based design of graphical responses , 1993, IUI '93.

[8]  Patrick Henry Winston,et al.  The psychology of computer vision , 1976, Pattern Recognit..

[9]  J. Dvorak An Ai-based Approach to Massively Parallel Programming , 1993 .

[10]  Message P Forum,et al.  MPI: A Message-Passing Interface Standard , 1994 .

[11]  Winifred Williams,et al.  The MPP Apprentice™ Performance Tool: Delivering the Performance of the Cray T3D® , 1994 .

[12]  Marvin Minsky,et al.  A framework for representing knowledge" in the psychology of computer vision , 1975 .

[13]  Marvin Minsky,et al.  A framework for representing knowledge , 1974 .

[14]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[15]  Ken Kennedy,et al.  A static performance estimator to guide data partitioning decisions , 1991, PPOPP '91.

[16]  André Schiper,et al.  Execution Replay: A Mechanism for Integrating a Visualization Tool with a Symbolic Debugger , 1992, CONPAR.

[17]  Richard M. Brown,et al.  The ILLIAC IV Computer , 1968, IEEE Transactions on Computers.

[18]  Manish Gupta,et al.  Demonstration of Automatic Data Partitioning Techniques for Parallelizing Compilers on Multicomputers , 1992, IEEE Trans. Parallel Distributed Syst..

[19]  Joëlle Coutaz,et al.  Towards automatic evaluation of multimodal user interfaces , 1993, Knowl. Based Syst..

[20]  David F. Bacon,et al.  Compiler transformations for high-performance computing , 1994, CSUR.

[21]  Neil J. Hurley,et al.  An Integrated Problem Solving Environment for Numerical Simulation of Engineering Problems , 1991, Programming Environments for High-Level Scientific Problem Solving.

[22]  Louis H. Turcotte,et al.  A Survey of Software Environments for Exploiting Networked Computing Resources , 1993 .

[23]  Tsunehiko Kamachi,et al.  PCASE: A Programming Environment for Parallel Supercomputers , 1995 .

[24]  Roland Rühl A parallelizing compiler for distributed memory parallel processors , 1992 .

[25]  Francine Berman,et al.  Panorama: a portable, extensible parallel debugger , 1993, PADD '93.

[26]  Barbara M. Chapman,et al.  Software Tools for Parallel Program Development , 1991, Programming Environments for High-Level Scientific Problem Solving.

[27]  Jack Dongarra,et al.  A User''s Guide to PVM Parallel Virtual Machine , 1991 .

[28]  Roland Rühl,et al.  An Implementation of Race Detection and Deterministic Replay with MPI , 1995, Euro-Par.

[29]  Michael R. Lowry Software Engineering in the Twenty-First Century , 1992, AI Mag..

[30]  Frederick Hayes-Roth,et al.  Rule-based systems , 1985, CACM.

[31]  Ernest A. Edmonds The future of intelligent interfaces: not just “how?”, but “what?” and “why?” , 1993, IUI '93.

[32]  S.K. Damodaran-Kamal,et al.  mdb: a semantic race detection tool for PVM , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[33]  Roland Rühl A parallelizing compiler for distributed memory parallel processors , 1992 .

[34]  Andreas Müller,et al.  Extending high performance Fortran for the support of unstructured computations , 1995, ICS '95.

[35]  Karsten M. Decker,et al.  A Knowledge-Based Scientific Parallel Programming Environment , 1994 .

[36]  John R. Rice,et al.  Parallel ELLPACK: A Develoment and Problem Solving Environment for High Performance Computing Machines , 1991, Programming Environments for High-Level Scientific Problem Solving.

[37]  John Glauert,et al.  SISAL: streams and iteration in a single assignment language. Language reference manual, Version 1. 2. Revision 1 , 1985 .

[38]  Marco Annaratone,et al.  Interprocessor Communication Speed And Performance In Distributed-memory Parallel Processors , 1989, The 16th Annual International Symposium on Computer Architecture.

[39]  Anne Rogers,et al.  Process decomposition through locality of reference , 1989, PLDI '89.