Under this methodology, fully pipelined array (vector) operations can be supported by a data flow computer in a fine-grain manner.

One important contribution is to the balancing techniques for fully pipelined data flow code. In [], Prof. Gao has formulated and studied the optimal balancing problem (i.e. to introduce a minimum amount of buffering into data flow graphs for fully balancing) and show that efficient polynomial time solutions exist for acyclic static dataflow graphs. We have introduced the concept of limited balancing --- a method to reduce and minimize the token storage required for static dataflow graphs and an extension of our original balancing method. Later we further extend the theoretical framework, and for the first time, prove that the limited balancing problem can be solved using efficient polynomial time algorithms. The significance of this work is to demonstrate that such solution methods can be applied to a class of dataflow graphs beyond the static dataflow model, and our method can be applied to dataflow graphs with cycles. These developments have demonstrated the feasibility of such methods in real compilers.

We have applied the methodology of dataflow software pipelining to MDFA and SAM at McGill, and studied the effects using simulation.