Skip to main content

Serial combinators: "optimal" grains of parallelism

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 201))

Abstract

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.

This research was supported in part by NSF Grant MCS-8302018 and a grant from Burroughs Corporation.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barendregt, H.P., The Lambda Calculus: Its Syntax and Semantics. North-Holland, 1984.

    Google Scholar 

  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. Curry, H.K., and Feys, R.. Combinatoroy Logic. Noth-Holland Pub. Co., Amsterdam, 1958.

    Google Scholar 

  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. 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. 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. Hudak, P. ALFL Reference Manual and Programmers Guide. Technical Report YALEU/DCS/TR-322, Second Edition, Yale University, Oct., 1984.

    Google Scholar 

  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. 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. 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. 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. 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. 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. 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. 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. Mycroft, A. Abstract Interpretation and Optimizing Transformations for Applicative Programs. Ph.D. Th., Univ. of Edinburgh, 1981.

    Google Scholar 

  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. Stoy, J.E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, Cambridge, Mass., 1977.

    Google Scholar 

  19. Turner, D.A. "A new implementation technique for applicative languages". Software — Practice and Experience 9 (1979), 31–49.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Pierre Jouannaud

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hudak, P., Goldberg, B. (1985). Serial combinators: "optimal" grains of parallelism. In: Jouannaud, JP. (eds) Functional Programming Languages and Computer Architecture. FPCA 1985. Lecture Notes in Computer Science, vol 201. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15975-4_49

Download citation

  • DOI: https://doi.org/10.1007/3-540-15975-4_49

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-15975-9

  • Online ISBN: 978-3-540-39677-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics