Strategic SPMD

Kevin Hammond. Glasgow Functional Programming Workshop, Pitlochry, Scotland, September 1998.

This paper extends the existing concepts of evaluation strategies, higher-order functions that can be uses to separate behaviour from algorithm in parallel functional programs, to support the SPMD model of parallelism. Our model allows SPMD sub-programs to be composes with other parallel paradigms, or to be arbitrarily nested with other parallel paradigms. This represents a major step towards supporting the Group SPMD model, a generalisation of SPMD, in Glasgow Parallel Haskell. It also represents the first attempt of which we are aware to model SPMD programming in a system supporting implicit communications.

In order to ensure that the necessary barrier communications are modelled correctly at the high level we use the implementation concept synchronisation through logically shared graph reduction. We therefore ensure, in common with other work on evaluation strategies, that no new constructs need be added to the host functional language other than basic ones to introduce parallelism and enforce sequential execution. In order to ensure accurate modelling of the SPMD paradigm it is, however, convenient to introduce a primitive to control task placement.

Although there is, as yet, no efficient implementation of the SPMD strategy, we are confident that this could be constructed using an algorithmic skeleton, or similar implementation technique.

  author = 	 {Kevin Hammond},
  title = 	 {Strategic {SPMD}},
  booktitle = 	 {Glasgow Workshop on Functional Programming},
  year = 	 1998,
  address = 	 {Pitlochry, Scotland},
  month = 	 sep

Available in: ps, ps.gz

GPH Papers | GPH