The authors present an empirical evaluation of two memory-efficient directory methods for maintaining coherent caches in large shared-memory multiprocessors. Both directory methods are modifications of a scheme proposed by L.M. Censier and P. Feautrier (1978) that does not rely on a specific interconnection network and can be readily distributed across interleaved main memory. The schemes considered here overcome the large amount of memory required for tags in the original scheme in two different ways. In the first scheme each main memory block is sectored into sub-blocks for which the large tag overhead is shared. In the second scheme a limited number of large tags are stored in an associative cache and shared among a much larger number of main memory blocks. Simulations show that in terms of access time and network traffic both directory methods provide significant performance improvements over a memory system in which shared-writable data are not cached. The large block sizes required for the sectored scheme, however, promote sufficient false sharing for its performance to be markedly worse than when a tag cache is used.<<ETX>>
[1]
Alberto L. Sangiovanni-Vincentelli,et al.
Logic Verification Algorithms and their Parallel Implementation
,
1987,
24th ACM/IEEE Design Automation Conference.
[2]
Edward A. Lee,et al.
Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing
,
1989,
IEEE Transactions on Computers.
[3]
A. Gottleib,et al.
The nyu ultracomputer- designing a mimd shared memory parallel computer
,
1983
.
[4]
Srinivas Devadas,et al.
Topological Optimization of Multiple-Level Array Logic
,
1987,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[5]
James K. Archibald,et al.
An economical solution to the cache coherence problem
,
1984,
ISCA '84.
[6]
Paul F. Dubois,et al.
A simulator for MIMD performance prediction: application to the S-1 MkIIa multiprocessor
,
1983,
Parallel Comput..