Combining flow and dependence analyses to expose redundant array accesses

The success of large-scale, hierarchical and distributed shared memory systems hinges on the ability to reduce delays resulting from remote accesses to shared data. To facilitate this, a compile-time algorithm is presented for analyzing programs with doall-style parallelism to determine when read an...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International Journal of Parallel Programming 1995-10, Vol.23 (5), p.423-470
Hauptverfasser: GRANSTON, E. D, VEIDENBAUM, A. V
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The success of large-scale, hierarchical and distributed shared memory systems hinges on the ability to reduce delays resulting from remote accesses to shared data. To facilitate this, a compile-time algorithm is presented for analyzing programs with doall-style parallelism to determine when read and write accesses to shared data are redundant (unnecessary). Once identified, redundant remote accesses can be replaced by local accesses or eliminated entirely. This optimization improves program performance in 2 ways. First, slow memory accesses are replaced by faster ones. Second, the time to perform other remote memory accesses may be reduced as a result of the decreased traffic level. How the information obtained through redundancy analysis can be used for other compiler optimizations such as prefetching and cache management is shown.
ISSN:0885-7458
1573-7640
DOI:10.1007/BF02577773