Assessing the benefits of fine-grain parallelism in dataflow programs

  • Authors:
  • D. E. Culler;G. K. Maa

  • Affiliations:
  • -;-

  • Venue:
  • Proceedings of the 1988 ACM/IEEE conference on Supercomputing
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

A method for assessing the benefits of fine-grain parallelism in “real” programs is presented. The method is based on parallelism profiles and speedup curves derived by executing dataflow graphs on an interpreter under progressively more realistic assumptions about processor resources and communication costs. It is shown that programs, even using traditional algorithms, exhibit ample parallelism when parallelism is exposed at all levels, i.e., within expressions, across nested loops and function calls, and in producer-consumer relationships on individual elements of data structures. Since only dataflow graphs compiled from the high level language Id are considered, the bias introduced by the language and the compiler is examined. A method of estimating speedup through analysis of the ideal parallelism profile is developed, avoiding repeated execution of programs. It is shown that fine-grain parallelism can be used to mask large, unpredictable memory latency and synchronization waits in architectures employing dataflow instruction execution mechanisms. Finally, the effects of grouping portions of dataflow programs, such as function invocations or loop iterations, and requiring that the operators in a group execute on a single processor, are explored.