An adaptive granularity control algorithm for the parallel execution of functional programs

Gad Aharoni*, Amnon Barak, Yaron Farber

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

Abstract

An on-line (run time), adaptive algorithm for granularity control of the parallel execution of functional programs is presented. This algorithm utilizes the inherent parallelism of functional programs, yet it endeavours to limit excessive parallelism. It can be applied to programs without any prior knowledge of their behaviour, and it does not require the programmer to add explicit parallel annotations. The algorithm takes advantage of the ability to expose, at run time, the shape of the underlying computation graph of the program. It also balances between the amount of local computation and the costs of remote execution. Based on these considerations, the algorithm allocates tasks to processing elements in a way that tries to minimize the overall execution time of the program. Continuous sampling of the computation graph allows self-tuning of the algorithm, when the underlying graph changes gradually.

Original languageEnglish
Pages (from-to)163-174
Number of pages12
JournalFuture Generation Computer Systems
Volume9
Issue number3
DOIs
StatePublished - Sep 1993

Keywords

  • competitive algorithms
  • fine-grained computation
  • functional programming
  • Granularity
  • on-line
  • parallel processing

Fingerprint

Dive into the research topics of 'An adaptive granularity control algorithm for the parallel execution of functional programs'. Together they form a unique fingerprint.

Cite this