Serial combinators: "optimal" grains of parallelism

  • Paul Hudak
  • Benjamin Goldberg
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 201)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Barendregt, H.P., The Lambda Calculus: Its Syntax and Semantics. North-Holland, 1984.Google Scholar
  2. 2.
    Burton, F.W. "Annotations to control parallelism and reduction order in the distributed evaluation of functional programs". ACM Trans. on Prog. Lang. and Sys. 6, 2 (April 1984).Google Scholar
  3. 3.
    Curry, H.K., and Feys, R.. Combinatoroy Logic. Noth-Holland Pub. Co., Amsterdam, 1958.Google Scholar
  4. 4.
    Hudak, P. Distributed Task and Memory Management. Proc. of Sym. on Prin. of Dist. Comp., ACM, Aug., 1983, pp. 277–289.Google Scholar
  5. 5.
    Hudak, P. and Goldberg, B. Experiments in diffused combinator reduction. Sym. on LISP and Functional Programming, ACM, Aug., 1984, pp. 167–176.Google Scholar
  6. 6.
    Hudak, P. Distributed Applicative Processing Systems: Project Goals, Motivation, and Status Report. Technical Report YALEU/DCS/TR-317, Yale University, May, 1984.Google Scholar
  7. 7.
    Hudak, P. ALFL Reference Manual and Programmers Guide. Technical Report YALEU/DCS/TR-322, Second Edition, Yale University, Oct., 1984.Google Scholar
  8. 8.
    Hudak, P. and Kranz, D. A combinator-based compiler for a functional language. 11th ACM Sym. on Prin. of Prog. Lang., ACM, Jan., 1984, pp. 121–132.Google Scholar
  9. 9.
    Hudak, P. and Goldberg, B. Efficient distributed evaluation of functional programs using serial combinators. to appear in Proceedings of 1985 Int'l Conf. on Parallel Proc. and IEEE Trans. on Computers (October 1985), Aug., 1985.Google Scholar
  10. 10.
    Hudak, P. and Young, J. A set-theoretic characterization of function strictness in the Lambda Calculus. Technical Report YALEU/DCS/TR-391, Yale University, Jan., 1985.Google Scholar
  11. 11.
    Hudak, P. and Smith, L. Para-functional programming: a paradigm for programming multiprocessor systems. Technical Report YALEU/DCS/TR-390, Yale University, Jan., 1985.Google Scholar
  12. 12.
    Hughes, R.J.M. Super-combinators: A new implementation method for applicative languages. Sym. on Lisp and Functional Prog., ACM, Aug., 1982, pp. 1–10.Google Scholar
  13. 13.
    Johnsson, T. The G-machine: An Abstract Machine for Graph Reduction. PMG, Dept. of Computer Science, Chalmers Univ. of Tech., Feb., 1985.Google Scholar
  14. 14.
    Keller, R.M. and Lin, F.C.H. "Simulated performance of a reduction-based multiprocessor". IEEE Computer 17, 7 (July 1984), 70–82.Google Scholar
  15. 15.
    Kleburtz, R.B. The G-machine: A Fast, Graph-Reduction Evaluator. CS/E-85-002, Dept. of Computer Science, Oregon Graduate Center, Jan., 1985.Google Scholar
  16. 16.
    Mycroft, A. Abstract Interpretation and Optimizing Transformations for Applicative Programs. Ph.D. Th., Univ. of Edinburgh, 1981.Google Scholar
  17. 17.
    Peyton Jones, S.L. with Clack, C. and Harris, N. GRIP — A Parallel Graph Reduction Machine. Internal Note 1665, Dept. of Computer Science, Univ. College London, Feb., 1985.Google Scholar
  18. 18.
    Stoy, J.E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, Cambridge, Mass., 1977.Google Scholar
  19. 19.
    Turner, D.A. "A new implementation technique for applicative languages". Software — Practice and Experience 9 (1979), 31–49.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Paul Hudak
    • 1
  • Benjamin Goldberg
    • 1
  1. 1.Department of Computer ScienceYale UniversityNew Haven

Personalised recommendations