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...
Gespeichert in:
Veröffentlicht in: | International Journal of Parallel Programming 1995-10, Vol.23 (5), p.423-470 |
---|---|
Hauptverfasser: | , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
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 |