Interprocedural array data-flow analysis for cache coherence

Lynn Choi, Pen Chung Yew

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

The presence of procedures and procedure calls introduces side effects, which complicate the analysis of stale reference detection in compiler-directed cache coherence schemes [4, 3, IO]. Previous compiler algorithms use the invalidation of an entire cache at procedure boundary [5, 8] or inlining [8] to avoid reference marking interprocedurally. HOwever, frequent cache invalidations will result in poor performance since locality can not be exploited across the procedure boundary. Also, the inlining is often prohibitive due to both its code expansion and increase in its compilation time and memory requirements. In this paper, we introduce an improved intraprocedural and interprocedural algorithms for detecting references to stale data. The intraprocedural algorithm can mark potential stale references without relying on any cache invalidation or inlining at procedure boundaries, thus avoiding unnecessary cache misses for subroutine local data. The interprocedural algorithm performs bottomup and top-down analysis on the procedure call graph to.further exploit locality across procedure boundames.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherSpringer Verlag
Pages81-95
Number of pages15
Volume1033
ISBN (Print)9783540607656
Publication statusPublished - 1996
Externally publishedYes
Event8th International Workshop on Languages and Compilers for Parallel Computing, LCPC 1995 - Columbus, United States
Duration: 1995 Aug 101995 Aug 12

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume1033
ISSN (Print)03029743
ISSN (Electronic)16113349

Other

Other8th International Workshop on Languages and Compilers for Parallel Computing, LCPC 1995
CountryUnited States
CityColumbus
Period95/8/1095/8/12

Fingerprint

Data flow analysis
Cache Coherence
Data Flow
Cache
Subroutines
Locality
Compiler
Data storage equipment
Compilation
Bottom-up
Entire
Requirements
Graph in graph theory

ASJC Scopus subject areas

  • Computer Science(all)
  • Theoretical Computer Science

Cite this

Choi, L., & Yew, P. C. (1996). Interprocedural array data-flow analysis for cache coherence. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1033, pp. 81-95). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 1033). Springer Verlag.

Interprocedural array data-flow analysis for cache coherence. / Choi, Lynn; Yew, Pen Chung.

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 1033 Springer Verlag, 1996. p. 81-95 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 1033).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Choi, L & Yew, PC 1996, Interprocedural array data-flow analysis for cache coherence. in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). vol. 1033, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 1033, Springer Verlag, pp. 81-95, 8th International Workshop on Languages and Compilers for Parallel Computing, LCPC 1995, Columbus, United States, 95/8/10.
Choi L, Yew PC. Interprocedural array data-flow analysis for cache coherence. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 1033. Springer Verlag. 1996. p. 81-95. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
Choi, Lynn ; Yew, Pen Chung. / Interprocedural array data-flow analysis for cache coherence. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 1033 Springer Verlag, 1996. pp. 81-95 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{1165bd5993d84498866b380519e03d67,
title = "Interprocedural array data-flow analysis for cache coherence",
abstract = "The presence of procedures and procedure calls introduces side effects, which complicate the analysis of stale reference detection in compiler-directed cache coherence schemes [4, 3, IO]. Previous compiler algorithms use the invalidation of an entire cache at procedure boundary [5, 8] or inlining [8] to avoid reference marking interprocedurally. HOwever, frequent cache invalidations will result in poor performance since locality can not be exploited across the procedure boundary. Also, the inlining is often prohibitive due to both its code expansion and increase in its compilation time and memory requirements. In this paper, we introduce an improved intraprocedural and interprocedural algorithms for detecting references to stale data. The intraprocedural algorithm can mark potential stale references without relying on any cache invalidation or inlining at procedure boundaries, thus avoiding unnecessary cache misses for subroutine local data. The interprocedural algorithm performs bottomup and top-down analysis on the procedure call graph to.further exploit locality across procedure boundames.",
author = "Lynn Choi and Yew, {Pen Chung}",
year = "1996",
language = "English",
isbn = "9783540607656",
volume = "1033",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "81--95",
booktitle = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",

}

TY - GEN

T1 - Interprocedural array data-flow analysis for cache coherence

AU - Choi, Lynn

AU - Yew, Pen Chung

PY - 1996

Y1 - 1996

N2 - The presence of procedures and procedure calls introduces side effects, which complicate the analysis of stale reference detection in compiler-directed cache coherence schemes [4, 3, IO]. Previous compiler algorithms use the invalidation of an entire cache at procedure boundary [5, 8] or inlining [8] to avoid reference marking interprocedurally. HOwever, frequent cache invalidations will result in poor performance since locality can not be exploited across the procedure boundary. Also, the inlining is often prohibitive due to both its code expansion and increase in its compilation time and memory requirements. In this paper, we introduce an improved intraprocedural and interprocedural algorithms for detecting references to stale data. The intraprocedural algorithm can mark potential stale references without relying on any cache invalidation or inlining at procedure boundaries, thus avoiding unnecessary cache misses for subroutine local data. The interprocedural algorithm performs bottomup and top-down analysis on the procedure call graph to.further exploit locality across procedure boundames.

AB - The presence of procedures and procedure calls introduces side effects, which complicate the analysis of stale reference detection in compiler-directed cache coherence schemes [4, 3, IO]. Previous compiler algorithms use the invalidation of an entire cache at procedure boundary [5, 8] or inlining [8] to avoid reference marking interprocedurally. HOwever, frequent cache invalidations will result in poor performance since locality can not be exploited across the procedure boundary. Also, the inlining is often prohibitive due to both its code expansion and increase in its compilation time and memory requirements. In this paper, we introduce an improved intraprocedural and interprocedural algorithms for detecting references to stale data. The intraprocedural algorithm can mark potential stale references without relying on any cache invalidation or inlining at procedure boundaries, thus avoiding unnecessary cache misses for subroutine local data. The interprocedural algorithm performs bottomup and top-down analysis on the procedure call graph to.further exploit locality across procedure boundames.

UR - http://www.scopus.com/inward/record.url?scp=84955589282&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84955589282&partnerID=8YFLogxK

M3 - Conference contribution

AN - SCOPUS:84955589282

SN - 9783540607656

VL - 1033

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 81

EP - 95

BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

PB - Springer Verlag

ER -