TY - GEN
T1 - ADAT
T2 - 9th IEEE International Symposium on Parallel and Distributed Processing with Applications, ISPA 2011
AU - Kim, Young Joo
AU - Song, Sejun
AU - Jun, Yong Kee
PY - 2011
Y1 - 2011
N2 - 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 instrumentor 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.
AB - 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 instrumentor 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.
UR - http://www.scopus.com/inward/record.url?scp=80051638412&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=80051638412&partnerID=8YFLogxK
U2 - 10.1109/ISPA.2011.49
DO - 10.1109/ISPA.2011.49
M3 - Conference contribution
AN - SCOPUS:80051638412
SN - 9780769544281
T3 - Proceedings - 9th IEEE International Symposium on Parallel and Distributed Processing with Applications, ISPA 2011
SP - 304
EP - 310
BT - Proceedings - 9th IEEE International Symposium on Parallel and Distributed Processing with Applications, ISPA 2011
Y2 - 26 May 2011 through 28 May 2011
ER -