• DocumentCode
    2266893
  • Title

    ADAT: An Adaptable Dynamic Analysis Tool for Race Detection in OpenMP Programs

  • Author

    Kim, Young-Joo ; Song, Sejun ; Jun, Yong-Kee

  • fYear
    2011
  • fDate
    26-28 May 2011
  • Firstpage
    304
  • Lastpage
    310
  • Abstract
    Shared-memory based parallel programming with OpenMP and Posix-thread APIs is becoming more common to fully take advantage of multiprocessor computing environments. One of the critical risks in the multithreaded programming is data races which are hard to debug and greatly damaging to parallel applications if they are uncaughted. Although ample effort has been made in building specialized data race detection techniques, the state of art tools such as Intel thread checker still have various functionality and performance problems. In this paper, we present an efficient data race detection mechanism named ADAT (Adaptive Dynamic Analysis Tool). ADAT analyzes target program models to categorize the race engines (RDC: Race-Detection Classification) and then selects adequate engines to detect races automatically based upon the RDC (ECPS: Engine Code Property Selector). ADAT constructs an emperically optimal set of race engines in the aspect of labeling, filtering, and detection. In addition to RDC and ECPS, we have implemented an OpenMP parser and a source instrument or in ADAT to support OpenMP programs. The functionality and efficiency of ADAT are compared with those of Intel thread checker by using a set of OpenMP based kernel programs. The experimental results show that ADAT can detect data races with more challenging target program models and can achieve a couple of orders of magnitude faster processing time than Intel thread checker.
  • Keywords
    application program interfaces; multi-threading; program compilers; program debugging; shared memory systems; ADAT; ECPS; OpenMP based kernel program; OpenMP parser; RDC; adaptable dynamic analysis tool; data race detection technique; engine code property selector; multiprocessor computing environment; multithreaded programming; posix-thread API; program debugging; race detection classification; race engine categorization; shared memory based parallel programming; source instrumentor; Engines; Instruction sets; Instruments; Labeling; Programming; Scalability; Synchronization; Adaptive Dynamic Analysis Tool; Intel Thread Checker; OpenMP; Race Detection;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing with Applications (ISPA), 2011 IEEE 9th International Symposium on
  • Conference_Location
    Busan
  • Print_ISBN
    978-1-4577-0391-1
  • Electronic_ISBN
    978-0-7695-4428-1
  • Type

    conf

  • DOI
    10.1109/ISPA.2011.49
  • Filename
    5951923