×

Dataflow computer. (Datenflußrechner.) (German) Zbl 0818.68074

Leitfäden und Monographien der Informatik. Stuttgart: Teubner. Augsburg: Univ. 396 S. (1993).
This book is a monograph dealing with dataflow computer architectures. In the dataflow execution model for parallel processing, the available of data, not the program counter, triggers the instruction execution. The dataflow execution model is based on datagraph representation of a program (consisting of arcs, nodes and tokens). This representation exposes all forms of parallelism, eliminating the need to explicitly manage parallel execution. The book reviews numerous designs of dataflow computers and systems. The development in this area has evolved in four directions, which are the basic principles structuring the book. The early designs are classified as static dataflow model. This model has serious drawbacks. It does not allow to build iterative computational constructs and reentrant procedures.
In an attempt to increase the performance by overcoming these limitations, the dynamic dataflow model has been elaborated and extensively investigated. However, all the “pure” dataflow projects revealed some inefficiences in dataflow computing, like too large overheat in instruction execution, inefficiency in handling data structures, and expensive and complex process of matching tokens requiring associative memory structures. This stimulated the research efforts towards combining the power of the dataflow model for exposing parallelism with the execution efficiency in the control-flow model in the hybrid dataflow/von Neumann architectures. They constitute the third class of systems considered in the book. Instructions are here grouped into larger grains so that instructions within a grain can be scheduled in a control-flow fashion and the grains themselves in a dataflow fashion. The fourth – and most promising for the future – class of current dataflow architectures, exemplified by such systems as HEP (Heterogenous Element Processor), HORIZON, Tera, MASA (Multilisp Architecture for Symbolic Applications), and ALEWIFE, is based on multithreading. Multithreding combines instruction-level context switching with sequential scheduling. A thread is a sequence of statistically ordered instructions where once the first instruction is executed, the remaining instructions execute without interruption. The concept of dataflow architecture, although investigated by a great deal of research projects, is far from maturity. It seems now that the most critical factor of the eventual success of it will depend on their programmability. In the book the structural approach prevails. The book would benefit much if many technological details (looking obsolete now) be substituted by explanations of programming and language issues of dataflow systems.
Reviewer: A.Michalski

MSC:

68Q10 Modes of computation (nondeterministic, parallel, interactive, probabilistic, etc.)
68M99 Computer system organization
68-01 Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science