Improving Memory Utilization in Cache Coherence Directories

  • Authors:
  • D. J. Lilja;P. C. Yew

  • Affiliations:
  • -;-

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

Efficiently maintaining cache coherence is a major problem in large-scale shared memorymultiprocessors. Hardware directory coherence schemes have very high memoryrequirements, while software-directed schemes must rely on imprecise compile-timememory disambiguation. Recently proposed dynamically tagged directory schemes allocate pointers to blocks only as they are referenced, which significantly reduces their memory requirements, but they still allocate pointers to blocks that do not need them. Theauthors present two compiler optimizations that exploit the high-level sharing information available to the compiler to further reduce the size of a tagged directory by allocating pointers only when necessary. Trace-driven simulations are used to show that the performance of this combined hardware-software approach is comparable to othercoherence schemes, but with significantly lower memory requirements. In addition, thesesimulations suggest that this approach is less sensitive to the quality of the memorydisambiguation and interprocedural analysis performed by the compiler than software-only coherence schemes.