This Article 
 Bibliographic References 
 Add to: 
CTDNet-A Mechanism for the Concurrent Execution of Lambda Graphs
November 1989 (vol. 15 no. 11)
pp. 1357-1367

The authors describe CTDNet, a data-driven reduction machine for the concurrent execution of applicative functional programs in the form of lambda calculus expressions. Such programs are stored as binary-tree-structured process graphs in which all processes maintain pointers to their immediate neighbors (i.e. ancestor and two children). Processes are of two basic types: master processes, which represent the original process graph, and slave processes, which carry out the actual executional work and are dynamically created and destroyed. CTDNet uses a distributed eager evaluation scheme with a modification to evaluate conditional expressions lazily, together with a form of distributed string reduction with some graphlike modifications.

[1] J. B. Dennis,First Version of a Data Flow Procedure Language. New York: Springer-Verlag, Apr. 1974, pp. 362-376.
[2] J. B. Dennis and D. P. Misunas, "A computer architecture for highly parallel signal processing," inProc. NCC, 1974, pp. 402-409.
[3] J. B. Dennis, "The varieties of data flow computers," inProc. 1st Int. Conf. Distributed Computing Systems, Toulouse, France, Oct. 1979, pp. 430-439.
[4] D. Comite and N. Hifdi, "LAU multiprocessor: Microfunctional description and technological choices," inProc. 1st European Conf. Parallel and Distributed Processing, Toulouse, France, Feb. 1979, pp. 8-15.
[5] J. R. Gurd, "Fundamentals of data flow," inDistributed Computing, F. B. Chamberset al., Eds. New York: Academic, 1984.
[6] A. L. Davis, "The architecture and system method of DDM1: A recursively structured data driven machine," inProc. Fifth Annu. Symp. Comput. Architecture, Apr. 1978, pp. 210-215.
[7] K. J. Berkling, "A computing machine based on tree structures,"IEEE Trans. Comput., vol. C-20, pp. 404-418, Jan, 1974.
[8] K. Berkling, "Reduction languages for reduction machines," inProc. IEEE Int. Symp. Comput. Architecture, 1975, pp. 133-140.
[9] G. A. Mago, "A cellular computer architecture for functional programming," inProc. IEEE COMPCON, 1980, pp. 179-187.
[10] R. M. Keller, G. Lindstrom, and S. Patil, "A loosely coupled applicative multiprocessing system," inAFIPS Conf. Proc., NCC, 1978, pp. 861-870.
[11] J. R. Kennaway and M. R. Sleep, "Novel architectures for declarative languages,"Software Microsyst., vol. 2, no. 3, pp. 59-70, June 1983.
[12] D. A. Turner, "A new implementation technique for applicative languages,"Software Practice Exp., vol. 9, pp. 31-49, 1979.
[13] M. D. Cripps, A. J. Field, and M. J. Reeve, "The design and implementation of ALICE: A parallel graph reduction machine," Imperial College London, Internal Rep., 1985.
[14] P. C. Treleaven, "Executing program concurrency in computing systems,"Computer, vol. 12, no. 1, pp. 42-49, Jan. 1979.
[15] A. Church, "The calculi and lambda conversion,"Ann. Math. Studies, vol. 6. Princeton, NJ: Princeton University Press, 1941.
[16] W. H. Burge,Recursive Programming Techniques. Reading, MA: Addison-Wesley, 1975.
[17] J. E. Stoy,Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. Cambridge, MA: MIT Press, 1977.
[18] J. R. Kennaway and M. R. Sleep, "Expressions as processes," inProc. ACM Symp. Lisp and Functional Programming, 1982.
[19] H. P. Barendregt, "The lambda calculus, its syntax and semantics," inStudies in Logic and the Foundations of Mathematics, vol. 103, Amsterdam, The Netherlands: North-Holland, 1984.
[20] S. C. Winter, "A cube-type distributed interconnection of computing elements," inProc. 9th Euromicro Symp. Microprocessing and Microprogramming, Madrid, Spain, Sept. 1983.
[21] M. J. Flynn, "Some computer organizations and their effectiveness,"IEEE Trans. Comput., vol. C-21, no. 9, Sept. 1972.
[22] J. P. Gupta, "The realisations of a CTD multiprocessor architecture," Ph.D. dissertation, Polytechnic Central London, 1985.

Index Terms:
CTDNet; concurrent execution; lambda graphs; data-driven reduction machine; applicative functional programs; lambda calculus expressions; binary-tree-structured process graphs; pointers; neighbors; ancestor; children; master processes; slave processes; distributed eager evaluation scheme; conditional expressions; distributed string reduction; graph theory; parallel machines; parallel programmingas
J.P. Gupta, S.C. Winter, D.R. Wilson, "CTDNet-A Mechanism for the Concurrent Execution of Lambda Graphs," IEEE Transactions on Software Engineering, vol. 15, no. 11, pp. 1357-1367, Nov. 1989, doi:10.1109/32.41329
Usage of this product signifies your acceptance of the Terms of Use.