A Quantitative Analysis of the Performance and Scalability of Distributed Shared Memory Cache Coherence Protocols

  • Authors:
  • Mark Heinrich;Vijayaraghavan Soundararajan;John Hennessy;Anoop Gupta

  • Affiliations:
  • Cornell Univ., Ithaca, NY;Stanford Univ., Stanford, CA;Stanford Univ., Stanford, CA;Microsoft Research, Redmond, WA

  • Venue:
  • IEEE Transactions on Computers - Special issue on cache memory and related problems
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scalable cache coherence protocols have become the key technology for creating moderate to large-scale shared-memory multiprocessors. Although the performance of such multiprocessors depends critically on the performance of the cache coherence protocol, little comparative performance data is available. Existing commercial implementations use a variety of different protocols, including bit-vector/coarse-vector protocols, SCI-based protocols, and COMA protocols. Using the programmable protocol processor of the Stanford FLASH multiprocessor, we provide a detailed, implementation-oriented evaluation of four popular cache coherence protocols. In addition to measurements of the characteristics of protocol execution (e.g., memory overhead, protocol execution time, and message count) and of overall performance, we examine the effects of scaling the processor count from 1 to 128 processors. Surprisingly, the optimal protocol changes for different applications and can change with processor count even within the same application. These results help identify the strengths of specific protocols and illustrate the benefits of providing flexibility in the choice of cache coherence protocol.