• DocumentCode
    1458485
  • Title

    Efficient Runtime Detection and Toleration of Asymmetric Races

  • Author

    Ratanaworabhan, Paruj ; Burtscher, Martin ; Kirovski, Darko ; Zorn, Benjamin ; Nagpal, Rahul ; Pattabiraman, Karthik

  • Author_Institution
    Fac. of Eng., Kasetsart Univ., Bangkok, Thailand
  • Volume
    61
  • Issue
    4
  • fYear
    2012
  • fDate
    4/1/2012 12:00:00 AM
  • Firstpage
    548
  • Lastpage
    562
  • Abstract
    We introduce ToleRace, a runtime system that allows programs to detect and even tolerate asymmetric data races. Asymmetric races are race conditions where one thread correctly acquires and releases a lock for a shared variable while another thread improperly accesses the same variable. ToleRace provides approximate isolation in the critical sections of lock-based parallel programs by creating a local copy of each shared variable when entering a critical section, operating on the local copies, and propagating the appropriate copies upon leaving the critical section. We start by characterizing all possible interleavings that can cause races and precisely describe the effect of ToleRace in each case. Then, we study the theoretical aspects of an oracle that knows exactly what type of interleaving has occurred. Finally, we present software implementations of ToleRace and evaluate them on multithreaded applications from the SPLASH2 and PARSEC suites.
  • Keywords
    multi-threading; program debugging; PARSEC suites; SPLASH2 suites; ToleRace; asymmetric data race condition; lock-based parallel program; multithreaded application; runtime detection; runtime system; runtime toleration; shared variable; software implementation; Instruction sets; Instruments; Libraries; Runtime; Schedules; Synchronization; Debugging aids; dynamic instrumentation; parallel programming; race detection and toleration.;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2011.48
  • Filename
    5719607