• DocumentCode
    2959806
  • Title

    Implementing and Evaluating a Model Checker for Transactional Memory Systems

  • Author

    Baek, Woongki ; Bronson, Nathan ; Kozyrakis, Christos ; Olukotun, Kunle

  • Author_Institution
    Comput. Syst. Lab., Stanford Univ., Stanford, CA, USA
  • fYear
    2010
  • fDate
    22-26 March 2010
  • Firstpage
    117
  • Lastpage
    126
  • Abstract
    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.
  • Keywords
    parallel programming; storage management; model checker; parallel programming; timestamp-based software; transactional memory systems; Atmospheric modeling; Clocks; Hardware; Program processors; Registers; Space exploration; Model Checking; Transactional Memory;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Engineering of Complex Computer Systems (ICECCS), 2010 15th IEEE International Conference on
  • Conference_Location
    Oxford
  • Print_ISBN
    978-1-4244-6638-2
  • Electronic_ISBN
    978-1-4244-6639-9
  • Type

    conf

  • DOI
    10.1109/ICECCS.2010.30
  • Filename
    5628620