Multithreading is a widely used programming technique that efficiently uses multicore processors. However, correctly executing a multithreaded program is challenging mainly because of intractable concurrency bugs caused by nondeterministic thread scheduling. Data races are one of the main causes of those concurrency bugs, and data race detectors are essential tools to assist long-suffering programmers in locating data races in problematic multithreaded programs. In this paper, we propose a new hybrid detector called SimpleLock+, which accurately detects data races in a scheduling-insensitive manner with a low runtime overhead by combining happens-before and simplified Lockset algorithms. We significantly reduce the runtime slowdowns of previous hybrid detectors by assuming that most data races are caused by accesses to a shared memory location without the protection of locks and that the distance between accesses that cause a data race is not long in an execution trace. In addition, we improve the speed of the detection algorithm by using a simpler data structure and by eliminating redundant operations. The results of the experiments that are conducted on the RoadRunner framework confirm that those assumptions are valid and that the SimpleLock+ detector can efficiently and accurately detect real and potential data races that are caused by inconsistent locking in one execution trace. The results also show that the average runtime slowdown of SimpleLock+ is only 1.09 times that of FastTrack, which is the fastest happens-before race detector, and SimpleLock+ reports the same race warnings with one missing data race as the current accurate hybrid detector.
KSP 제안 키워드
Data Race Detection, Data race detectors, Data structure, Detection algorithm, Execution trace, Fast and accurate, Happens-before, Missing data, Runtime overhead, Shared Memory, Thread Scheduling
저작권정책 안내문
한국전자동신연구원 지식공유플랫폼 저작권정책
한국전자통신연구원 지식공유플랫폼에서 제공하는 모든 저작물(각종 연구과제, 성과물 등)은 저작권법에 의하여 보호받는 저작물로 무단복제 및 배포를 원칙적으로 금하고 있습니다. 저작물을 이용 또는 변경하고자 할 때는 다음 사항을 참고하시기 바랍니다.
저작권법 제24조의2에 따라 한국전자통신연구원에서 저작재산권의 전부를 보유한 저작물의 경우에는 별도의 이용허락 없이 자유이용이 가능합니다. 단, 자유이용이 가능한 자료는 "공공저작물 자유이용허락 표시 기준(공공누리, KOGL) 제4유형"을 부착하여 개방하고 있으므로 공공누리 표시가 부착된 저작물인지를 확인한 이후에 자유이용하시기 바랍니다. 자유이용의 경우에는 반드시 저작물의 출처를 구체적으로 표시하여야 하고 비영리 목적으로만 이용이 가능하며 저작물을 변형하거나 2차 저작물로 사용할 수 없습니다.
<출처표시방법 안내> 작성자, 저작물명, 출처, 권호, 출판년도, 이용조건 [예시1] 김진미 외, "매니코어 기반 고성능 컴퓨팅을 지원하는 경량커널 동향", 전자통신동향분석, 32권 4호, 2017, 공공누리 제4유형 [예시2] 심진보 외, "제4차 산업 혁명과 ICT - 제4차 산업 혁명 선도를 위한 IDX 추진 전략", ETRI Insight, 2017, 공공누리 제 4유형
공공누리가 부착되지 않은 자료들을 사용하고자 할 경우에는 담당자와 사전협의한 이후에 이용하여 주시기 바랍니다.