Font Size: a A A

Research On Dynamic Data Competition Detection Technology Of Multithreaded Programs

Posted on:2021-01-29Degree:MasterType:Thesis
Country:ChinaCandidate:M K LiFull Text:PDF
GTID:2438330605455631Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the prevalence of multi-core processors,multithreaded programming technology has also been applied to all aspects of the computer field.Multithreaded programming technology can make full use of the high computing power of multicore devices and it can perform multiple tasks in a single time and also speed up certain tasks,it can handle for tasks that need to respond quickly to user operation.But the execution of multithreaded programs is uncertain and generates a large number of possible interleaving,leading to serious concurrent bugs.Data races are highly destructive bugs in concurrent programs,it leading to data corruption,memory leaks,crashes,or incorrect execution.A data race exists when threads concurrently access a shared memory address,with at least one of the accesses being a write operation.Due to unordered thread interleaving,data races can randomly appear and disappear during the debugging process which makes them difficult to find and reproduce.Therefore,the detection of data race is an urgent problem to improve the reliability and security of concurrent software.Data race is a major source of concurrency bugs.Numerous static and dynamic program analysis techniques have been proposed by domestic and foreign researchers to detect data races.However,there is considerable space to improve of data race detection accuracy,coverage,and speed.In this thesis,a dynamic hybrid data race detection algorithm AsampleLock is based on the optimized FastTrack algorithm and locking pattern has been proposed.It uses the sampling technique,monitoring the function pairs from concurrent threads running simultaneously at the same time and obtaining memory access pairs which involving data race truly through the preliminary data race detection,thereby reducing analysis overhead of race detection.In order to reduce the influence of the algorithm on thread scheduling,AsampleLock uses nolock-hb relation to judge the concurrency relationship of access events,uses map to record read and write information,and uses the locking patterns to perform dynamic data race detection,thereby reducing false positives and false negatives.On the basis of the above methods,we implement the data race detection system,named AsampleLock.The Parsec benchmark suite was selected to evaluate the system,and compared with FastTrack,LiteRace,Multilock-HB.The results showed that the time overhead of AsampleLock is reduced by 7% compared with FastTrack.Compared with LiteRace and FastTrack,the data race detection rate of AsampleLock is increased by 38% and 23%,respectively.
Keywords/Search Tags:Multithreaded program, Data race detection, Sampling, Preliminary data race
PDF Full Text Request
Related items