Skip to main content

Controlling reduction partial order in functional parallel programs

  • Resource Control Issues
  • Conference paper
  • First Online:
  • 174 Accesses

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

Abstract

In a functional parallel programming language a programmer may wish to control the reduction partial order to increase parallelism, reduce storage requirements, or reduce the total amount of work performed.

We show by a series of example that the reduction partial order can be easily controlled by using a combination of call-by-value, call-by-name, and call-by-speculation (an eager form of call-by-need).

This material is based upon work supported by the National Science Foundation under Grant No. DMC-8514946.

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. Arvind, Sharing of Computations in Functional Language Implementations, Laboratory for Computer Science, Massachusetts Institute of Technology, July 1984.

    Google Scholar 

  2. F. W. Burton and M. R. Sleep, "Executing functional programs on a virtual tree machine", Proc. 1981 Conf. Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, Oct. 1981, 187–194.

    Google Scholar 

  3. F. W. Burton, "Annotations to control parallelism and reduction order in the distributed evaluation of functional programs", ACM Trans. Prog. Lang and Systems 6, 2 (Apr. 1984), 159–174.

    Article  Google Scholar 

  4. F. W. Burton and M. M. Huntbach, "Virtual tree machines", IEEE Trans. on Computers C-33, 3 (Mar. 1984), 278–280.

    Google Scholar 

  5. F. W. Burton, "Speculative computation, parallelism, and functional programming", IEEE Trans. on Computers C-34, 12 (Dec. 1985), 1190–1193.

    Google Scholar 

  6. F. W. Burton, "Storage management in virtual tree machines", IEEE Trans. on Computers, To appear.

    Google Scholar 

  7. F. W. Burton, "Functional programming for concurrent and distributed computing", Comp. J., To appear.

    Google Scholar 

  8. F. W. Burton, "Nondeterminism with referential transparency in functional programming languages", To appear.

    Google Scholar 

  9. F. W. Burton, D. Maurer, H. Oberhauser and R. Wilhelm, "A space efficient optimization of call-by-need", IEEE Trans. on Software Eng., To appear.

    Google Scholar 

  10. D. P. Friedman and D. S. Wise, "Cons should not evaluate its arguments", Third Int. Coll. Automata Languages and Programming, Edinburgh, Scotland, 1976, 257–284.

    Google Scholar 

  11. P. Henderson and J. M. Morris, "A lazy evaluator", Conf. Rec 3th ACM Symp. on Prin. of Prog. Lang., Atlanta, Ga., Jan. 1976, 95–103.

    Google Scholar 

  12. R. J. M. Hughes, "Super Combinators: A new implementation method for applicative programs", Proc. 1982 ACM Symposium on LISP and Functional Programming, Pittsburgh, Penn., Aug. 1982, 1–10.

    Google Scholar 

  13. R. J. M. Hughes, "Why functional programming matters", Programming Methodology Group Memo PMG-40, Dept. of Computer Science, Chambers University of Technology and University of Goteborg, Goteborg, Sweden, 1984.

    Google Scholar 

  14. J. McCarthy, "A basic mathematical theory of computation", in Computer Programming and Formal Systems, P. Braffort and D. Hirschberg (editor), North Holland, Amsterdam, 1963, 33–70.

    Google Scholar 

  15. D. A. Turner, "A new implementation technique for applicative languages", Software-Practice & Experience 9 (1979), 31–49.

    Google Scholar 

  16. D. A. Turner, "Functional programs as executable specifications", in Mathematical logic and programming languages, C. A. R. Hoare and J. Shepherdson (editor), Prentice Hall, Englewood Cliffs, NJ, 1985, 29–54.

    Google Scholar 

  17. D. A. Turner, "Miranda: A non-strict functional language with polymorphic types", in Functional Programming Languages and Computer Architecture, vol. 201, J. Jouannaud (editor), Springer-Verlag, Berlin-Heidelberg-New York-Tokyo, 1985, 1–16.

    Google Scholar 

  18. P. Wadler, "Applicative style programming, program transformation, and list operators", Proc. 1981 Conf. Functional Programming Languages and Computer Architecture, Portsmouth, New Hampshire, Oct. 1981.

    Google Scholar 

  19. C. P. Wadsworth, Semantics and Progmatics of the Lambda-Calculus, Oxford University, 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joseph H. Fasel Robert M. Keller

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Burton, F.W. (1987). Controlling reduction partial order in functional parallel programs. In: Fasel, J.H., Keller, R.M. (eds) Graph Reduction. GR 1986. Lecture Notes in Computer Science, vol 279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18420-1_58

Download citation

  • DOI: https://doi.org/10.1007/3-540-18420-1_58

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18420-1

  • Online ISBN: 978-3-540-47963-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics