• DocumentCode
    572392
  • Title

    Demand-driven software race detection using hardware performance counters

  • Author

    Greathouse, Joseph L. ; Ma, Zhiqiang ; Frank, Matthew I. ; Peri, Ramesh ; Austin, Todd

  • Author_Institution
    Univ. of Michigan, Ann Arbor, MI, USA
  • fYear
    2011
  • fDate
    4-8 June 2011
  • Firstpage
    165
  • Lastpage
    176
  • Abstract
    Dynamic data race detectors are an important mechanism for creating robust parallel programs. Software race detectors instrument the program under test, observe each memory access, and watch for inter-thread data sharing that could lead to concurrency errors. While this method of bug hunting can find races that are normally difficult to observe, it also suffers from high runtime overheads. It is not uncommon for commercial race detectors to experience 300× slowdowns, limiting their usage. This paper presents a hardware-assisted demand-driven race detector. We are able to observe cache events that are indicative of data sharing between threads by taking advantage of hardware available on modern commercial microprocessors. We use these to build a race detector that is only enabled when it is likely that inter-thread data sharing is occurring. When little sharing takes place, this demand-driven analysis is much faster than contemporary continuous-analysis tools without a large loss of detection accuracy. We modified the race detector in Intel® Inspector XE to utilize our hardware-based sharing indicator and were able to achieve performance increases of 3× and 10× in two parallel benchmark suites and 51× for one particular program.
  • Keywords
    cache storage; multiprocessing programs; parallel programming; program debugging; program testing; software performance evaluation; Intel Inspector XE; bug detection accuracy; cache events; concurrency errors; dynamic data race detectors; hardware performance counters; hardware-assisted demand-driven software race detector; hardware-based sharing indicator; interthread data sharing; memory access; microprocessors; parallel benchmark suites; parallel program testing; Clocks; Detectors; Hardware; Instruction sets; Radiation detectors; Cache Coherency; Data Race Detection; Demand Analysis; Performance Counters;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture (ISCA), 2011 38th Annual International Symposium on
  • Conference_Location
    San Jose, CA
  • ISSN
    1063-6897
  • Print_ISBN
    978-1-4503-0472-6
  • Type

    conf

  • Filename
    6307755