Departmental Papers (CIS)

Document Type

Journal Article

Date of this Version

June 2002

Comments

Copyright 2002 IEEE. Reprinted from IEEE Transactions on Parallel and Distributed Systems, Volume 13, Issue 6, June 2002, pages 556-578.

This material is posted here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE endorsement of any of the University of Pennsylvania's products or services. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to pubs-permissions@ieee.org. By choosing to view this document, you agree to all provisions of the copyright laws protecting it.

NOTE: At the time of publication, the author Milo K. Martin, was affiliated with the University of Wisconsin. Currently March 2007, he is a faculty with the Department of Computer and Information Science at the University of Pennsylvania.

Abstract

In this paper, we develop a specification methodology that documents and specifies a cache coherence protocol in eight tables: the states, events, actions, and transitions of the cache and memory controllers. We then use this methodology to specify a detailed, modern three-state broadcast snooping protocol with an unordered data network and an ordered address network that allows arbitrary skew. We also present a detailed specification of a new protocol called Multicast Snooping [6] and, in doing so, we better illustrate the utility of the table-based specification methodology. Finally, we demonstrate a technique for verification of the Multicast Snooping protocol, through the sketch of a manual proof that the specification satisfies a sequentially consistent memory model.

Keywords

cache coherence, protocol specification, protocol verification, memory consistency, multicast snooping

Share

COinS
 

Date Posted: 26 March 2007

This document has been peer reviewed.