This Article 
 Bibliographic References 
 Add to: 
Dataflow Computing Models, Languages, and Machines for Intelligence Computations
December 1988 (vol. 14 no. 12)
pp. 1805-1828

The authors compare dataflow computing models, languages, and dataflow computing machines for numerical and nonnumerical computations. The high-level-language-graph transformations that must be performed to achieve high performance for numerical and nonnumerical programs executed in a dataflow computing environment are described for Lisp, using the DCBL transformations. Some general problems of dataflow computing machines are discussed. Performance evaluation measurements obtained by executing benchmark programs in the ETL nonnumerical dataflow computing environment, the EM-3, are presented.

[1] J. E. Rodriguez, "A graph model for parallel computation," Tech. Rep. TR ESL-R-398, MAC-TR-64, Lab. Comput. Sci., MIT, Sept. 1969.
[2] J. B. Dennis,First Version of a Data Flow Procedure Language. New York: Springer-Verlag, Apr. 1974, pp. 362-376.
[3] J. B. Dennis, G. R. Gao, and K. Todd, "Modeling the weather with a dataflow super computer,"IEEE Trans. Comput., vol. C-33, no. 7, pp. 592-603, July 1984.
[4] J. B. Dennis, "Data flow computation," inNATO ASI Series, Vol. F14, Control Flow and Data Flow: Concepts of Distributed Programming, M. Broy, Ed. Berlin: Springer-Verlag, 1985, pp. 346-397.
[5] J. D. Brock, "Operational Semantics of a data flow language," MIT, Tech. Rep. MIT/LCS/TM-120.
[6] M. Cornish, "The TI dataflow architectures: The power of concurrency for avionics," inIEEE Proc. 3rd Conf. Digital Avionics Systems, Fort Worth, TX, Nov. 1979, pp. 19-25.
[7] M. Cornish, D. W. Hogan, and J. C. Jensen, "The Texas Instruments distributed processor," inProc. Louisiana Computer Exposition, Lafaytte, LA, Mar. 1979, pp. 189-193.
[8] Arvind and K. P. Gostelow, "Some relationships between asynchronous interpreters of a dataflow language," inProc. IFIP WG2.2 Conf. Formal Description of Programming Languages, St. Andrews, Canada, 1977.
[9] Arvind and K. P. Gostelow, "The U-interpreter,"Computer, vol. 15, no. 2, pp. 42-49, Feb. 1982.
[10] P. Arvind, V. Kathail, and K. Pingaley, "A dataflow architecture with tagged tokens," Lab. Comput. Sci., MIT, Rep. TM-174, Sept. 1980.
[11] Arvind and D. E. Culler, "Dataflow architectures," Lab. Comput. Sci., MIT, Rep. TM-294, 1986.
[12] J. R. Gurd and I. Watson, "A multilayered dataflow computer architecture," inProc. 7th Int. Conf. Parallel Processing, Aug. 1977.
[13] I. Watson and J. R. Gurd, "A prototype dataflow computer with token labelling," inProc. 1979 Nat. Computing Conf. AFIPS Proc., vol. 48, June 1979, pp. 623-628.
[14] J. R. Gurd, J. R. W. Glauert, and C. C. Kirkham, "Generation of dataflow graphical object code for the lapse programming language," inLecture Notes in Computer Science, vol. 111. Berlin: Springer-Verlag, June 1981, pp. 155-168.
[15] J. Gurd and I. Watson, "Preliminary evaluation of a prototype data-flow computer," inProc. IFIP, 1983, pp. 545-551.
[16] 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.
[17] A. L. Davis, "A dataflow evaluation system based on the concept of recursive locality," inProc. 1979 Nat. Computer Conf., vol. 48, AFIPS, 1979, pp. 1079-1086.
[18] E. A. Ashcroft and R. Jagannathan, "Operator nets," inProc. Fifth Gen. Comp. Arch., IFIP, 1984.
[19] E. A. Ashcroft and W. W. Wadge, "Lucid, a non-procedural language with iteration,"Commun. ACM, vol. 20, pp. 519-526, July 1977.
[20] P. C. Treleaven, D. R. Brownbridge, R. P. Hopkins, and P. W. Rantenbach, "Combining dataflow and control flow computing,"Comput. J., vol. 25, no. 2, pp. 207-217, 1982.
[21] M. Amamiya, M. Takesue, R. Hasegawa, and H. Mikami, "Implementation and evaluation of a list-processing oriented data flow machine," inProc. 13th Annu. Int. Symp. Comput. Architecture, June 1986, pp. 10-19.
[22] N. Takahashi and M. Amamiya, "A data flow processor array system--Design and analysis," inProc. 10th Annu. Int. Symp. Computer Architecture, IEEE, 1983, pp. 243-250.
[23] M. Amamiya, R. Hasegawa, and S. Ono, "VALID: A high level functional language for dataflow machine,"Rev. ECL, vol. 32, no. 5, pp. 793-802, 1984.
[24] M. Amamiya, R. Hasegawa, O. Nakamura, and H. Mikami, "A list processing oriented data flow machine architecture," inProc. Nat. Comput. Conf., AFIPS, 1982, pp. 143-151.
[25] M. Amamiya and R. Hasegawa, "Dataflow computing and eager and lazy evaluation,"J. New Gen. Comput., vol. 2, no. 8, pp. 105-129, 1984.
[26] S. Ono, N. Takahashi, and M. Amamiya, "Optimized demand-driven evaluation of functional programs on a dataflow machine," inProc. Int. Conf. Parallel Processing '86, pp. 421-428.
[27] T. Yuba, Y. Yamaguchi, and T. Shimada, "A control mechanism of a Lisp based data-driven machine,"Inform. Processing Lett., vol. 16, pp. 139-143, 1983.
[28] Y. Yamaguchi, K. Toda, and T. Yuba, "A performance evaluation of a Lisp based data-driven machine (EM-3)," inProc. 10th Annu. Int. Symp. Comput. Arch., 1983, pp. 363-369.
[29] Y. Yamaguchi, K. Toda, J. Herath, and T. Yuba, "EM-3: A LISP-based data-driven machine," inProc. Int. Conf. Fifth Generation Comput Syst., ICOT, 1984, pp. 524-532.
[30] K. Toda, Y. Yamaguchi, Y. Uchibori, and T. Yuba, "Preliminary measurements of the ETL LISP-based data-driven machine," inProc. IFIP TC-10 Working Conf. Fifth Gen. Comput. Arch., July 1985.
[31] J. Herath, N. Saito, K. Toda, Y. Yamaguchi, and T. Yuba, "Not(operation) for high speed data-flow computing systems," inProc. Int. Conf. Supercomputing Systems, Dec. 1985, pp. 524-532.
[32] J. Herath, N. Saito, K. Toda, Y. Yamaguchi, and T. Yuba, "Data-flow computing base language withn-value logic," inProc. Fall Joint Comput. Conf., Nov. 1986.
[33] J. Herath, Y. Yamaguchi, T. Yuba, and N. Saito, "Extended not(operation) based dataflow computing for intelligent switching," inProc. Int. Conf. Supercomputing Systems, May 1987.
[34] J. A. Robinson, "A machined-oriented logic based on the resolution principle,"J. Assoc. Comput. Mach., vol. 12, no. 1, pp. 23-41, Jan. 1965.
[35] M. H. van Emden and R. A. Kowalski, "The semantics of predicate logic as a programming language,"J. ACM, vol. 23, no. 4, pp. 733- 743, 1976.
[36] A. Colmerauer, "Prolog and infinite trees," inLogic Programming. New York: Academic, 1982.
[37] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[38] K. L. Clark and S. Gregory, "A relational language for parallel programming," inProc. ACM Conf. Functional Languages and Computer Architecture, Portsmouth, NH, Arvind and J. Dennis, Eds., 1981, pp. 171-178.
[39] K. L. Clark and S. Gregory, "PARLOG: Parallel programming in logic,"ACM Trans. Program. Lang., vol. 8, pp. 1-49, 1986.
[40] E. Y. Shapiro, "A Sub set of Concurrent Prolog and its interpreter," TR-003, ICOT, Tokyo, Tech. Rep. TR-003, Feb. 1983.
[41] J. Backus, "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs,"Commun. ACM, vol. 21, no. 8, pp. 613-641, Aug. 1978.
[42] J. Backus, "Function level computing,"IEEE Spectrum, pp. 22-27, Aug. 1982.
[43] J. McGraw, "SISAL: Streams and iteration in a single-assignment language reference manual," Univ, California, Lawrence Livermore Nat. Lab., Rep. M-146, Mar. 1985.
[44] S. Skedzielewski and J. Glauert, "IF1--An intermediate form for applicative languages," Univ. California, Lawrence Livermore Nat. Lab., Rep. M-170, July 1985.
[45] O. Gellyet al., "LAU software system: A high level data driven language for parallel programming," inProc. 1976 Int. Conf. Parallel Processing, Aug. 1976.
[46] D. Comte, N. Hifdi, J. Syre, "The data driven LAU multiprocessor system: Results and perspectives," inProc. IFIP Congress 80, Tokyo, Oct. 1980, pp. 175-180.
[47] J.-L. Gaudiot, M. Dubois, L.-T. Lee, and N. G. Thome, "The TX16: a highly programmable multimicroprocessor architecture,"IEEE Micro, pp. 18-31, Oct. 1986.
[48] T. Shimada, K. Hiraki, and K. Nishida, "An architecture of a data-flow machine and its evaluation," inProc. COMPCON '84, Spring 1984, pp. 486-490.
[49] K. Hiraki, K. Nishida, S. Sekiguchi, and T. Shimada, "Maintenance architecture and LSI implementation of a dataflow computer with a large number of processors," inProc. Int. Conf. Parallel Processing '86.
[50] K. Hiraki, T. Shimada, and K. Nishida, "A hardware design of the SIGMA-1--A dataflow computer for scientific computations," inProc. 1984 Int. Conf. Parallel Processing, IEEE, 1984, pp. 524- 531.
[51] T. Shimada, K. Hiraki, K. Nishida, and S. Sekiguchi, "Evaluation of a prototype data flow processor of the SIGMA-1 for scientific computations," inProc. 13th Annu. Int. Symp. Comput. Architecture, June 1986, pp. 226-234.
[52] T. Yuba, "Research and development efforts on data-flow computer architecture in Japan,"J. Inform. Processing, vol. 9, no. 2, pp. 51- 62, 1986.
[53] B. Wah and G-.J. Li, "Computers for artificial intelligence applications,"IEEE Tutorial, 1986.
[54] M. E. Kopache and E. P. Glinert, "C2: A mixed textual/graphical environment for C," inProc. IEEE Workshop Visual Languages. 1988, pp. 231-238.
[55] P. C. Treleaven, D. R. Brownbridge, and R. P. Hopkins, "Data-driven and demand-driven computer architecture,"ACM Comput. Surveys, vol. 14, pp. 93-143, Mar. 1982.
[56] J. Herath, T. Yuba, and N. Saito, "Dataflow computing," inProc. Int. Workshop Parallel Algorithms and Architectures '87 (Lecture Notes in Computer Science). Berlin: Springer-Verlag, May 1987.
[57] M. Tokoro, J. R. Jagannathan, and H. Sunahara, "On the working set concept for data-flow machines," inProc. 10th Annu. Int. Symp. Comput. Architecture, July 1983, pp. 90-97.
[58] N. Ito and M. Sato, "The architecture and preliminary evaluation results of the experimental parallel inference machine PIM-D," inProc. 13th Int. Symp. Comput. Arch., 1986, pp. 149-156.
[59] T. Suzuki, K. Kurihara, H. Tanaka, and T. Moto-oka, "Procedure level dataflow processing on dynamic structure multimicroprocessors,"J. Inform. Processing, vol. 5, no. 1, pp. 11-16, 1982.
[60] M. Kishi, H. Yasuhara, and Y. Kawamura, "DDDP: A distributed data-driven processor," inProc. 10th Annu. Int. Symp. Comput. Arch., IEEE, 1983, pp. 236-242.
[61] K. Oyama, N. Nguyen, V. P. Shrestha, T. Saito, and H. Inose, "System design of a distributed dataflow computer and its experimental evaluation,"Trans. Inform. Proc. Soc. Japan, vol. 25, no. 1, pp. 101-108, 1984.
[62] H. Nishikawa, K. Asada, and H. Terada, "A decentralized controlled multiprocessor system based on the data-driven scheme," inProc. 3rd Int. Conf. Distributed Computing Systems, 1982, pp. 639-644.
[63] M. Sowa and T. Murata, "A dataflow computer architecture with program and token memories,"IEEE Trans. Comput., vol. C-31, no. 9, pp. 820-824, 1982.
[64] T. Temma, S. Hasegawa, and S. Hanaki, "Dataflow processor for image processing," inProc. Mini and Microcomputers, vol. 5, no. 3, pp. 52-56, 1980.
[65] A. L. Wendelborn, "A hybrid data and demand driven implementation of a lucid-like programming language," inProc. 9th Comput. Sci. Conf., Canberra, Jan. 1986.

Index Terms:
performance evaluation; functional programming; dataflow languages; parallel programming; intelligence computations; dataflow computing models; dataflow computing machines; high-level-language-graph transformations; dataflow computing environment; Lisp; DCBL; benchmark programs; ETL; EM-3; high level languages; LISP; parallel machines; parallel programming; performance evaluation
J. Herath, Y. Yamaguchi, N. Saito, T. Yuba, "Dataflow Computing Models, Languages, and Machines for Intelligence Computations," IEEE Transactions on Software Engineering, vol. 14, no. 12, pp. 1805-1828, Dec. 1988, doi:10.1109/32.9065
Usage of this product signifies your acceptance of the Terms of Use.