Multiprocessors Should Support Simple Memory-Consistency Models

  • Authors:
  • Mark D. Hill

  • Affiliations:
  • -

  • Venue:
  • Computer
  • Year:
  • 1998

Quantified Score

Hi-index 4.10

Visualization

Abstract

In the future, many computers will contain multiple processors, in part because the marginal cost of adding a few additional processors is so low that only minimal performance gain is needed to make the additional processors cost-effective. Intel, for example, now makes cards containing four Pentium Pro processors that can easily be incorporated into a system. Multiple-processor cards like Intel's will help multiprocessing spread from servers to the desktop. But how will these multiprocessors be programmed? The evolution of the programming model is already under way. One important function of the programming model is to describe how memory operates. For a multiprocessor, a reasonable model is sequential consistency (SC), which makes a multiprocessor behave like a multitasking uni-processor. Nevertheless, many commercial multiprocessors support more relaxed memory models. The author argues that multiprocessors should support SC because--with speculative execution-- relaxed models do not provide sufficient additional performance to justify exposing their complexity to the authors of low-level software.