Self-scheduling message passing applications

The Enhance project was concerned with pattern-based applications and software performance modelling. This work was carried out at the School of Informatics, University of Edinburgh. We developed techniques for enhancing the performance predictability of Grid applications using patterns and process algebras.

This project applied performance evaluation process algebra (PEPA) to model the performance of distributed message passing applications developed using the concept of algorithmic skeletons. The performance model was then used to induce self-scheduling capabilities to these applications, where it automatically monitors and dynamically adapts to changing resource availability and system load scenarios.

Visit project homepage for further details...

Source code

  1. Skeleton programming library with dynamic scheduling support

    This library provides a set of interfaces for developing message passing applications with support for dynamic scheduling. The interfaces are based on algorithmic skeletons, and works in combination with performance evaluation process algebra. This system requires an MPI implementation (LAM-MPI was used to test the library).

    git clone
  2. Workflow description to PEPA performance model generator

    The wflow2pepa (workflow to PEPA) application program may be used to model performance of hierarchical workflow systems using performance evaluation process algebra. To use this application, the user provides a description file of the workflow system using a hierarchical pattern specification language. From this specification, the application generates the corresponding PEPA performance model automatically.

    git clone

Selected publications

  • Yaikhom, G., Cole, M., Gilmore, S., and Hillston, J. (2007). A Structural Approach for Modelling Performance of Systems using Skeletons. Electronic Notes in Theoretical Computer Science (ENTCS), 190 (3), pp. 167-182. doi: 10.1016/j.entcs.2007.07.010

  • Yaikhom, G., Cole, M., and Gilmore, S. (2006). Combining Measurement and Stochastic Modelling to Enhance Scheduling Decisions for a Parallel Mean Value Analysis Algorithm. Volume 3992 of Lecture Notes in Computer Science (LNCS), pp. 929-936. Springer. doi: 10.1007/11758525