GUM: a portable parallel implementation of Haskell

  • Authors:
  • P. W. Trinder;K. Hammond;J. S. Mattson, Jr.;A. S. Partridge;S. L. Peyton Jones

  • Affiliations:
  • Department of Computing Science, Glasgow University;Department of Computing Science, Glasgow University;Hewlett-Packard, California Language Laboratory and Department of Computing Science, Glasgow University;Department of Computer Science, University of Tasmania and Department of Computing Science, Glasgow University;Department of Computing Science, Glasgow University

  • Venue:
  • PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.