Software cache coherence for large scale multiprocessors

  • Authors:
  • L. I. Kontothanassis;M. L. Scott

  • Affiliations:
  • -;-

  • Venue:
  • HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Shared memory is an appealing abstraction for parallel programming. It must be implemented with caches in order to perform well, however and caches require a coherence mechanism to ensure that processors reference current data. Hardware coherence mechanisms for large-scale machines are complex and costly, but existing software mechanisms for message-passing machines have not provided a performance-competitive solution. We claim that an intermediate hardware option-memory-mapped network interfaces that support a global physical address space-can provide most of the performance benefits of hardware cache coherence. We present a software coherence protocol that runs on this class of machines and greatly narrows the performance gap between hardware and software coherence. We compare the performance of the protocol to that of existing software and hardware alternatives and evaluate the tradeoffs among various cache-write policies. We also observe that simple program changes can greatly improve performance. For the programs in our test suite and with the changes in place, software coherence is often faster and never more than 55% slower than hardware coherence.