An evaluation of coarse grain dataflow code generation strategies

Presents top-down and bottom-up methods for generating coarse grain dataflow or multithreaded code, and evaluates their effectiveness. The top-down technique generates clusters directly from the intermediate data dependence graph used for compiler optimizations. Bottom-up techniques coalesce fine-grain dataflow code into clusters. We measure the resulting number of clusters executed, cluster size, and number of inputs per cluster, for Livermore and Purdue benchmarks. The top-down method executes less clusters and instructions, but incurs a higher number of matches per cluster, which exemplifies the need for efficient matching of more than two inputs per cluster.

[1]  Walid A. Najjar,et al.  A quantitative analysis of locality in dataflow programs , 1991, MICRO 24.

[2]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[3]  Allan Porterfield,et al.  The Tera computer system , 1990 .

[4]  John R. Gurd,et al.  Iterative Instructions in the Manchester Dataflow Computer , 1990, IEEE Trans. Parallel Distributed Syst..

[5]  John Glauert,et al.  SISAL: streams and iteration in a single assignment language. Language reference manual, Version 1. 2. Revision 1 , 1985 .

[6]  Walid A. Najjar,et al.  Generation and quantitative evaluation of dataflow clusters , 1993, FPCA '93.

[7]  David E. Culler,et al.  Compiler-Controlled Multithreading for Lenient Parallel Languages , 1991, FPCA.

[8]  Arvind,et al.  T: a multithreaded massively parallel architecture , 1992, ISCA '92.

[9]  Toshitsugu Yuba,et al.  An Architecture Of A Dataflow Single Chip Processor , 1989, The 16th Annual International Symposium on Computer Architecture.

[10]  Kenneth R. Traub,et al.  Overview of the Monsoon project , 1991, [1991 Proceedings] IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[11]  Kenneth R. Traub,et al.  Multi-thread Code Generation for Dataflow Architectures from Non-Strict Programs , 1991, FPCA.

[12]  John R. Rice,et al.  Problems to Test Parallel and Vector Languages -- II , 1990 .

[13]  Robert A. Iannucci,et al.  A dataflow/von Neumann hybrid architecture , 1988 .

[14]  Robert A. Iannucci Toward a dataflow/von Neumann hybrid architecture , 1988, ISCA '88.