Verification techniques for cache coherence protocols

被引:58
|
作者
Pong, F [1 ]
Dubois, M [1 ]
机构
[1] UNIV SO CALIF, DEPT EE SYST, LOS ANGELES, CA 90089 USA
关键词
cache coherence; finite state machine; protocol verification; shared-memory multiprocessors; state representation and expansion;
D O I
10.1145/248621.248624
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this article we present a comprehensive survey of various approaches for the verification of cache coherence protocols based on state enumeration, (symbolic) model checking, and symbolic state models. Since these techniques search the state space of the protocol exhaustively, the amount of memory required to manipulate the state information and the verification time grow very fast with the number of processors and the complexity of the protocol mechanisms. To be successful for systems of arbitrary complexity, a verification technique must solve this so-called state space explosion problem. The emphasis of our discussion is on the underlying theory in each method of handling the state space explosion problem, and formulating and checking the safety properties (e.g., data consistency) and the liveness properties (absence of deadlock and livelock). We compare the efficiency and discuss the limitations of each technique in terms of memory and computation time. Also, we discuss issues of generality, applicability, automaticity, and amenity for existing tools in each class of methods. No method is truly superior because each method has its own strengths and weaknesses. Finally, refinements that can further reduce the verification time and/or the memory requirement are also discussed.
引用
收藏
页码:82 / 126
页数:45
相关论文
共 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] 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
  • [30] Deriving efficient cache coherence protocols through refinement
    Nalumasu, R
    Gopalakrishnan, G
    PARALLEL AND DISTRIBUTED PROCESSING, 1998, 1388 : 857 - 870