Deterministic parallel programming in Phred
Adam Beguelin · 1991
Programming parallel computers can be a daunting task. Most parallel languages allow the specification of nondeterministic computations. In contrast, functional or declarative languages can only specify deterministic computations. The focus of this research is to provide the programmer with an intuitive parallel programming environment in which nondeterminacy is allowed but always identified. Phred is a graphical parallel programming language which was developed to meet these goals. The Phred programming environment allows the programmer to graphically specify a parallel computation. The environment also includes a critic which analyzes the program as it is being built and graphically displays syntax and determinacy information about the program. The Phred language and programming environment are presented along with the theoretical underpinnings of the determinacy analysis.