Executing functional programs on a virtual tree of processors

A wide variety of computational models, including the lambda calculus, may be represented by a set of reduction rules which guide the (run-time) construction of a process tree. Even a single source of parallelism in an otherwise lazy evaluator may give rise to an exponential growth in the process tree, which must eventually overwhelm any finite architecture. We present a simple model for concurrently executing such process trees, which gives us a basis for matching the production of new tasks to the available resources. In addition, we present a generalised interpretation of a familiar topology suited to the support of large, perhaps irregular, virtual process trees on a much smaller physical network.

[1]  Robert M. Keller,et al.  A loosely-coupled applicative multi-processing system , 1899 .

[2]  Otto C. Juelich,et al.  On the recursive programming techniques , 1964, CACM.

[3]  Peter Henderson,et al.  A lazy evaluator , 1976, POPL.

[4]  J. W. Backus,et al.  Can programming be liberated from the von Neumann style , 1977 .

[5]  M. C. Pease The indirect binary n-cube array , 1977 .

[6]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[7]  D. Aspinall,et al.  Microprocessor and Its Application , 1978 .

[8]  Wil Plouffe,et al.  An asynchronous programming language and computing machine , 1978 .

[9]  Howard Jay Siegel,et al.  A survey of interconnection methods for reconfigurable parallel processing systems* , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[10]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[11]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[12]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[13]  H. T. Kung,et al.  The Design of Special-Purpose VLSI Chips , 1980, Computer.

[14]  Douglas Stott Parker,et al.  Notes on Shuffle/Exchange-Type Switching Networks , 1980, IEEE Transactions on Computers.

[15]  Rod M. Burstall,et al.  HOPE: An experimental applicative language , 1980, LISP Conference.

[16]  D. A. Turner The semantic elegance of applicative languages , 1981, FPCA '81.

[17]  F. Warren Burton,et al.  Towards a Zero Assignment Parallel Processor , 1981, ICDCS.

[18]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[19]  Gyula A. Magó Copying operands versus copying results: A solution to the problem of large operands in FFP'S , 1981, FPCA '81.

[20]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[21]  Larry D. Wittie,et al.  Communication Structures for Large Networks of Microcomputers , 1981, IEEE Transactions on Computers.