Distributed Execution of Functional Programs Using Serial Combinators

Paul Hudak, Benjamin Goldberg

Research output: Contribution to journalArticlepeer-review

Abstract

A general strategy for automatically decomposing and dynamically distributing a functional program is discussed, suitable for parallel execution on multiprocessor architectures with no shared memory. The strategy borrows ideas from data flow and reduction machine research on one hand, and from conventional compiler technology for sequential machines on the other. One of the more troublesome issues in such a system is choosing the right granularity for the parallel tasks. As a solution we describe a program transformation technique based on serial combinators that offers in some sense just the “right” granularity for this style of computing, and that can be “fine-tuned” for particular multiprocessor architectures. We show via simulation the success of our approach.

Original languageEnglish (US)
Pages (from-to)881-891
Number of pages11
JournalIEEE Transactions on Computers
VolumeC-34
Issue number10
DOIs
StatePublished - Oct 1985

Keywords

  • Combinators
  • distributed computing
  • functional programming
  • graph reduction
  • lambda calculus
  • load-balancing
  • multiprocessing
  • parallel computing

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'Distributed Execution of Functional Programs Using Serial Combinators'. Together they form a unique fingerprint.

Cite this