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 条
  • [41] Simulation based Performance Study of Cache Coherence Protocols
    Mallya, Neethu Bal
    Patil, Geeta
    Raveendran, Biju
    2015 IEEE INTERNATIONAL SYMPOSIUM ON NANOELECTRONIC AND INFORMATION SYSTEMS, 2015, : 125 - 130
  • [42] Checking cache-coherence protocols with TLA+
    Joshi, R
    Lamport, L
    Matthews, J
    Tasiran, S
    Tuttle, M
    Yu, Y
    FORMAL METHODS IN SYSTEM DESIGN, 2003, 22 (02) : 125 - 131
  • [43] Directed Test Generation for Validation of Cache Coherence Protocols
    Lyu, Yangdi
    Qin, Xiaoke
    Chen, Mingsong
    Mishra, Prabhat
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2019, 38 (01) : 163 - 176
  • [44] Cache memory coherence protocol for distributed systems
    Aguilar Castro, Jose Lisandro
    Sumoza Matos, Rodolfo Leonardo
    REVISTA TECNICA DE LA FACULTAD DE INGENIERIA UNIVERSIDAD DEL ZULIA, 2007, 30 (02): : 170 - 178
  • [45] A cache coherence protocol for distributed memory platforms
    Sumoza, Rodolfo
    Castro, Jose Aguilar
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 2010, 25 (05): : 343 - 353
  • [46] Verifying cache coherence in a distributed file system
    Wang, Jianyong
    Zhu, Mingfa
    Jisuanji Xuebao/Chinese Journal of Computers, 1999, 22 (05): : 460 - 466
  • [47] SAGA Distributed Transactions Verification Using Maude
    Djerou, Manel
    Tibermacine, Okba
    2022 INTERNATIONAL SYMPOSIUM ON INNOVATIVE INFORMATICS OF BISKRA, ISNIB, 2022, : 42 - 47
  • [48] A cache coherence protocol for distributed memory platforms
    Sumoza, Rodolfo
    Aguilar Castro, Jose
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 2011, 26 (01): : 13 - 23
  • [49] An Automatic Parameterized Verification of FLASH Cache Coherence Protocol
    Li, Yongjian
    Cao, Jialun
    Duan, Kaiqiang
    2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2018), 2018, : 47 - 58
  • [50] Applying Formal Verification to A Cache Coherence Protocol in TLS
    Lai, Xin
    Liu, Cong
    Wang, Zhiying
    UKSIM FIFTH EUROPEAN MODELLING SYMPOSIUM ON COMPUTER MODELLING AND SIMULATION (EMS 2011), 2011, : 329 - 334