MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Strategic SPMD (DRAFT)

Download:
pdf | ps
by Kevin Hammond
http://www-fp.dcs.st-and.ac.uk/publications/1998/strategic-spmd.ps.gz
Add To MetaCart

Abstract:

This paper extends the existing concept of evaluation strategies, higher-order functions that can be used to separate behaviour from algorithm in parallel functional programs, to support the SPMD model of parallelism. Our model allows SPMD sub-programs to be composed 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 communication. 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

Citations

496 S.: The Implementation of Functional Programming Languages – Jones - 1987
382 Coordination languages and their significance – Gelernter, Carriero - 1992
44 Para-Functional Programming – Hudak - 1986
27 Highperformance parallel graph reduction – Jones, Clack, et al. - 1989
24 Caml Flight: a portable SPMD extension of ML for distributed memory multiprocessors – Foisy, Chailloux - 1995
21 First-class schedules and virtual maps – Mirani, Hudak - 1995
11 Deriving Structured Parallel Implementations for Numerical Methods – Rauber, Runger - 1996
7 A methodology for deriving parallel programs with a family of parallel abstract machines – O'Donnell, Runger - 1997
1 Algorithmic Skeletons, Pitman/MIT monographs – Cole - 1989
1 Lazy Task Creation --- a Technique for Managing the Granularity of Parallel Programs – Mohr, Kranz, et al. - 1991
1 More-or-less Explicit Parallelism in Clean – Serrarens - 1998
1 Questions and answers about BSP", Scientific Programming – Skillicorn, Hill, et al. - 1997