FX-87 Performance Measurements: Dataflow Implementation

Abstract

This report documents a series of experiments performed to explore the thesis that the FX-87 effect system permits a compiler to schedule imperative programs (i.e., programs that may contain side-effects) for execution on a parallel computer. We analyze how much the FX-87 static effect system can improve the execution times of five benchmark programs on a parallel graph interpreter. Three of our benchmark programs do not use side-effects (factorial, fibonacci, and polynomial division) and thus did not have any effect induced constraints. Their FX-87 performance was comparable to their performance in a purely functional language. Two of our benchmark programs use side-effects (DNA sequence matching and Scheme interpretation) and our compiler was able to use effect information to reduce their execution times by factors of 1.7 to 5.4 when compared with sequential execution times. These results support our thesis that a static effect system is a powerful tool for compilation to multiprocessor computers. However, the graph interpreter we used was based on unrealistic assumptions, and thus our results may not accurately reflect the performance of a practical FX-87 implementation. The results also suggest that conventional loop analysis would complement the FX-87 effect system. Keywords: Concurrent programming, Programming languages, Compilers, Parallelism, FX-87 language, Functional programs, Scheme interpreter, Dataflow graphs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 1988
Accession Number
ADA203150

Entities

People

  • David K. Gifford
  • R. T. Hammel

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies
  • Weapons Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Compilers
  • Computational Science
  • Computations
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Information Processing
  • Language
  • Parallel Computing
  • Polynomials
  • Recursive Functions
  • Sequences
  • Side Effects

Fields of Study

  • Computer science

Readers

  • Computational Modeling and Simulation
  • Operations Research
  • Parallel and Distributed Computing.