Implementing and Evaluating a Model Checker for Transactional Memory Systems

被引:0
|
作者
Baek, Woongki [1 ]
Bronson, Nathan [1 ]
Kozyrakis, Christos [1 ]
Olukotun, Kunle [1 ]
机构
[1] Stanford Univ, Comp Syst Lab, Stanford, CA 94305 USA
基金
美国国家科学基金会;
关键词
COHERENCE;
D O I
10.1109/ICECCS.2010.21
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Transactional Memory (TM) is a promising technique that addresses the difficulty of parallel programming. Since TM takes responsibility for all concurrency control, TM systems are highly vulnerable to subtle correctness errors. Due to the difficulty of fully proving the correctness of TM systems, many of them are used without any formal correctness guarantees. This paper presents ChkTM, a flexible model checking environment to verify the correctness of various TM systems. ChkTM aims to model TM systems close to the implementation level to reveal as many potential bugs as possible. For example, ChkTM accurately models the version control mechanism in timestamp-based software TMs (STMs). In addition, ChkTM can flexibly model TM systems that use additional hardware components or support nested parallelism. Using ChkTM, we model several TM systems including a widely-used industrial STM (TL2), a hybrid TM (SigTM) that uses hardware signatures, and an STM (NesTM) that supports nested parallel transactions. We then demonstrate how ChkTM can be used to find a previously unreported correctness bug in the current implementation of eager-versioning TL2. We also verify the serializability of TL2 and SigTM and strong isolation guarantees of SigTM. Finally, we quantitatively analyze ChkTM to understand the practical issues and motivate further research in model checking TM systems.
引用
收藏
页码:117 / 126
页数:10
相关论文
共 50 条
  • [1] Implementing and Evaluating Nested Parallel Transactions in Software Transactional Memory
    Baek, Woongki
    Bronson, Nathan
    Kozyrakis, Christos
    Olukotun, Kunle
    SPAA '10: PROCEEDINGS OF THE TWENTY-SECOND ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2010, : 253 - 262
  • [2] Implementing signatures for transactional memory
    Sanchez, Daniel
    Yen, Luke
    Hill, Mark D.
    Sankaralingam, Karthikeyan
    MICRO-40: PROCEEDINGS OF THE 40TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, 2007, : 123 - 133
  • [3] Issues in implementing a model checker for Z
    Derrick, John
    North, Siobhan
    Simons, Tony
    FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2006, 4260 : 678 - +
  • [4] A flexible framework for implementing software transactional memory
    Herlihy, Maurice
    Luchangco, Victor
    Moir, Mark
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 253 - 261
  • [5] Evaluating the Impact of Transactional Characteristics on the Performance of Transactional Memory Applications
    Rui, Fernando
    Castro, Marcio
    Griebler, Dalvan
    Fernandes, Luiz Gustavo
    2014 22ND EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2014), 2014, : 93 - 97
  • [6] On Transactional Scheduling in Distributed Transactional Memory Systems
    Kim, Junwhan
    Ravindran, Binoy
    STABILIZATION, SAFETY, AND SECURITY OF DISTRIBUTED SYSTEMS, 2010, 6366 : 347 - 361
  • [7] Evaluating a probabilistic model checker for modeling and analyzing retrial queueing systems
    Berczes, Tamas
    Guta, Gabor
    Kusper, Gabor
    Schreiner, Wolfgang
    Sztrik, Janos
    ANNALES MATHEMATICAE ET INFORMATICAE, 2010, 37 : 51 - 75
  • [8] Implementing Software Transactional Memory Using STM Haskell
    Ghosh, Ammlan
    Chaki, Rituparna
    ADVANCED COMPUTING AND SYSTEMS FOR SECURITY, VOL 2, 2016, 396 : 235 - 248
  • [9] A queuing model-based approach for the analysis of transactional memory systems
    Yu, Xiao
    He, Zhengyu
    Hong, Bo
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2013, 25 (06): : 808 - 825
  • [10] Runtime validation of Transactional Memory systems
    Chen, Kaiyu
    Malik, Sharad
    Patra, Priyadarsan
    ISQED 2008: PROCEEDINGS OF THE NINTH INTERNATIONAL SYMPOSIUM ON QUALITY ELECTRONIC DESIGN, 2008, : 750 - +