Serial combinators: “optimal” grains of parallelism

Paul Hudak, Benjamin Goldberg

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

A method is described for translating a high-level functional program into combinators suitable for execution on multiprocessors with no shared memory. It is argued that the granularity of the standard set of fixed combinators is too fine, whereas the granularity of user-defined functions is too coarse. The notion of a serial combinator is introduced that in some sense has optimal granularity, and that takes into account pragmatic issues such as the complexity of expressions and communication costs between processors. The technique improves on the standard notion of super-combinators by making them larger to retain locality and improve efficiency, and by ensuring that they have no concurrent substructure that could result in lost parallelism. Simulation results demonstrate improved performance on both sequential and parallel computing models.

Original languageEnglish (US)
Title of host publicationFunctional Programming Languages and Computer Architecture
EditorsJean-Pierre Jouannaud
PublisherSpringer Verlag
Pages382-399
Number of pages18
ISBN (Print)9783540159759
DOIs
StatePublished - 1985
Event2nd International Conference on Functional Programming Languages and Computer Architecture, 1985 - Nancy, France
Duration: Sep 16 1985Sep 19 1985

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume201 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other2nd International Conference on Functional Programming Languages and Computer Architecture, 1985
Country/TerritoryFrance
CityNancy
Period9/16/859/19/85

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Serial combinators: “optimal” grains of parallelism'. Together they form a unique fingerprint.

Cite this