Opal

Reference: Knee, Simon., (1997). Opal. DPhil. University of Oxford.Citable link to this page:

Opal Subtitle: Modular programming using the BSP model

Abstract: ﻿Parallel processing can provide the huge computational resources that are required to solve todaysgrand challenges, at a fraction of the cost of developing sequential machines of equal power. However,even with such attractive benefits the parallel software industry is still very small comparedto its sequential counterpart. This has been attributed to the lack of an accepted parallel modelof computation, therefore leading to software which is architecture dependent with unpredictableperformance. The Bulk Synchronous Parallel (BSP) model provides a solution to these problemsand can be compared to the Von Neumann model of sequential computation.In this thesis we investigate the issues involved in providing a modular programming environmentbased on the BSP model. Using our results we present Opal, a BSP programming language thathas been designed for parallel programming-in-the-large. While other BSP languages and librarieshave been developed, none of them provide support for libraries of parallel algorithms.A library mechanism must be introduced into BSP without destroying the existing cost model.We examine such issues and show that the active library mechanism of Opal leads to algorithmswhich still have predictable performance.If algorithms are to retain acceptable levels of performance across a range of machines then theymust be able to adapt to the architecture that they are executing on. Such adaptive algorithmsrequire support from the programming language, an issue that has been addressed in Opal.To demonstrate the Opal language and its modular features we present a number of examplealgorithms. Using an Opal compiler that has been developed we show that we can accuratelypredict the performance of these algorithms.The thesis concludes that by using Opal it is possible to program the BSP model in a modularfashion that follows good software engineering principles. This enables large scale parallel softwareto be developed that is architecture independent, has predictable performance and is adaptiveto the target architecture.

Type of Award:DPhil Level of Award:Doctoral Awarding Institution: University of Oxford Notes:The digital copy of this thesis has been made available thanks to the generosity of Dr Leonard Polonsky