Academia.eduAcademia.edu

Expressiveness Versus Optimizability in Coordinating Parallelism

2000, Parallel Computing - Fundamentals and Applications - Proceedings of the International Conference ParCo99

Abstract

The choice of parallel programming models reflects a trade off between the ability to express parallelism and the cost associated with the efficient optimization of the program to specific parallel machines. In particular, to be able to perform scheduling and/or cost estimation for real applications at any acceptable cost, the coordination model must be highly structured, i.e., the related task graphs (DAG) must be of series-parallel (SP) type. Assuming the choice for such a structured coordination model, a critical question is to what extent the ability to express parallelism is sacrificed by restricting parallelism to SP form. Previous work based on small, random topologies suggests that only for extremely unbalanced workload distributions the relative increment on the critical path due to transforming a task graph to SP form exceeds a relative small constant. The research described in this paper is mainly focused on huge graphs with well-known topologies generated by program skeletons for regular problems (e.g., cellular automata, linear algebra solvers, macro-pipelines). We also analyze synthetic topologies to bring to light the main graph properties that are related to the loss of parallelism. Results show that several basic parameters of the graph, such as the maximum degree of parallelism, the depth, and the mean number of predecessors/successors per node, are the key factors. An analytical model to approximate the loss of parallelism while transforming a couple of specific topologies to SP form confirms the experimental evidence. These results indicate that a wide range of parallel computations can be expressed using a structured coordination model with a loss of parallelism that is small and predictable.