Alfalfa: Distributed graph reduction on a hypercube multiprocessor

  • Benjamin Goldberg
  • Paul Hudak
Graph Reduction On Existing Architectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 279)


Alfalfa is implementation of a functional language on the Intel iPSC multiprocessor. It is based on a heterogeneous abstract machine model consisting of both graph reduction and stack oriented execution. Alfalfa consists of two major components, a compiler and a run-time system. The source language, Alfl, contains no constructs that allow the programmer to specify parallelism or synchronization and thus it is the task of the compiler to detect the exploitable parallelism in a program. The run-time system supports dynamic scheduling, interprocessor communication, and storage management. A number of statistics gathered during execution are presented.


Functional Language High Order Function Graph Reduction Serial Combinators Interprocessor Communication 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R.M. Burstall, D.B. MacQueen, and D.T. Sannella. Hope: an experimental applicative language. In The 1980 LISP Conference, pages 136–143, Stanford University, August 1980.Google Scholar
  2. [2]
    T. Clarke, P. Gladstone, and Norman A. MacLean. Skim — the s, k, i reduction machine. In The 1980 LISP Conference, pages 128–135, Stanford University, August 1980.Google Scholar
  3. [3]
    Intel Corporation. iPSC User's Guide — Preliminary. Technical Report 175455-001, Intel Corporation, July 1985.Google Scholar
  4. [4]
    P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4th ACM Sym. on Prin. of Prog. Lang., pages 238–252, ACM, 1977.Google Scholar
  5. [5]
    J. Darlington and M. Reeve. Alice: a multi-processor reduction machine for the parallel evaluation of applicative languages. In Functional Programming Languages and Computer Architecture, pages 65–76, ACM, October 1981.Google Scholar
  6. [6]
    P. Hudak. ALFL Reference Manual and Programmer's Guide. Research Report YALEU/DCS/RR-322, Second Edition, Yale University, October 1984.Google Scholar
  7. [7]
    P. Hudak. Collecting interpretations of expressions. Research Report 497, Yale University, Department of Computer Science, 1986. submitted to the Third Workshop on the Mathematical Foundations of Programming Language Semantics.Google Scholar
  8. [8]
    P. Hudak. Object and Task Reclamation in Distributed Applicative Processing Systems. PhD thesis, University of Utah, July 1982.Google Scholar
  9. [9]
    P. Hudak and B. Goldberg. Distributed execution of functional programs using serial combinators. In Proceedings of 1985 Int'l Conf. on Parallel Proc., pages 831–839, August 1985. Also appeared in IEEE Trans. on Computers, Vol C-34, No. 10, October 1985, pp. 881–891.Google Scholar
  10. [10]
    P. Hudak and B. Goldberg. Serial combinators: “optimal” grains of parallelism. In Functional Programming Languages and Computer Architecture, pages 382–388, Springer-Verlag LNCS 201, September 1985.Google Scholar
  11. [11]
    T. Johnsson. The G-machine: an abstract machine for graph reduction. Technical Report, PMG, Dept. of Computer Science, Chalmers Univ. of Tech., February 1985.Google Scholar
  12. [12]
    R.B. Kieburtz. The G-machine: a fast, graph-reduction evaluator. Technical Report CS/E-85-002, Dept. of Computer Science, Oregon Graduate Center, January 1985.Google Scholar
  13. [13]
    R. Milner. A proposal for standard ml. In Proc. 1984 ACM Conf. on LISP and Functional Prog., pages 184–197, ACM, August 1984.Google Scholar
  14. [14]
    A. Mycroft. Abstract Interpretation and Optimizing Transformations for Applicative Programs. PhD thesis, Univ. of Edinburgh, 1981.Google Scholar
  15. [15]
    D.A. Turner. SASL language manual. Technical Report, University of St. Andrews, 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Benjamin Goldberg
    • 1
  • Paul Hudak
    • 1
  1. 1.Department of Computer ScienceYale UniversityUSA

Personalised recommendations