Advertisement

A coarse grain parallel architecture for functional languages

  • L. O. Hertzberger
  • W. G. Vree
Submitted Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 365)

Abstract

Design considerations of a coarse grain parallel architecture for functional languages are presented. These include extensibility, the separation of computation and control of parallelism, the introduction of partially shared memories, a cluster concept and a conceptually centralised loadbalancing mechanism. The implementation of parallel reduction is based on annotation of coarse grain strict arguments. Speed-up figures for a number of application programs are obtained by measurements on a pilot implementation of the architecture. The experience obtained with the experimental machine suggests the use of VLSI for specialised parts of the implementation. The proposed design is compared with related architectures.

Keywords

Garbage Collection Functional Program Functional Language Graph Reduction Reduction Task 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

7. References

  1. [BAR87]
    H.P. Barendregt, M.C.J.D. van Eekelen, M.J. Plasmeijer, P.H. Hartel, L.O. Hertzberger, W.G. Vree, "The Dutch Parallel Reduction Machine Project", Frontiers in Computing, Amsterdam, December 1987.Google Scholar
  2. [BUR81]
    F.W. Burton, M.R. Sleep, "Executing functional programs on a virtual tree of processors", Conference on functional languages and computer architecture, New Hampshire, 1981, pp 187–194.Google Scholar
  3. [FAI87]
    J. Fairbairn, S. Wray, "Tim: a simple, lazy abstract machine to execute supercombinators", Proceedings of the Third International Conference on Functional Programming Languages and Computer Architecture (FPCA '87), Portland, Oregon, USA, LNCS 274, pp. 364–384, September 1987.Google Scholar
  4. [HAR86]
    P.H. Hartel, W.G. Vree, "A load distribution network for a multi processor reduction machine", Internal report D-6, PRM project, April 1986Google Scholar
  5. [HAR88]
    P.H. Hartel, W.G. Vree, Parallel graph reduction for divide and conquer applications-part II, Internal report D-20, PRM project, December 1987.Google Scholar
  6. [HOF88]
    R.F.H. Hofman, "An on-the-fly scheduling algorithm for a parallel reduction machine", Internal report D-18, PRM project, October 1988.Google Scholar
  7. [HUD85]
    P. Hudak, "Distributed execution of functional programs using serial combinators", IEEE transactions on computers, Vol C-34, number 10, October 1985.Google Scholar
  8. [JOH84]
    T. Johnsson, "Efficient Compilation of Lazy Evaluation", Proc. of the ACM Sigplan '84, Sigplan Notices, Vol. 19, No 6, June 1984.Google Scholar
  9. [JOH85]
    T. Johnsson, "Lambda lifting", Proc. Aspenas workshop on implementations of functional languages, Sweden February 1985Google Scholar
  10. [KEL84]
    R.M. Keller, F.C.H. Lin, "Simulated performance of a reduction based multiprocessor", IEEE Computer, Vol 17, July 1984Google Scholar
  11. [KEL86]
    R.M. Keller, J.W. Slater, K.V. Likes, "Overview of Rediflow II Development", Proceedings of a workshop on graph reduction, September/October 1986, Santa Fé, New Mexico, USA, LNCS 279, pp 203–214Google Scholar
  12. [MAR83]
    J. Marti, J. Fitch, "The Bath concurrent Lisp machine", Eurocal, 1983, Lecture notes in computer science 162, pp 78–90Google Scholar
  13. [MCB87]
    D.L. McBurney, M.R. Sleep, "Transputer-based experiments with the ZAPP architecture", PARLE '87, LNCS 258, pp 242–259Google Scholar
  14. [PEY87]
    S.L. Peyton-Jones, C. Clack, J. Salkild, M. Hardie, "GRIP-a high performance architecture for parallel graph reduction", Proceedings of the Third International Conference on Functional Programming Languages and Computer Architecture (FPCA '87), Portland, Oregon, USA, LNCS 274, pp. 98–112, September 1987.Google Scholar
  15. [TUR79]
    D.A. Turner, "A new implementation technique for applicative languages", Software practice and experience, Vol 9, pp 31–49, 1979Google Scholar
  16. [VRE87]
    W.G. Vree, "The grain size of parallel computations in a functional program", Proc. of the int. conf. on parallel processing and applications, l'Aquila, Italy September 1987.Google Scholar
  17. [VRE88]
    P.H. Hartel, W.G. Vree, Parallel graph reduction for divide and conquer applications-part I, Internal report D-15, PRM project, December 1987.Google Scholar
  18. [VRE89]
    W.G. Vree, "Parallel graph reduction for communicating sequential processes", Internal report D-26, PRM project, Februari 1989.Google Scholar
  19. [WAN81]
    H.H. Wang, "A parallel method for Tridiagonal Equations", ACM transactions on Mathematical Software, Vol 7, No 2, June 1981, pp 170–183CrossRefGoogle Scholar
  20. [WAT87]
    P. Watson, I. Watson, "Evaluating functional program on the FLAGSHIP machine", Proceedings of the Third International Conference on Functional Programming Languages and Computer Architecture (FPCA '87), Portland, Oregon, USA, LNCS 274, pp. 80–97, September 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • L. O. Hertzberger
    • 1
  • W. G. Vree
    • 1
  1. 1.Department of computer systemsUniversity of AmsterdamAmsterdam

Personalised recommendations