Low level Architecture-independence of Glasgow Parallel Haskell (GpH)

Philip W. Trinder, Ed. Barry Jr., M. Kei Davis, Kevin Hammond, Sahalu B. Junaidu, Ulrike Klusic, Hans-Wolfgang Loidl, and Simon L. Peyton Jones

In principle, pure functional languages promise straightforward architecture-independent parallelism. We investigate the validity of this claim in the context of our highly-portable implementation of an implicitly-parallel functional language: the GUM implementation of Glasgow Parallel Haskell (GpH). We focus here on the low-level architecture independence of GUM: the high-level architecture independence of the GpH programming model is discussed elsewhere.

Low-level architecture independence is achieved by choosing a message-passing model for GUM, and implementing it using portable C and a widely-supported message-passing library like PVM. In fact GUM is largely independent of the message-passing library, and has been adapted to use MPI and the CM-5 CMMD libraries as well as PVM. As a result, GUM is easily ported, and is currently available on seven platforms including shared-memory machines, distributed memory machines, and networks of workstations. We provide indicative measurements of the efficiency and speedups delivered by GUM on a range of architectures.

  author = 	 {Philip W. Trinder and Ed. {Barry Jr.} and M. Kei Davis and Kevin Hammond and Sahalu B. Junaidu and Ulrike Klusik and Hans-Wolfgang Loidl and and Simon L. {Peyton Jones}},
  title = 	 {GpH: An Architecture-Independent Functional Language},
  booktitle =    {Glasgow Functional Programming Workshop},
  address =      {Pitlochry, Scotland},
  year = 	 1998,
  month = 	 sep

Available in: ps, ps.gz

GPH Papers | GPH