|
| EPSRC Reference: |
GR/S21717/01 |
| Title: |
Enhancing the Performance Predictability of Grid Applicationswith Patterns and Process Algebras |
| Principal Investigator: |
Dr M Cole |
| Other Investigators: |
|
| Researcher Co-investigator: |
|
| Project Partner: |
|
| Department: |
Sch of Informatics |
| Organisation: |
University of Edinburgh |
| Scheme: |
Standard Research |
| Starts: |
01 September 2003 |
Ends: |
30 November 2006 |
Value (£): |
182,357
|
| EPSRC Research Topic Classifications: |
| ICT Networks and Distributed Systems |
|
|
| EPSRC Industrial Sector Classifications: |
|
| Related Grants: |
|
| Panel History: |
|
|
Summary |
|
The allied problems of programmability, cost predictability and scheduling are exacerbated in a Grid context by the unpredictable and variable availability and performance of resources. This project investigates the possibility of augmenting a component based Grid High Performance Computing framework with a mechanism for constructing applications as instantiations of pre-defined application patterns. Each pattern will encapsulate the logical behaviour of a familiar pattern of multi-component interaction, at a level of abstraction which simplifies the developer's task, without over constraining the selected implementation. The definition and manipulation of semantic and performance behaviour of components and patterns will be facilitated by the use of a performance oriented process algebra.
|
| Final Report Summary |
The ENHANCE project addressed the allied problems of programmability, cost predictability and dynamic scheduling of parallel applications executing on Grid-like systems. For our purposes, we characterised such systems as those in which there is dynamic variation in the availability and performance of a heterogeneous pool of computing nodes.
Our approach extended and integrated ideas and tools from
two established research programmes. Stochastic process algebras, and in particular PEPA, were used to model the behaviour of concurrent systems in which some aspects of behaviour are not precisely predictable, while a skeleton-based programming framework was used to capture the
parallel algorithmic patterns involved in applications. By modelling skeletons with PEPA, then populating the models with information gleaned from the system at run-time, we provided support for good scheduling and dynamic rescheduling decisions.
The various components, techniques and algorithms have
been integrated into a proof-of-concept implementation in which model generation, population, and evaluation, together with the generation and implementation of the resulting scheduling and rescheduling decisions are all automated. We have experimented with our system in a dedicated cluster of workstations, into which we have injected artificially generated ``background'' load, to simulate the characteristics of a grid. This is the only way to make repeatable experiments (for example, to allow comparison of runs with and without our mechanism).
Our system is novel in several ways: no previous scheduler has exploited such detailed knowledge of the internal structure of parallel applications in order to make dynamic decisions; no previous scheduler has exploited stochastic process algebra models in order to generate information upon which to base decisions; no previous scheduler has exploited skeletal program structure to minimise the state which
needs to be communicated in order to dynamically migrate a component process.
Our results show that the methodology works excellently.
Selected schedules outperform discarded ones, and the overheads are acceptable, even for short applications (running for a few minutes). The overheads will diminish even further in significance for applications with timeframes of hours or days, since the complexity of the underlying models is independent of the attached rates.
|
| Further Information: |
|
| Organisation Website: |
http://www.ed.ac.uk |
|
|