Automatic software cache coherence through vectorization

  • Authors:
  • Ervan Darnell;John M. Mellor-Crummey;Ken Kennedy

  • Affiliations:
  • -;-;-

  • Venue:
  • ICS '92 Proceedings of the 6th international conference on Supercomputing
  • Year:
  • 1992

Quantified Score

Hi-index 0.02

Visualization

Abstract

Access latency in large-scale shared-memory multiprocessors is a concern since most (if not all) memory is one or more hops away through an interconnection network. Providing processors with one or more levels of cache is an accepted way to reduce the average access latency; however, in a multiprocessor, cached values must be kept coherent for the multiprocessor to support the abstraction of a shared global memory. There is no generally accepted hardware solution to provde cache coherence for large-scale shared-memory multiprocessors. Software coherence strategies offer scalability with current hardware. In this paper we examine a compiler-based software strategy for maintaining cache coherence that relies on dependence analysis and a vectorization algorithm to insert cache control directives. Experiments on the BBN TC2000 for a pair of numerical problems show that the run-time cost of coherence using our strategy is less than that for previously proposed compiler-based software methods and suggest that it should compare favorably with proposed hardware schemes.