Verification of cache coherence protocols by aggregation of distributed transactions

被引:9
|
作者
Park, S [1 ]
Dill, DL [1 ]
机构
[1] Stanford Univ, Dept Comp Sci, Stanford, CA 94305 USA
基金
美国国家航空航天局;
关键词
D O I
10.1007/s002240000093
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper presents a method to verify the correctness of protocols and distributed algorithms. The method compares a state graph of the implementation with a specification which is a state graph representing the desired abstract behavior. The steps in the specification correspond to atomic transactions, which are not atomic in the implementation. The method relies on an aggregation function, which is a type of abstraction function that aggregates the steps of each transaction in the implementation into a single atomic transaction in the specification. The key idea in defining the aggregation function is that it must complete atomic transactions which have committed but are not finished. This paper illustrates the method on a directory-based cache coherence protocol developed for the Stanford FLASH multiprocessor. The coherence protocol consisting of more than a hundred different kinds of implementation steps has been reduced to a specification with six kinds of atomic transactions. Based on the reduced behavior, it is very easy to prove crucial properties of the protocol including data consistency of cached copies at the user level. This is the first correctness proof verified by a theorem-prover for a cache coherence protocol of this complexity. The aggregation method is also used to prove that the reduced protocol satisfies a desired memory consistency model.
引用
收藏
页码:355 / 376
页数:22
相关论文
共 50 条
  • [31] Deriving efficient cache coherence protocols through refinement
    Nalumasu, R
    Gopalakrishnan, G
    PARALLEL AND DISTRIBUTED PROCESSING, 1998, 1388 : 857 - 870
  • [32] Model Checking Data Consistency for Cache Coherence Protocols
    Hong Pan
    Hui-Min Lin
    Yi Lv
    Journal of Computer Science and Technology, 2006, 21 : 765 - 775
  • [33] Model checking data consistency for cache coherence protocols
    Pan, Hong
    Lin, Hui-Min
    Lv, Yi
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2006, 21 (05) : 765 - 775
  • [34] Deriving Efficient Cache Coherence Protocols Through Refinement
    Ratan Nalumasu
    Ganesh Gopalakrishnan
    Formal Methods in System Design, 2002, 20 : 107 - 125
  • [35] Cache Coherence Protocols in Shared-Memory Multiprocessors
    Lian, Xiuzhen
    Ning, Xiaoxi
    Xie, Mingren
    Yu, Farong
    PROCEEDINGS OF THE 2015 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING, 2015, 17 : 286 - 289
  • [36] HeteroGen: Automatic Synthesis of Heterogeneous Cache Coherence Protocols
    Oswald, Nicolai
    Nagarajan, Vijay
    Sorin, Daniel J.
    Gavrielatos, Vasilis
    Olausson, Theo
    Carr, Reece
    2022 IEEE INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE (HPCA 2022), 2022, : 756 - 771
  • [37] Impact of cache coherence protocols on the processing of network traffic
    Kumar, Amit
    Huggahalli, Ram
    MICRO-40: PROCEEDINGS OF THE 40TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, 2007, : 161 - +
  • [38] A Systematic Methodology to Develop Resilient Cache Coherence Protocols
    Aisopos, Konstantinos
    Peh, Li-Shiuan
    PROCEEDINGS OF THE 2011 44TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO 44), 2011, : 47 - 58
  • [39] Deriving efficient cache coherence protocols through refinement
    Nalumasu, R
    Gopalakrishnan, G
    FORMAL METHODS IN SYSTEM DESIGN, 2002, 20 (01) : 107 - 125
  • [40] HeteroGen: Automatic Synthesis of Heterogeneous Cache Coherence Protocols
    Oswald, Nicolai
    Nagarajan, Vijay
    Sorin, Daniel J.
    Gavrielatos, Vasilis
    Olausson, Theo X.
    Carr, Reece
    IEEE MICRO, 2023, 43 (04) : 62 - 70