In this paper, we introduce a compiler-directed coherence scheme which can exploit most of the temporal and spatial locality across task boundaries. It requires only an extended tag field per cache word, one modified memory access instruction, and a counter called the epoch counter in each processor. By using the epoch counter as a system-wide version number, the scheme simplifies the cache hardware of previous version control  or timestamp-based schemes , but still exploits most of the temporal and spatial locality across task boundaries. We present a compiler algorithm to generate the appropriate memory access instructions for the proposed scheme. The algorithm is based on a data flow analysis technique. It identifies potential stale references by examining memory reference patterns in a source program.
|Original language||English (US)|
|Number of pages||10|
|Journal||Proceedings of the ACM/IEEE Supercomputing Conference|
|State||Published - Jan 1 1994|
|Event||Proceedings of the 1994 Supercomputing Conference - Washington, DC, USA|
Duration: Nov 14 1994 → Nov 18 1994