Spatial-Temporal Analysis of Program Dependence Graphs for Useful Parallelism

The efficient execution of a parallel algorithm depends on balancing the granularity or degree of parallelism of the computation against overhead due to parallelism. This dependence on the architecture inhibits portability in parallel software. This paper presents techniques for analyzing and restru...

Full description

Saved in:
Bibliographic Details
Published inJournal of parallel and distributed computing Vol. 19; no. 2; pp. 103 - 118
Main Authors Gill, D.H., Smith, T.J., Gerasch, T.E., Warren, J.V., Mccreary, C.L., Stirewalt, R.E.K.
Format Journal Article
LanguageEnglish
Published San Diego, CA Elsevier Inc 01.10.1993
Elsevier
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:The efficient execution of a parallel algorithm depends on balancing the granularity or degree of parallelism of the computation against overhead due to parallelism. This dependence on the architecture inhibits portability in parallel software. This paper presents techniques for analyzing and restructuring programs for execution on varying parallel computer architectures. The stages in reconfiguring a computation for parallel execution are described and three novel and useful techniques are presented. The first is a graph structural analysis technique, graph parsing, in which a parse tree of subgraphs known as clans is created. Through this process, the underlying graph structure is exposed. The parse tree represents opportunities for parallelism as well as dependence that inhibits parallelism. Next, it is shown how the parse tree can be given a spatial-temporal interpretation, where the spatial dimension can be interpreted as the processor requirements and the temporal dimension as the execution and communication latency. Finally, we discuss the application of architecture metrics which model the underlying architecture. Through knowledge of inter-processor communication costs, execution times, and other overhead requirements, it is possible to restrict the parallelism to only that which will reduce the time required to complete the computation. The metric yields the identification of appropriate grains for the type of overhead incurred.
ISSN:0743-7315
1096-0848
DOI:10.1006/jpdc.1993.1095