Skip to main content

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

  • Invited Paper
  • Conference paper
  • First Online:
High-Performance Computing and Networking (HPCN-Europe 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 919))

Included in the following conference series:

  • 147 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Message Passing Interface Forum. MPI: A message-passing interface standard. Computer Science Dept. technical report CS-94-230, University of Tennessee, Knoxville, TN, USA, May 1994. Also in the International Journal of Supercomputer Applications, vol. 8, no. 3/4, 1994.

    Google Scholar 

  2. High Performance Fortran Forum. High Performance Fortran Language Specification: Version 1.0. Scientific Programming, 2(1&2), 1993.

    Google Scholar 

  3. G.H. Barnes et al. The Illiac IV computer. IEEE Trans. on Computers, C-17(8):746–757, August 1968.

    MathSciNet  Google Scholar 

  4. M. Annaratone, C. Pommerell, and R. Rühl. Interprocessor communication and performance in distributed-memory parallel processors. In Proc. 16th ISCA, pages 315–324, Jerusalem, May 1989. ACM-IEEE.

    Google Scholar 

  5. D. Y. Cheng. A survey of parallel programming languages and tools. Technical Report RND-93-005, NASA Ames Research Center, Moffet Field, CA, USA, March 1993.

    Google Scholar 

  6. L. H. Turcotte. A survey of software environments for exploiting networked computing resources. Technical report, Mississippi State University, June 1993.

    Google Scholar 

  7. M. T. Heath and J. A. E. Finger. ParaGraph: A tool for visualizing performance of parallel programs. Technical report, UIUC/ORNL, 1993.

    Google Scholar 

  8. D. Allen, R. Bowker, K. Jourdenais, J. Simons, S. Sistare, and R. Title. The Prism programming environment. In Proc. Supercomputer Debugging Workshop '91, pages 1–7, Albuquerque, NM, November 1991.

    Google Scholar 

  9. W. Williams, T. Hoel, and D. Pase. The MPP apprentice performance tool: Delivering the performance of the Cray T3D. In K. M. Decker and R. M. Rehmann, editors, Proceedings of the IFIP WG10.3 Working Conference on Programming Environments for Massively Parallel Distributed Systems, Monte Verità, Ascona, Switzerland, April 25–29, 1994, pages 333–345. Birkhäuser Verlag, Basel, July 1994.

    Google Scholar 

  10. BBN Systems and Technologies. TotalView User's Guide. BBN Systems and Technologies, April 1994.

    Google Scholar 

  11. APR (Applied Parallel Research). HPF parallelization tools for clustered workstations and distributed memory multi-processor systems. HPC Select News, article 914, August 1993.

    Google Scholar 

  12. J. K. Ousterhout. Tcl: an embedded command language. In Proc. USENIX Winter Conference, pages 133–146, January 1990.

    Google Scholar 

  13. J. K. Ousterhout. An X11 toolkit based on the Tcl language. In Proc. USENIX Winter Conference, pages 105–115, January 1990.

    Google Scholar 

  14. J. May and F. Berman. Panorama: A portable, extensible parallel debugger. In Proceedings of ACM/ONR Workshop on Parallel and Distributed Debugging, pages 96–106, San Diego, California, May 1993.

    Google Scholar 

  15. S. K. Damodaran-Kamal and J. M. Francioni. Nondeterminacy: Testing and debugging in message passing parallel programs. In Proceedings of ACM/ONR Workshop on Parallel and Distributed Debugging, pages 118–128, San Diego, California, May 1993.

    Google Scholar 

  16. S. K. Damodaran-Kamal and J. M. Francioni. mdb: A semantic race detection tool for PVM. In Proceedings of the Scalable High-Performance Computing Conference, pages 702–709, May 1994.

    Google Scholar 

  17. A. Beguelin, J. Dongarra, A. Geist, R. Manchek, and V. Sunderam. A users' guide to PVM parallel virtual machine. Technical report ORNL/TM-11826, Oak Ridge National Laboratory, Oak Ridge, TN, July 1991.

    Google Scholar 

  18. E. Leu and A. Schiper. Execution replay: A mechanism for integrating a visualization tool with a symbolic debugger. In Proceedings of CONPAR '92, pages 55–66, September 1992.

    Google Scholar 

  19. C. Clémenç;on, K. M. Decker, A. Endo, J. Fritscher, G. Jost, N. Masuda, A. Müller, R. Rühl, W. Sawyer, E. de Sturler, B. J. N. Wylie, and F. Zimmermann. Application-driven development of an integrated tool environment for distributed memory parallel processors. In R. Rao and C. P. Ravikumar, editors, Proceedings of the First International Workshop on Parallel Processing, Bangalore, India, December 27–30, The Oberoi, Bangalore, India, December 1994. IEEE.

    Google Scholar 

  20. F. Hayes-Roth. Rule-based systems. Communications of the ACM, 28(9):921–932, 1985.

    Article  Google Scholar 

  21. M. Minsky. A framework for representing knowledge. In P.H. Winston, editor, The Psychology of Computer Vision, pages 211–277. Mc Graw Hill, New York, 1975.

    Google Scholar 

  22. D.J. Kuck. A user's view of high-performance scientific and engineering software systems in the mid-21st century. In E.N. Houstis, J.R. Rice, and R. Vichnevetsky, editors, Expert Systems for Scientific Computing, pages 69–87. Elsevier Science Publishers, 1992.

    Google Scholar 

  23. J.A. Webb. Adapt: Global image processing with the split and merge model. Technical report CMU-CS-91-129, School of Computer Science, Carnegie Mellon University, July 1991.

    Google Scholar 

  24. H.P. Zima and B.M. Chapman. Software tools for parallel program development. In P.W. Gaffney and E.N. Houstis, editors, Programming Environments for High-Level Scientific Problem Solving, pages 157–177. North-Holland, 1992.

    Google Scholar 

  25. E.N. Houstis and J.R. Rice. Parallel ELLPACK: A development and problem solving environment for high-performance computing machines. In P.W. Gaffney and E.N. Houstis, editors, Programming Environments for High-Level Scientific Problem Solving, pages 229–243. North-Holland, 1992.

    Google Scholar 

  26. N. Sagawa, D.P. Finn, and N.J. Hurley. An integrated problem solving environment for numerical simulation of engineering problems. In P.W. Gaffney and E.N. Houstis, editors, Programming Environments for High-Level Scientific Problem Solving, pages 191–201. North-Holland, 1992.

    Google Scholar 

  27. J.J. Dvorak. An AI-based approach to massively parallel programming. Technical report CSCS-TR-93-04, Centro Svizzero di Calcolo Scientifico, CH-6928 Manno, Switzerland, August 1993.

    Google Scholar 

  28. K. M. Decker, J. J. Dvorak, and R. M. Rehmann. A knowledge-based scientific parallel programming environment. In K. M. Decker and R. M. Rehmann, editors, Proceedings of the IFIP WG10.3 Working Conference on Programming Environments for Massively Parallel Distributed Systems, Monte Verità, Ascona, Switzerland, April 25–29, 1994, pages 127–138. Birkhäuser Verlag, Basel, July 1994.

    Google Scholar 

  29. D. F. Bacon, S. L. Graham, and O. J. Sharp. Compiler transformations for high-performance computing. Technical report UCB/CSD-93-781, Univ. of California, Berkeley, Comp. Science Division, California, 1993.

    Google Scholar 

  30. M. Gupta and P. Banerjee. Demonstration of automatic data partitioning techniques for parallelizing compilers on multicomputers. IEEE Trans. on Parallel and Distr. Systems, 3(2):179–193, March 1992.

    Google Scholar 

  31. M. Neeracher and R. Rühl. Automatic parallelization of LINPACK routines on distributed memory parallel processors. In Proc. IEEE International Parallel Processing Symposium, New Port Beach, California, April 1993.

    Google Scholar 

  32. V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer. A static performance estimator to guide data partitioning decisions. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming PPOPP, SIGPLAN Notices, 26(7):213–223, April 1991.

    Google Scholar 

  33. Y. Seo, T. Kamachi, K. Kusano, Y. Shiroto, and Y. Watanabe. A programming environment for parallel supercomputers. Technical report, C&C Research Labs., NEC Corporation, December 1992.

    Google Scholar 

  34. T. Fahringer. Automatic Performance Prediction for Parallel Programs on Massively Parallel Computers. PhD thesis, TU Vienna, 1993.

    Google Scholar 

  35. E. Edmonds. The future of intelligent interfaces? not just “how?”, but “what?” and “why?”. In W.D. Gray, W.E. Hefley, and D. Murray, editors, Proceedings of the 1993 International Workshop on Intelligent User Interfaces, pages 13–18, 1993.

    Google Scholar 

  36. J. Coutaz, S. Balbo, and D. Salber. Towards automatic evaluation of multimodal user interfaces. In W.D. Gray, W.E. Hefley, and D. Murray, editors, Proceedings of the 1993 International Workshop on Intelligent User Interfaces, pages 201–208, 1993.

    Google Scholar 

  37. A. Müller and R. Rühl. Extending High Performance Fortran for the support of unstructured computations. Technical Report CSCS-TR-94-08, Centro Svizzero di Calcolo Scientifico, CH-6928 Manno, Switzerland, August 1994.

    Google Scholar 

  38. M.R. Lowry. Software engineering in the twenty-first century. AI Magazine, pages 71–87, Fall 1992.

    Google Scholar 

  39. R. Rühl. A Parallelizing Compiler for Distributed-Memory Parallel Processors. PhD thesis, ETH-Zürich, 1992. Hartung-Gorre Verlag, Konstanz, Germany.

    Google Scholar 

  40. A. Rogers and K. Pingali. Process decomposition through locality of reference. In Conf. Programming Language Design Implementation, pages 69–80, Portland, OR, June 1989. ACM-SIGPLAN.

    Google Scholar 

  41. J. Mc Graw, S. Skedzielewski, S. Allen, R. Oldehoeft, J. Glauert, C Kirkham, B. Noyce, and R. Thomas. SISAL: Streams and iteration in a single assignment language, language reference manual, version 1.2. Technical report M-146, Lawrence Livermore National Laboratory, March 1985.

    Google Scholar 

  42. C. Clémenç;on, J. Fritscher, and R. Rühl. Execution control, visualization and replay of massively parallel programs with Annai's debugging tool. Technical Report CSCS-TR-94-09, Centro Svizzero di Calcolo Scientifico, CH-6928 Manno, Switzerland, November 1994.

    Google Scholar 

  43. H. Chappel and M. Wilson. Knowledge-based design of graphical responses. In W.D. Gray, W.E. Hefley, and D. Murray, editors, Proceedings of the 1993 International Workshop on Intelligent User Interfaces, pages 29–36, 1993.

    Google Scholar 

  44. B.J.N. Wylie and A. Endo. Design and realization of the Annai integrated parallel programming environment performance monitor and analyzer. Technical Report CSCS-TR-94-07, Centro Svizzero di Calcolo Scientifico, CH-6928 Manno, Switzerland, August 1994.

    Google Scholar 

  45. C. Clémenç;on, J. Fritscher, M.J. Meehan, and R. Rühl. An implementation of race detection and deterministic replay with MPI. Technical report CSCS-TR-95-01, Centro Svizzero di Calcolo Scientifico, CH-6928 Manno, Switzerland, January 1995.

    Google Scholar 

  46. K. M. Decker and R. M. Rehmann. Simple and efficient programming of parallel distributed systems for computational scientists. Technical report IAM-92-019, IAM, University of Berne, October 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bob Hertzberger Giuseppe Serazzi

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Decker, K.M., Dvorak, J.J., Rehmann, R.M., Rühl, R. (1995). Satisfying application user requirements: A next-generation tool environment for parallel systems. In: Hertzberger, B., Serazzi, G. (eds) High-Performance Computing and Networking. HPCN-Europe 1995. Lecture Notes in Computer Science, vol 919. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0046631

Download citation

  • DOI: https://doi.org/10.1007/BFb0046631

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59393-5

  • Online ISBN: 978-3-540-49242-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics