Performance oriented development of SPMD programs based on task structure specifications

  • A. Ferscha
  • J. Johnson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 854)


An incremental development process for parallel SPMD programs driven by performance engineering activities is proposed. We provide a methodology and set of computerized tools to support the implementation design phase and early evaluation of skeletal program designs from a performance point of view, such that performance critical design choices can be investigated far ahead of the full coding of the application. The technique and the use of our tools are demonstrated by developing a parallel program for Ax=tb (where A is real, nxn by means of a series of Householder transformations (HA)x=Hb using p processors. Although a target architecture independent specification is the starting point of the implementation, we show how the incremental refinement process successively improves performance prediction for dedicated distributed memory target systems, until a full, performance efficient implementation is reached. As an example target platform, we study a CM-5 being programmed with the CMMD message passing library.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Thomas E. Anderson and Edward D. Lazowska. Quartz: A tool for tuning parallel program performance. Performance Evaluation Review, Special Issue, 1990 ACM SIGMETRICS, 18(1):115–125, May 1990.Google Scholar
  2. 2.
    P. Brinch Hansen. Householder reduction of linear equations. AGM Computing Surveys, 24(2):185–194, June 1992.Google Scholar
  3. 3.
    A. Ferscha. A petri net approach for performance oriented parallel program design. Journal of Parallel and Distributed Computing, 15(3):188–206, July 1992.Google Scholar
  4. 4.
    A. Ferscha and G. Haring. On performance oriented environments for the development of parallel programs. Kybernetika a Informatika, Proceedings of the 15th Symposium on Cybernetics and Informatics '91, April 3–5 1991, Smolenice Castle, ČSFR, 4(1/2), 1991.Google Scholar
  5. 5.
    G. A. Geist, M. T. Heath, B. W. Peyton, and P. H. Worley. A users' guide to PICL: portable instrumented communication library. Technical Report ORNL/TM-11616, Oak Ridge National Laboratory, August 1990.Google Scholar
  6. 6.
    A. Y. Grama, A. Gupta, and V. Kumar. Isoefficiency: Measuring the scalability of parallel algorithms and architectures. IEEE Parallel and Distributed Technology, 1(3):12–21, August 1993.Google Scholar
  7. 7.
    G. Haring and G. Kotsis, editors. Performance Measurement and Visualization of Parallel Systems, volume 7 of Advances in Parallel Computing, G. R. Joubert, Udo Schendel (Series Eds). North Holland, 1993.Google Scholar
  8. 8.
    Michael T. Heath and Jennifer A. Etheridge. Visualizing performance of parallel programs. Technical Report ORNL/TM-11813, Oak Ridge National Laboratory, May 1991.Google Scholar
  9. 9.
    V. W. Mak and S. F. Lundstrom. Predicting performance of parallel computers. IEEE Transactions on Parallel and Distributed Systems, 1(3):257–269, July 1990.Google Scholar
  10. 10.
    A. D. Malony, V. Mertsiotakis, and A. Quick. Automatic scalability analysis of parallel programs based on modelling techniques. In Proc. of the 7th Int. Conf. on Modelling Techniques and Tools for Computer Performance Evaluation., LNCS 794, pages 139–158. Springer-Verlag, 1994.Google Scholar
  11. 11.
    A. D. Malony, D. A. Reed, and H. A. G. Wijshoff. Performance measurement intrusion and perturbation analysis. IEEE Transactions on Parallel and Distributed Systems, 3(4):433–450, July 1992.Google Scholar
  12. 12.
    Connie U. Smith. Performance Engineering of Software Systems. Addison Wesley, 1990.Google Scholar
  13. 13.
    H. V. Sreekantaswamy, S. Chanson, and A. Wagner. Performance prediction modeling of multicomputers. In Proceedings of the 12th International Conference on Distributed Computing Systems, pages 278–285, Los Alamitos, California, 1992. IEEE Computer Society Press.Google Scholar
  14. 14.
    Thinking Machines Corporation, Cambridge, Massachusetts. CMMD Reference Manual, Version3.0, May 1993.Google Scholar
  15. 15.
    A. J. C. van Gemund. Performance prediction of parallel processing systems: The PAMELA methodology. In Proc. 1993 ACM Int. Conf. on Supercomputing, July 1993,Tokyo, Japan. ACM, 1993.Google Scholar
  16. 16.
    H. Wabnig and G. Haring. PAPS — the parallel program performance prediction toolset. In Proc. of the 7th Int. Conf. on Modelling Techniques and Tools for Computer Performance Evaluation., LNCS 794, pages 284–304. Springer-Verlag, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • A. Ferscha
    • 1
  • J. Johnson
    • 1
  1. 1.Institut für Angewandte Informatik und InformationssystemeUniversität WienViennaAustria

Personalised recommendations