Evaluating the Performance of Skeleton-Based High Level Parallel Programs

  • Anne Benoit
  • Murray Cole
  • Stephen Gilmore
  • Jane Hillston
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3038)


We show in this paper how to evaluate the performance of skeleton-based high level parallel programs. Since many applications follow some commonly used algorithmic skeletons, we identify such skeletons and model them with process algebra in order to get relevant information about the performance of the application, and be able to take some “good” scheduling decisions. This concept is illustrated through the case study of the Pipeline skeleton, and a tool which generates automatically a set of models and solves them is presented. Some numerical results are provided, proving the efficiency of this approach.


Schedule Decision Process Algebra Grid Application Algorithmic Skeleton Performance Evaluation Process Algebra 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Alt, M., Bischof, H., Gorlatch, S.: Program Development for Computational Grids Using Skeletons and Performance Prediction. Parallel Processing Letters 12(2), 157–174 (2002)CrossRefGoogle Scholar
  2. 2.
    Biswas, R., Frumkin, M., Smith, W., Van der Wijngaart, R.: Tools and Techniques for Measuring and Improving Grid Performance. In: Das, S.K., Bhattacharya, S. (eds.) IWDC 2002. LNCS, vol. 2571, pp. 45–54. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press & Pitman (1989),
  4. 4.
    M. Cole. eSkel: The edinburgh Skeleton library. Tutorial Introduction. Internal Paper, School of Informatics, University of Edinburgh (2002),
  5. 5.
    Cole, M.: Bringing Skeletons out of the Closet: A Pragmatic Manifesto for Skeletal Parallel Programming. To appear in Parallel Computing (2004)Google Scholar
  6. 6.
    Foster, I., Kesselman, C.: The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Francisco (1998)Google Scholar
  7. 7.
    Furmento, N., Mayer, A., McGough, S., Newhouse, S., Field, T., Darlington, J.: ICENI: Optimisation of Component Applications within a Grid Environment. Parallel Computing 28(12), 1753–1772 (2002)zbMATHCrossRefGoogle Scholar
  8. 8.
    Haenel, N.V.: User Guide for the Java Edition of the PEPA Workbench. LFCS, University of Edinburgh (2003),
  9. 9.
    Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)CrossRefGoogle Scholar
  10. 10.
    Karonis, N., Toonen, B., Foster, I.: MPICH-G2: A Grid-Enabled Implementation of the Message Passing Interface. JPDC 63(5), 551–563 (2003)zbMATHGoogle Scholar
  11. 11.
    Rabhi, F.A., Gorlatch, S.: Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2002)Google Scholar
  12. 12.
    Wolski, R., Spring, N.T., Hayes, J.: The network weather service: a distributed resource performance forecasting service for metacomputing. Future Generation Computer Systems 15(5-6), 757–768 (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Anne Benoit
    • 1
  • Murray Cole
    • 1
  • Stephen Gilmore
    • 1
  • Jane Hillston
    • 1
  1. 1.School of InformaticsThe University of EdinburghEdinburghUK

Personalised recommendations