Use this URL to cite or link to this record in EThOS:
Title: Adaptive structured parallelism
Author: Gonzalez-Velez, H.
Awarding Body: University of Edinburgh
Current Institution: University of Edinburgh
Date of Award: 2008
Availability of Full Text:
Full text unavailable from EThOS.
Please contact the current institution’s library for further details.
Algorithmic skeletons abstract commonly-used patterns of parallel computation, communication, and interaction. Parallel programs are expressed by interweaving parameterised skeletons analogously to the way sequential structured programs are constructed. Skeletons provide top-down design composition and control inheritance throughout the whole program structure. Based on the algorithmic skeleton concept, structured parallelism provides a high-level parallel programming technique which allows the conceptual description of parallel programs whilst fostering platform independence and algorithm abstraction. By decoupling the algorithm specification from machine-dependent structural considerations, structured parallelism allows programmers to code programs regardless of how the computation and communications will be executed in the system platform. Meanwhile, large non-dedicated multiprocessing systems and, in particular, computational grids have long posed a challenge to known distributed systems programming techniques as a result of the inherent heterogeneity and dynamism of their resources. Scant research has been devoted to using the structural information provided by skeletons to adaptively improve program performance based on resource utilisation. This thesis presents a methodology to improve skeletal parallel programming in grids by introducing adaptiveness through resource awareness. As we hypothesise that a skeletal program should be able to adapt to the dynamic resource conditions over time using its structural forecasting information, we have developed GRASP: Grid-Adaptive Structured Parallelism. GRASP is a generic methodology to incorporate structural information at compile times into a parallel program that helps it to adapt at execution time. By means of the skeleton API, GRASP instruments a skeletal program with a series of pragmatic rules, which depends on particular performance thresholds based on the nature of the skeleton, the computation/communication ratio of the program, and the availability of resources in the grid. Every rule essentially determines the scheduling for the given skeleton. GRASP comprises four phases: programming, compilation, calibration and execution. We illustrate the feasibility of this approach and its associated performance improvements using independent case studies based on two algorithmic skeletons, the task farm and the pipeline, programmed in C and MPI and executed in a computational grid.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available