skip to main content
article
Free Access

The Manchester prototype dataflow computer

Published:02 January 1985Publication History
Skip Abstract Section

Abstract

The Manchester project has developed a powerful dataflow processor based on dynamic tagging. This processor is large enough to tackle realistic applications and exhibits impressive speedup for programs with sufficient parallelism.

References

  1. 1 IEEE. Special issue on dataflow systems. ZEEE Comput. 15, 2 (Feb. 1982).Google ScholarGoogle Scholar
  2. 2 Gurd, J.R., Watson, 1. Kirkham, CC., and Glauert. J.R.W. The dataflow approach to parallel computation. In Distribufed Computing, F.B. Chambers, D.A. Duce, and G.P. Jones, Eds. APIC Studies in Data Processing. vol. 20, Academic Press, New York, Sept. 1984.Google ScholarGoogle Scholar
  3. 3 Glauert, J.R.W. High level languages for dataflow computers. State of the Art Rep. Ser. IO. Number 2, on Programming Technology, Pergaman-Info&h. Maidenhead. U.K. Mar. 1982.Google ScholarGoogle Scholar
  4. 4 Treleaven. P.C. Brownbridge, D.R., and Hopkins, R.P. Data-driven and demand-driven computer architecture. ACM Compuf. Sure. 14,l (Mar. 1982). 93-143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Young. J.W., and Kent, H.K. Abstract formulation of data processing problems. Intern. Rep., Product Specifications Dept., The National Cash Register Company, Hawthorne, Calif., 1958.Google ScholarGoogle Scholar
  6. 6 Brown, G.W. A new concept in programming. In Computers and the World of the Future, M. Greenberger, Ed. MIT Press, Cambridge, Mass., 1962.Google ScholarGoogle Scholar
  7. 7 Karp. R.M. and Miller, R.E. Properties of a model for parallel computations: Determinacy, termination and queue@ SIAM J. Appt. Math. II, 6 (Nov. 1966), 1390-1411.Google ScholarGoogle Scholar
  8. 8 Adams, D.A. A computational model with data flow sequencing. Ph.D. thesis, TR/CS-117, Dept. of Computer Science, Stanford Univ., Calif. 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Rodriguez. J.E. A graph model for parallel computation. Ph.D. thesis, MIT/LCS/TR-64. Laboratory for Computer Science, MIT, Cambridge, Mass., 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Dennis, J.B. Fosseen. J.B., and Linderman. J.P. Data Flow Schemas. Lecture Notes in Computer Science, vol. 5. Springer-Verlag, New York, 1974.Google ScholarGoogle Scholar
  11. 11 Dennis. J.B. First Version of a Data Flow Procedure Language. Lecture Notes in Computer Science. vol. 19. Springer-Verlag. New York, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Dennis, J.B., and Misunas, D.P. A preliminary architecture for a basic data flow architecture. In Proceedings of the 2nd Annual Symposium on Computer Architecture. IEEE Press, New York, Jan. 1975, pp. 126-132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Syre. J.C., et al. LAU system-A parallel data-driven software/hardware system based on single-assignment. In Parallel Compufers- Parallel Mathematics. M. Feilmeier. Ed. Elsevier North-Holland. New York, 1977.Google ScholarGoogle Scholar
  14. 14 Johnson, D. Automatic partitioning of programs in multiprocessor systems. In Proceedings of fhe IEEE COMPCON, IEEE Press, New York, Apr. 1980.Google ScholarGoogle Scholar
  15. 15 Miranker. G.S. Implementation of procedures on a class of data flow processors. In Proceedings of the IEEE International Conference on Parallel Processing, IEEE Press, New York, Aug. 1977.Google ScholarGoogle Scholar
  16. 16 Davis, A.L. The architecture and system method of DDMl: A recursively structured data driven machine. In Proceedings of the 5th ACM Symposium on Computer Architecture. SIGARCH Newsl. 6. 7 (Apr. 1978), 210-215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Arvind. Gostelow. K.P., and Plouffe, W. An asynchronous programming language and computing machine. Tech. Rep. TR114a, Dept. of Information and Computer Science, Univ. of California, Irvine, Dec. 1978.Google ScholarGoogle Scholar
  18. 18 Gurd, J.R., Watson, I., and Glauert, J.R.W. A multilayered data flow computer architecture. Intern. Rep. Dept. of Computer Science, Univ. of Manchester, England. Jan. 1978.Google ScholarGoogle Scholar
  19. 19 Tesler, LG. A language design for concurrent processes. In Proceedings of AFIPS Spring joint Computer Conference {Atlantic City, N.J., Apr. 30-May 2). AFIPS Press, Montvale, N.J., 1968, pp. 403-408.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 Chamberlin. D.D. The "single-assignment" approach to parallel processing. In Proceedings of AFIPS Fall Joint Computer Conference (Las Vegas, Nev. Nov. 16-18). AFIPS Press, Montvale, N.J., 1971, pp. 263- 270.Google ScholarGoogle Scholar
  21. 21 McGraw, J., et al. SISAL-Streams and iteration in a singleassignment language. Language Reference Manual (version 1.0). Lawrence Livermore National Laboratory, Livermore. Calif. July 1983.Google ScholarGoogle Scholar

Index Terms

  1. The Manchester prototype dataflow computer

              Recommendations

              Reviews

              Reinhard Wilhelm

              The data flow model of computation can be characterized by a graphical representation of programs (i.e., the (directed) data flow graph) and by the firing rule for the nodes of the graph. The nodes representing instructions of the program fire as soon as arguments are available at all incoming arcs. The result of the executed instruction is then passed on to all consuming instructions. Languages implemented on this model may provide (recursive) procedures and loops requiring cycles in the graph or dynamic copying of subgraphs, resp. Hence, different iterations of a loop (incarnations of a procedure) may have to share a subgraph. The Manchester project uses tags on the data tokens to prevent different incarnations of a subgraph from interfering with each other while allowing concurrent computation in a subgraph. The data flow engine built at the University of Manchester, like most data flow computers designed so far, consists of a multiprocessor using message passing on a ring. All data flow graphs resulting from translation of data flow programs must be executable on this fixed architecture. The Manchester engine uses labeled nodes which contain the instruction to be performed and the destination of the result. These nodes are kept in the Instruction Store. When Instruction Store receives a packet containing a node's label and the necessary operands, it generates an executable packet and sends it to the Processing Unit. The Processing Unit executes the instruction and sends the result packet through the Token Queue to the Matching Unit, which groups partner tokens together to send them to the Instruction Store. The paper reports on data obtained by simulation and by experiments made with the prototype. Only a preliminary evaluation is possible based on these data. But weak points in the first design could be identified and corrected.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image Communications of the ACM
                Communications of the ACM  Volume 28, Issue 1
                Special section on computer architecture
                Jan. 1985
                99 pages
                ISSN:0001-0782
                EISSN:1557-7317
                DOI:10.1145/2465
                Issue’s Table of Contents

                Copyright © 1985 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 2 January 1985

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader