Specifying memory consistency of write buffer multiprocessors

  • Authors:
  • Lisa Higham;Lillanne Jackson;Jalal Kawash

  • Affiliations:
  • The University of Calgary, Calgary, AB, Canada;The University of Calgary, Calgary, AB, Canada;American University of Sharjah

  • Venue:
  • ACM Transactions on Computer Systems (TOCS)
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Write buffering is one of many successful mechanisms that improves the performance and scalability of multiprocessors. However, it leads to more complex memory system behavior, which cannot be described using intuitive consistency models, such as Sequential Consistency. It is crucial to provide programmers with a specification of the exact behavior of such complex memories. This article presents a uniform framework for describing systems at different levels of abstraction and proving their equivalence. The framework is used to derive and prove correct simple specifications in terms of program-level instructions of the sparc total store order and partial store order memories.The framework is also used to examine the sparc relaxed memory order. We show that it is not a memory consistency model that corresponds to any implementation on a multiprocessor that uses write-buffers, even though we suspect that the sparc version 9 specification of relaxed memory order was intended to capture a general write-buffer architecture. The same technique is used to show that Coherence does not correspond to a write-buffer architecture. A corollary, which follows from the relationship between Coherence and Alpha, is that any implementation of Alpha consistency using write-buffers cannot produce all possible Alpha computations. That is, there are some computations that satisfy the Alpha specification but cannot occur in the given write-buffer implementation.