T. Li et Lk. John, ADir(p)NB: A cost-effective way to implement full map directory-based cache coherence protocols, IEEE COMPUT, 50(9), 2001, pp. 921-934
Directories have been used to maintain cache coherency in shared memory mul
tiprocessors with private caches. The traditional full map directory tracks
the exact caching status for each shared memory block and is designed to b
e efficient and simple, Unfortunately, the inherent directory size explosio
n makes it unsuitable for large-scale multiprocessors. In this paper, we pr
opose a new directory scheme, dubbed associative full map directory (ADir(p
)NB) which reduces the directory storage requirement. The proposed ADir(p)N
B uses one directory entry to maintain the sharing information for a set of
exclusively cached memory blocks in a centralized linked list style. By im
plementing dynamic cache pointer allocation, reclamation, and replacement h
ints, ADir(p)NB can be implemented as "a full map directory with lower dire
ctory memory cost." Our analysis indicates that, on a typical architectural
paradigm, ADir(p)NB reduces memory overhead of a traditional full map dire
ctory by up to 70-80 percent. In addition to the low memory overhead, we sh
ow that the proposed scheme can be implemented with appropriate protocol mo
dification and hardware addition. Simulation studies indicate that ADir(p)N
B can achieve a competitive performance with the Dir(p)NB. Compared with li
mited directory schemes, ADir(p)NB shows more stable and robust performance
results on applications across a spectrum of memory sharing and access pat
terns due to the elimination of directory overflows. We believe that ADir(p
)NB can be employed as a design alternative of full map directory for moder
ately large-scale and fine-grain shared memory multiprocessors.