GUM: a Portable Parallel Implementation of Haskell

Philip W. Trinder, Kevin Hammond, James S. Mattson Jr., Andrew Partridge, and Simon L. Peyton Jones
Proceedings of Programming Languages Design and Implementation, Philadelphia, USA, 1996

GUM is a portable, parallel implementation of the Haskell functional language. Despite sustained research interest in parallel functional programming, GUM is one of the first such systems to be made publicly available. GUM is message-based, and portability is facilitated by using the PVM communications harness that is available on many multi-processors. As a result, GUM is available for both shared-memory (Sun SPARCserver multiprocessors) and distributed-memory (networks of workstations) architectures. The high message-latency of distributed machines is ameliorated by sending messages asynchronously, and by sending large packets of related data in each message. Initial performance figures demonstrate absolute speedups relative to the best sequential compiler technology. To improve the performance of a parallel Haskell program GUM provides tools for monitoring and visualising the behaviour of threads and of processors during execution.

@InProceedings{gum,
  author = 	 {Philip W. Trinder and Kevin Hammond and James
S. {Mattson Jr.} and Andrew S. Partridge and Simon L. {Peyton Jones}},
  title = 	 {{GUM}: a portable implementation of {H}askell},
  booktitle = 	 {Proceedings of Programming Language Design and Implementation},
  month = 	 may,
  year = 	 {1996},
  address = 	 {Philadephia, USA}
}

Available in: html, ps, ps.gz

Note that an earlier (more detailed) version of this paper was published in IFL, Bastad, Sweden, September 1995.

@InProceedings{gum-ifl,
  author = 	 {Philip W. Trinder and Kevin Hammond and James
S. {Mattson Jr.} and Andrew S. Partridge and Simon L. {Peyton Jones}},
  title = 	 {{GUM}: a portable implementation of {H}askell},
  booktitle = 	 {International Workshop on the Implementation of
Functional Languages},
  month = 	 sep,
  year = 	 {1995},
  address = 	 {Bastad, Sweden}
}
Available in: ps, ps.gz


GPH Papers | GPH