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 条
  • [21] Hemiola: A DSL and Verification Tools to Guide Design and Proof of Hierarchical Cache-Coherence Protocols
    Choi, Joonwon
    Chlipala, Adam
    Chlipala, Adam
    COMPUTER AIDED VERIFICATION (CAV 2022), PT II, 2022, 13372 : 317 - 339
  • [22] Analytical prediction of performance for cache coherence protocols
    Srbljic, S
    Vranesic, ZG
    Stumm, M
    Budin, L
    IEEE TRANSACTIONS ON COMPUTERS, 1997, 46 (11) : 1155 - 1173
  • [23] An Overview of On-Chip Cache Coherence Protocols
    Al-Waisi, Zainab
    Agyeman, Michael Opoku
    PROCEEDINGS OF THE 2017 INTELLIGENT SYSTEMS CONFERENCE (INTELLISYS), 2017, : 304 - 309
  • [24] VERIFICATION OF THE FUTUREBUS+ CACHE COHERENCE PROTOCOL
    CLARKE, EM
    GRUMBERG, O
    HIRAISHI, H
    JHA, S
    LONG, DE
    MCMILLAN, KL
    NESS, LA
    FORMAL METHODS IN SYSTEM DESIGN, 1995, 6 (02) : 217 - 232
  • [25] Post-Silicon Verification for Cache Coherence
    DeOrio, Andrew
    Bauserman, Adam
    Bertacco, Valeria
    2008 IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, 2008, : 348 - 355
  • [26] VERIFICATION OF THE FUTUREBUS+ CACHE COHERENCE PROTOCOL
    CLARKE, EM
    GRUMBERG, O
    HIRAISHI, H
    JHA, S
    LONG, DE
    MCMILLAN, KL
    NESS, LA
    COMPUTER HARDWARE DESCRIPTION LANGUAGES AND THEIR APPLICATIONS, 1993, 32 : 15 - 30
  • [27] Thread Progress Aware Coherence Adaption for Hybrid Cache Coherence Protocols
    Li, Jianhua
    Shi, Liang
    Li, Qing'an
    Xue, Chun Jason
    Xu, Yinlong
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2014, 25 (10) : 2697 - 2707
  • [28] Checking Cache-Coherence Protocols with TLA+
    Rajeev Joshi
    Leslie Lamport
    John Matthews
    Serdar Tasiran
    Mark Tuttle
    Yuan Yu
    Formal Methods in System Design, 2003, 22 : 125 - 131
  • [29] Brief Announcement: Queuing or Priority Queuing? On the Design of Cache-Coherence Protocols for Distributed Transactional Memory
    Zhang, Bo
    Ravindran, Binoy
    PODC 2010: PROCEEDINGS OF THE 2010 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2010, : 75 - 76
  • [30] Model Checking TileLink Cache Coherence Protocols By Murphi
    Li, Zimin
    Li, Yongjian
    Wang, Kaifan
    Ma, Kun
    Yu, Shizhen
    2023 IEEE 41ST INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, ICCD, 2023, : 30 - 37