This Article 
 Bibliographic References 
 Add to: 
Executing a Program on the MIT Tagged-Token Dataflow Architecture
March 1990 (vol. 39 no. 3)
pp. 300-318

The MIT Tagged-Token Dataflow Project has an unconventional, but integrated approach to general-purpose high-performance parallel computing. Rather than extending conventional sequential languages, Id, a high-level language with fine-grained parallelism and determinacy implicit in its operational semantics, is used. Id programs are compiled to dynamic dataflow graphs, which constitute a parallel machine language. Dataflow graphs are directly executed on the MIT tagged-token dataglow architecture (TTDA), a multiprocessor architecture. An overview of current thinking on dataflow architecture is provided by describing example Id programs, their compilation to dataflow graphs, and their execution on the TTDA. Related work and the status of the project are described.

[1] W.B. Ackerman and J.B. Dennis,VAL--A Value-Oriented Algorithmic Language: Preliminary Reference Manual, MIT Laboratory for Computer Science Technical Report, MIT/LCS/TR-218, Cambridge, Mass., June 1979.
[2] J. Allen and K. Kennedy, "PFC: A program to convert FORTRAN to parallel form," Tech. Rep. MASC-TR82-6, Rice Univ., Houston, TX, Mar. 1982.
[3] M. Amamiya, R. Hasegawa, O. Nakamura, and H. Mikami, "A listoriented data flow machine," inProc. Nat. Comput. Conf., AFIPS, 1982, pp. 143-151.
[4] Arvind and J. D. Brock, "Resource managers in functional programming,"J. Parallel Distrib. Comput., vol. 1, no. 1, Jan. 1984.
[5] Arvind and D.E. Culler, "Dataflow Architectures," inAnnual Reviews in Computer Science, 1, Annual Reviews Inc., Palo Alto, Calif., 1986, pp. 225-253.
[6] Arvind and D. E. Culler, "Managing resources in a parallel machine," inFifth Generation Computer Architectures, 1986. New York: Elsevier Science Publishers, B.V., 1986, pp. 103-121.
[7] Arvind, D. E. Culler, and G. L. Maa, "Assessing the benefits of fine-grained parallelism in dataflow programs,"Int. J. Supercomput. Appl., vol. 2, no. 3, Fall 1988.
[8] Arvind and K. Ekanadham, "Future scientific programming on parallel machines,"J. Parallel Distrib. Comput., vol. 5, no. 5, Oct. 1988.
[9] Arvind and K. Gostelow, "The U-Interpreter,"IEEE Comput. Mag., vol. 15, Feb. 1982.
[10] Arvind, K. Gostelow, and W. Plouffe, "An asynchronous programming language and computing machine," Tech. Rep. TR-114a, Dep. Inform. Comput. Sci., Univ. of California, Irvine, CA, Dec. 1978.
[11] Arvind and R. A. Iannucci, "Two fundamental issues in multiprocessing," inProc. DFVLR--Conf. 1987 Parallel Processing Sci. Eng., BonnBad Godesberg, W. Germany, June 25-29, 1987.
[12] Arvind, R. S. Nikhil, and K. K. Pingali, "I-structures: Data structures for parallel computing," inProc. Workshop Graph Reduction, Los Alamos, NM, 1986.
[13] Arvind, R. S. Nikhil, and K. K. Pingali, "Id Nouveau reference manual, Part II: Semantics," Tech. Rep., Computat. Structures Group, MIT Lab. Comput. Sci., 545 Technology Square, Cambridge, MA 02139, Apr. 1987.
[14] Arvind and R. E. Thomas, "I-structures: An efficient data type for parallel machines," Tech. Rep. TM 178, Computat. Structures Group, MIT Lab. for Comput. Sci., 545 Technology Square, Cambridge, MA 02139, Sept. 1980.
[15] L. Augustsson and T. Johnsson, "Lazy ML user's manual," Tech. Rep. (Preliminary Draft), Programming Methodology Group Rep., Dep. Comput. Sci., Chalmers Univ. of Technol. and Univ. of Goteborg, S-421 96 Goteborg, Sweden, Jan. 1988.
[16] D. E. Culler, "Resource management for the tagged token dataflow architecture," Lab. Comput. Sci., Mass. Inst. Technol., M.I.T./LCS/ TR-322, 1985.
[17] D. E. Culler, "Effective dataflow execution of scientific applications," Ph.D. dissertation, Lab. Comput. Sci., Massachusetts Instit. Technol., Cambridge, MA, 02139, 1989.
[18] J. B. Dennis,First Version of a Data Flow Procedure Language. New York: Springer-Verlag, Apr. 1974, pp. 362-376.
[19] J. Fairbairn and S. C. Wray, "TIM: A simple abstract machine for executing supercombinators," inProc. 1987 Functional Programming Comput. Architecture Conf., Portland, OR, Sept. 1987.
[20] B. Goldberg and P. Hudak, "Alfalfa: Distributed graph reduction on a hypercube multiprocessor," Tech. Rep., Dep. Comput. Sci., Yale Univ., New Haven, CT, Nov. 1986.
[21] A. Gottlieb, R. Grishman, C. Kruskal, K. McAuliffe, L. Rudolph, and M. Snir, "The NYU Ultracomputer--Designing an MIMD shared memory parallel computer,"IEEE Trans. Comput., vol. C-32, no. 2, pp. 175-189, Feb. 1983.
[22] J. R. Gurd, C. C. Kirkham, and I. Watson, "The Manchester prototype dataflow computer,"Commun. ACM, vol. 28, no. 1, pp. 34-52, Jan. 1985.
[23] K. Hiraki, S. Sekiguchi, and T. Shimada, "System architecture of a datafiow supercomputer," Tech. Rep., Comput. Syst. Division, Electrochemical Lab., 1-1-4 Umezono, Sakura-mura, Niihari-gun, Ibaraki, 305, Japan, 1987.
[24] P. Hudak and B. Goldberg, "Serial combinators: 'Optimal' grains of parallelism," inFunctional Programming Languages and Computer Architecture, Springer-Verlag LNCS 201, Sept. 1985, pp. 382-388.
[25] R. A. Iannucci, "A dataflow/von Neumann hybrid architecture," Ph.D. dissertation, Lab. for Comput. Sci., Massachusetts Institute of Technology, Cambridge, MA 02139, May 1988.
[26] T. Johnsson, "Efficient compilation of lazy evaluation,"ACM SIGPLAN Notices, pp. 58-69, June 1984.
[27] K. Cheng, V. Agrawal, and E. Kuh, "A Sequential Circuit Test Generator Using Threshold-Value Simulation,"Int'l Symp. Fault-Tolerant Computing, IEEE Computer Society Press, Los Alamitos, Calif., 1988, pp. 24-29.
[28] D. J. Kuck, R.H. Kuhn, B. Leasure, D.A. Padua, and M. Wolfe, "Compiler transformation of dependence graphs," inConf. Rec. 8th ACM Symp. Principles Program. Languages, Williamsburg, VA, Jan. 1981.
[29] D. J. Kuck, D. Lawrie, R. Cytron, A. Sameh, and D. Gajski, "The architecture and programming of the Cedar System," Tech. Rep. Cedar No. 21, Lab. for Advanced Supercomput., Dep. Comput. Sci., Univ. of Illinois at Urbana-Champaign, Aug. 12, 1983.
[30] J. McGraw, S. Skedzielewski, S. Allan, D. Grit, R. Oldehoeft, J. Glauert, P. Hohensee, and I. Dobes, "Sisal reference manual," Tech. Rep., Lawrence Livermore Nat. Lab., 1984.
[31] R. Milner, "A proposal for standard ML,"Conf. Record of the ACM Symp. LISP and Functional Programming, Aug. 1984.
[32] NEC,Advanced Product Information User's Manual."µPD7281, NEC Electronics Inc., Mountain View, CA, 1985.
[33] R. S. Nikhil, "Id World reference manual," Tech. Rep., Computat. Structures Group, MIT Lab. for Comput. Sci., 545 Technology Square, Cambridge, MA 02139, Apr. 1987.
[34] R. S. Nikhil, "Id (Version 88.1) reference manual," Tech. Rep. CSG Memo 284, MIT Lab. for Comput. Sci., 545 Technology Square, Cambridge, MA 02139, Aug. 1988.
[35] D. A. Padua and M. J. Wolfe, "Advanced compiler optimizations for supercomputers,"Common. ACM, vol. 29, no. 12, pp. 1184- 1201, Dec. 1986.
[36] G. M. Papadopoulos, "Implementation of a general-purpose dataflow multiprocessor," Ph.D. dissertation, Lab. for Comput. Sci., Massachusetts Instit. Technol., Cambridge, MA 02139, Aug. 1988.
[37] S.L. Peyton Jones et al., "GRIP-A High-Performance Architecture for Parallel Graph Reduction,"Proc. IFIP Conf. Functional Programming Languages and Computer Architecture, G. Kahn, ed., Springer Verlag, Berlin,LNCS (Lecture Notes in Computer Science) 274, Sept. 1987, pp. 98-112.
[38] V. Sarkar and J. Hennessy, "Partitioning parallel programs for macro-dataflow," inProc. 1986 ACM Conf. LISP and Functional Programming, ACM, Cambridge, MA, Aug. 1986, pp. 202-211.
[39] B. J. Smith, "A pipelined, shared resource MIMD computer," inProc. 1978 Int. Conf. Parallel Processing, 1978, pp. 6-8.
[40] 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.
[41] P. Tang, C.-Q. Zhu, and P.-C. Yew, "An implementation of Cedar synchronization primitives," Tech. Rep. Cedar No. 32, Lab. for Advanced Supercomput., Dep. Comput. Sci., Univ. of Illinois at Urbana-Champaign, Apr. 3, 1984.
[42] T. Temma, S. Hasegawa, and S. Hanaki, "Dataflow processor for image processing," inProc. 11th Int. Symp. Mini and Microcomputers, Monterey, CA, pp. 52-56, 1980.
[43] K. R. Traub, "A compiler for the MIT tagged-token dataflow architecture," M.S. thesis, MIT, Cambridge, Aug. 1986 (also published as MIT Tech. Rep. MIT/LCS/TR-370).
[44] K. R. Traub, "Sequential implementation of non-strict languages," PhD dissertation, MIT Lab. for Computer Sci., 545 Technology Square, Cambridge, MA 02139, May 1988.
[45] D. A. Turner, "A new implementation technique for applicative languages,"Software: Practice and Experience, vol. 9, no. 1, pp. 31-49, 1979.
[46] D. A. Turner, "Miranda: A nonstrict functional language with polymorphic types," inConf. Functional Program. Lang. Comput. Architecture, Nancy, France, Sept. 1985, pp. 1-16.
[47] E. A. Ashcroft and W. W. Wadge,Lucid, the data-flow programming language. New York: Academic Press, 1985.
[48] T. Yuba, T. Shimada, K. Hiraki, and H. Kashiwagi, "Sigma-1: A dataflow computer for scientific computation," Tech. Rep., Electrotechnical Lab., 1-1-4 Umesono, Sakuramura, Niiharigun, Ibaraki 305, Japan, 1984.

Index Terms:
MIT tagged-token dataflow architecture; general-purpose high-performance parallel computing; Id; high-level language; fine-grained parallelism; determinacy; operational semantics; dynamic dataflow graphs; parallel machine language; multiprocessor architecture; compilation; high level languages; parallel architectures; parallel programming; program compilers.
Arvind null, V.C. Nikhil, "Executing a Program on the MIT Tagged-Token Dataflow Architecture," IEEE Transactions on Computers, vol. 39, no. 3, pp. 300-318, March 1990, doi:10.1109/12.48862
Usage of this product signifies your acceptance of the Terms of Use.