Effectiveness of data dependence analysis

A methodology for evaluating the effectiveness of data dependence analyzers is presented. Using a compiler that can solve the affine memory disambiguation problem exactly and a dynamic tracer that can solve the data dependence problem exactly, it is shown that affine memory disambiguators are not po...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International Journal of Parallel Programming 1995-02, Vol.23 (1), p.63-81
Hauptverfasser: MAYDAN, D. E, HENNESSY, J. L, LAM, M. S
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A methodology for evaluating the effectiveness of data dependence analyzers is presented. Using a compiler that can solve the affine memory disambiguation problem exactly and a dynamic tracer that can solve the data dependence problem exactly, it is shown that affine memory disambiguators are not powerful enough to find parallelism in practice. Most of the failure cases are due to the memory disambiguation approximation. Analyzing these cases shows that array privatization is a vital technique for parallelizing loops. It is also shown that the simple, efficient symbolic scheme works as well as the more complicated, general schemes for the benchmarks used. Delinearalizing linearized arrays is advocated. The results show that current data dependence analyzers are not powerful enough, but using the techniques discussed, compilers will be able to solve the large majority of intraprocedural cases seen in practice.
ISSN:0885-7458
1573-7640
DOI:10.1007/BF02577784