Staged Methodologies for Parallel Programming

Winstanley, Noel William (2001) Staged Methodologies for Parallel Programming. PhD thesis, University of Glasgow.

Full text available as:
[thumbnail of 11007875.pdf] PDF
Download (6MB)

Abstract

This thesis presents a parallel programming model based on the gradual introduction of implementation detail. It comprises a series of decision stages that each fix a different facet of the implementation. The initial stages of the model elide many of the parallelisation concerns, while later stages allow low-level control over the implementation details. This allows the programmer to make decisions about each concern at an appropriate level of abstraction. The model provides abstractions not present in single-view explicitly parallel languages; while at the same time allowing more control and freedom of expression than typical high-level treatments of parallelism. A prototype system, called PEDL, was produced to evaluate the effectiveness of this programming model. This system allows the derivation of distributed-memory SPMD implementations for array based numerical computations. The decision stages are structured as a series of related languages, each of which presents a more explicit model of the parallel machine. The starting point is a high-level specification of the computational portion of the algorithm from which a low-level implementation is derived that describes all the parallelisation detail. The derivation proceeds by transforming the program from one language to the next, adding implementation detail at each stage. The system is amenable to producing correctness proofs of the transformations, although this is not required. All languages in the system are executable: programs undergoing derivation can be checked and tested to provide the programmer with feedback. The languages are implemented by embedding them within a host functional language. Their structure is represented within the type system of the host language. This allows programs to be expressed in languages from a combination of stages, which is useful during derivation, while still being able to distinguish the different languages. Once all the parallelisation details have been fixed the final implementation is generated by a process of transformation and translation. This implementation is a conventional imperative program in which communication is provided by the MPI library. The thesis presents case studies of the use of the system: programs undergoing derivation were found to be clear and concise, and it was found that the use of this system introduces little overhead into the final implementation.

Item Type: Thesis (PhD)
Qualification Level: Doctoral
Additional Information: Adviser: John O'Donnell
Keywords: Computer science
Date of Award: 2001
Depositing User: Enlighten Team
Unique ID: glathesis:2001-74954
Copyright: Copyright of this thesis is held by the author.
Date Deposited: 27 Sep 2019 15:00
Last Modified: 27 Sep 2019 15:00
URI: https://theses.gla.ac.uk/id/eprint/74954

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year