Deriving Efficient Cache Coherence Protocols Through Refinement

  • Authors:
  • Ratan Nalumasu;Ganesh Gopalakrishnan

  • Affiliations:
  • Cupertino Systems Lab, Hewllett-Packard, Cupertino, CA, 95014, USA. ratan@cup.hp.com;Department of Computer Science, University of Utah, Salt Lake City, UT, 84112, USA. ganesh@cs.utah.edu

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We address the problem of developing efficient cache coherence protocols for use in distributed systems implementing distributed shared memory (DSM) using message passing. A serious drawback of traditional approaches to this problem is that the users are required to state the desired coherence protocol at the level of asynchronous message interactions involving request, acknowledge, and negative acknowledge messages, and handle unexpected messages by introducing intermediate states. Proofs of correctness of protocols described in terms of low level asynchronous messages are very involved. Often the proofs hold only for specific configurations and buffer allocations. We propose a method in which the users state the desired protocol directly in terms of the desired high-level effect, namely synchronization and coordination, using the synchronous rendezvous construct. These descriptions are much easier to understand and computationally more efficient to verify than asynchronous protocols due to their small state spaces. The rendezvous protocol can also be synthesized into efficient asynchronous protocols. In this paper, we present our protocol refinement procedure, prove its soundness, and provide examples of its efficiency. Our synthesis procedure applies to large classes of DSM protocols.