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
Link To Document :
بازگشت