Programming Research Group Technical Report TR-18-94

Program development and performance prediction on BSP machines using Opal

Simon Knee

August 1994, 68pp.

Parallel processing has been a topic of research since the early days of computing. Even though considerable effort has been put into this area there is still no consensus on parallel architectures, languages or models. Although parallel architectures are beginning to converge this has been largely due to financial and technological factors. It is still the case that the majority of computing machines in use at present are sequential.

Many models exist for parallel architectures but no single one has yet proved to be superior. Possible candidates for a model of parallel computation are given. Current parallel languages that conform to these models are considered, and an insight into performance prediction is given.

After comparing these various models, we choose the bulk synchronous parallel (BSP) model as the basis to develop a new parallel programming language, Opal. This is an imperative language with Ada-like modules and static process creation. An Opal program consists of asynchronous groups of synchronous processes. Examples of Opal programs are shown and the problem of predicting their performance is investigated.


This paper is available as a 159,342 byte compressed PostScript file.