This monograph evolved from my Ph. D dissertation completed at the Laboratory of Computer Science, MIT, during the Summer of 1986. In my dissertation I proposed a pipelined code mapping scheme for array operations on static dataflow architectures. The main addition to this work is found in Chapter 12, reflecting new research results developed during the last three years since I joined McGill University-results based upon the principles in my dissertation. The terminology dataflow soft- ware pipelining has been consistently used since publication of our 1988 paper on the argument-fetching dataflow architecture model at McGill University . In the first part of this book we describe the static data flow graph model as an operational model for concurrent computation. We look at timing considerations for program graph execution on an ideal static dataflow computer, examine the notion of pipe lining, and characterize its performance. We discuss balancing techniques used to transform certain graphs into fully pipelined data flow graphs.
In particular, we show how optimal balancing of an acyclic data flow graph can be formulated as a linear programming problem for which an optimal solution exists. As a major result, we show the optimal balancing problem of acyclic data flow graphs is reduceable to a class of linear programming problem, the net- work flow problem, for which well-known efficient algorithms exist. This result disproves the conjecture that such problems are computationally hard.
1 Introduction.- 2 The Static Data Flow Model.- 3 Algorithmic Aspects of Pipeline Balancing.- 4 Source Program Structure and Notation.- 5 Basic Pipelined Code Mapping Schemes.- 6 Mapping Rules for Expressions without Array Creation Constructs.- 7 Mapping Scheme for One-Level FORALL Expressions.- 8 Mapping Scheme for Multi-Level FORALL Expressions.- 9 Mapping Scheme for FOR-CONSTRUCT Expressions.- 10 Related Optimization Techniques.- 11 Program Structure, Compilation, and Machine Design.- 12 Efficient Dataflow Software Pipelining.- 13 Conclusions.
Series: KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE
Number Of Pages: 249
Published: 31st December 1990
Country of Publication: NL
Dimensions (cm): 24.77 x 16.51
Weight (kg): 0.64