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 条
  • [41] 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
  • [42] 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
  • [43] 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
  • [44] 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
  • [45] Formal Verification of Safety Properties for a Cache Coherence Protocol
    Ramirez, Sergio
    Rocha, Camilo
    2015 10TH COMPUTING COLOMBIAN CONFERENCE (10CCC), 2015, : 9 - 16
  • [46] The verification of the on-chip COMA cache coherence protocol
    Vu, Thuy Duong
    Zhang, Li
    Jesshope, Chris
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS, 2008, 5140 : 413 - +
  • [47] Formalization and verification of coherence protocols with the gamma framework
    Mentré, D
    Le Métayer, D
    Priol, T
    INTERNATIONAL SYMPOSIUM ON SOFTWARE ENGINEERING FOR PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 2000, : 105 - 113
  • [48] Techniques for compiler-directed cache coherence
    Choi, L
    Lim, HB
    Yew, PC
    IEEE PARALLEL & DISTRIBUTED TECHNOLOGY, 1996, 4 (04): : 23 - &
  • [49] AN INTERACTIVE ANIMATION FOR LEARNING HOW CACHE COHERENCE PROTOCOLS WORK
    Alcon Laguens, Alberto
    Barrachina Mir, Sergio
    Quintana Orti, Enrique S.
    INTED2011: 5TH INTERNATIONAL TECHNOLOGY, EDUCATION AND DEVELOPMENT CONFERENCE, 2011, : 6128 - 6132
  • [50] HieraGen: Automated Generation of Concurrent, Hierarchical Cache Coherence Protocols
    Oswald, Nicolai
    Nagarajan, Vijay
    Sorin, Daniel J.
    2020 ACM/IEEE 47TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA 2020), 2020, : 888 - 899