Publication Type |
technical report |
School or College |
College of Engineering |
Department |
Computing, School of |
Program |
Advanced Research Projects Agency |
Creator |
Gopalakrishnan, Ganesh |
Other Author |
Chen, Xiaofang |
Title |
A general compositional approach to verifying hierarchical cache coherence protocols |
Date |
2006-11-26 |
Description |
Modern chip multiprocessor (CMP) cache coherence protocols are extremely complex and error prone to design. Modern symbolic methods are unable to provide much leverage for this class of examples. In [1], we presented a method to verify hierarchical and inclusive versions of these protocols using explicit state enumeration tools. We circumvented state explosion by employing a meta-circular assume/guarantee technique in which a designer can model check abstracted versions of the original protocol and claim that the real protocol is correct. The abstractions were justified in the same framework (hence the meta-circular approach). In this paper, we present how our work can be extended to hierarchical non-inclusive protocols which are inherently much harder to verify, both from the point of having more corner cases, and having insufficient information in higher levels of the protocol hierarchy to imply the sharing states of cache lines at lower levels. Two methods are proposed. The first requires more manual effort, but allows our technique in [1] to be applied unchanged, barring a guard strengthening expression that is computed based on state residing outside the cluster being abstracted. The second requires less manual effort, can scale to deeper hierarchies of protocol implementations, and uses history variables which are computed much more modularly. This method also relies on the meta-circular definition framework. A non-inclusive protocol that could not be completely model checked even after visiting 1.5 billion states was verified using two model checks of roughly 0.25 billion states each. |
Type |
Text |
Publisher |
University of Utah |
Subject |
Hierarchical cache coherence protocols; Verification |
Subject LCSH |
Cache memory |
Language |
eng |
Bibliographic Citation |
Chen, Xiaofang; Gopalakrishnan, Ganesh (2006). A general compositional approach to verifying hierarchical cache coherence protocols. UUCS-06-014. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
169,917 bytes |
Source |
University of Utah School of Computing |
ARK |
ark:/87278/s6gj02gg |
Setname |
ir_uspace |
ID |
705986 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s6gj02gg |