Skip to content

Research at St Andrews

GUM: A portable parallel implementation of Haskell

Research output: Contribution to journalArticle

Author(s)

P W Trinder, Kevin Hammond, J S Mattson, A S Partridge, S L Peyton Jones

School/Research organisations

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.

Close

Details

Original languageEnglish
Pages (from-to)79-88
Number of pages10
JournalACM SIGPLAN Notices
Volume31
Issue number5
StatePublished - May 1996

    Research areas

  • TRANSPUTER

Discover related content
Find related publications, people, projects and more using interactive charts.

View graph of relations

Related by author

  1. Automatically deriving cost models for structured parallel processes using hylomorphisms

    Castro, D., Hammond, K., Sarkar, S. & Alguwaifli, Y. Feb 2018 In : Future Generation Computer Systems. 79, Part 2, p. 653-668

    Research output: Contribution to journalArticle

  2. The Missing Link! A new skeleton for evolutionary multi-agent systems in Erlang

    Stypka, J., Turek, W., Byrski, A., Kisiel-Dorohinicki, M., Barwell, A. D., Brown, C. M., Hammond, K. & Janjic, V. Feb 2018 In : International Journal of Parallel Programming. 46, 1, p. 4-22 19 p.

    Research output: Contribution to journalArticle

  3. Proof-relevant Horn clauses for dependent type inference and term synthesis

    Farka, F., Komendantskya, E. & Hammond, K. 2018 In : Theory and Practice of Logic Programming. 18, 3-4, p. 484-501

    Research output: Contribution to journalArticle

  4. Type-based cost analysis for lazy functional languages

    Jost, S., Vasconcelos, P., Florido, M. & Hammond, K. Jun 2017 In : Journal of Automated Reasoning. 59, 1, p. 87-120 34 p.

    Research output: Contribution to journalArticle

Related by journal

  1. Clarifying and Compiling C/C++ Concurrency: from C++11 to POWER

    Batty, M., Memarian, K., Owens, S., Sarkar, S. & Sewell, P. Jan 2012 In : ACM SIGPLAN Notices. 47, 1, p. 509-520 12 p.

    Research output: Contribution to journalArticle

  2. Synchronising C/C plus plus and POWER

    Sarkar, S., Memarian, K., Owens, S., Batty, M., Sewell, P., Maranget, L., Alglave, J. & Williams, D. Jun 2012 In : ACM SIGPLAN Notices. 47, 6, p. 311-321 11 p.

    Research output: Contribution to journalArticle

  3. Mathematizing C++ Concurrency

    Batty, M., Owens, S., Sarkar, S., Sewell, P. & Weber, T. Jan 2011 In : ACM SIGPLAN Notices. 46, 1, p. 55-66 12 p.

    Research output: Contribution to journalArticle

  4. Understanding POWER Multiprocessors

    Sarkar, S., Sewell, P., Alglave, J., Maranget, L. & Williams, D. Jun 2011 In : ACM SIGPLAN Notices. 46, 6, p. 175-186 12 p.

    Research output: Contribution to journalArticle

  5. The Semantics of x86-CC Multiprocessor Machine Code

    Sarkar, S., Sewell, P., Nardelli, F. Z., Owens, S., Ridge, T., Braibant, T., Myreen, M. O. & Alglave, J. Jan 2009 In : ACM SIGPLAN Notices. 44, 1, p. 379-391 13 p.

    Research output: Contribution to journalArticle

ID: 4509796