A Parallel Complexity Model for Functional Languages.

Abstract

A complexity model based on the A-calculus with an appropriate operational semantics in presented and related to various parallel machine models, including the PRAM and hypercube models. The model is used to study parallel algorithms in the context of sequential' functional languages and to relate these results to algorithms designed directly for parallel machine models. For example, the paper shows that equally good upper bounds can be achieved for merging two sorted sequences in the pure A-calculus with some arithmetic constants as in the EREW PRAM, when they are both mapped onto a more realistic machine such as a hypercube or butterfly network. In particular for n keys and p processors, they both result in an O(n/p + log (2) p) time algorithm. These results argue that it is possible to get good parallelism in functional languages without adding explicitly parallel constructs. In fact, the lack of random access seems to be a bigger problem than the lack of parallelism.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 20, 1994
Accession Number
ADA288589

Entities

People

  • Guy Belloch
  • John Greiner

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Algorithms
  • Arithmetic
  • Calculus
  • Computations
  • Computer Languages
  • Computer Science
  • Computers
  • Environment
  • Language
  • Lepidoptera
  • Machine Languages
  • Notation
  • Parallel Computing
  • Semantics
  • Side Effects
  • Simulations
  • Trees (Data Structures)

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Graph Algorithms and Convex Optimization.
  • Parallel and Distributed Computing.