Partitioning DAG Computations: a Cautionary Note
- Publication date
- Publisher
- Press
Abstract
The representation of a parallel computation as a directed acyclic graph can help the programmer to analyse the properties of the computation in order to optimise partitioning and scheduling. We point out that the results obtained from such "optimizations" are only as good as the underlying cost model. 1 Introduction Some parallel computations can be represented as a directed acyclic graph (DAG) in which the nodes represent operations and there is an arc from a node v to a node w if the output from the operation performed at v is needed as one of the inputs to the operation at w. Examples of DAG computation are the fast Fourier transform graph, the binary tree for arithmetic expression evaluation and the diamond for computing the longest common subsequence. Various researchers have used this representation of a computation in order to investigate the input/output complexity of a computation [Kung and Hong 1981], the effects of introducing communications as a resource in the PRAM ..