Master's thesis submission talk. Mihai is advised by Prof. Hans-Joachim Bungartz, in collaboration with Siemens.
Previous talks at the SCCS Colloquium
Mihai Robescu: Efficiency Optimization of a Modular Data Race Detection Tool for Highly Parallel Applications
SCCS Colloquium |
A physical barrier is hit in raising processor clock speed, due to the exponential increase of heat and power consumption. To gain more computing power, the number of cores in a
socket is increased instead. However, programs do not get faster automatically with more cores, instead developing explicitly multi-core programs is necessary, which is a cumbersome task.
Due to the non-deterministic nature of multi-threaded programs, testing is not sufficient since it yields no meaningful results. On the other hand, the increased complexity hinders the usage of other verification methods, such as checking that all program paths fulfill certain properties, since there would be too many possible program paths to consider. Data race detection tools can help in this case. Although, in general, dynamic race detection algorithms offer low complexity, they still add significant overhead making them practically impossible to be used in some scenarios, where the target problem is bounded by external time or memory constraints.
This thesis deals with optimizations for data race detection tools by improving the implementation of the "FastTrack2" algorithm. In order to optimize the algorithm, processing logic has to be enhanced in both time and space, since for race detection a very large number of memory accesses has to be inspected. We look into several strategies for limiting the memory consumption of race detection algorithms while maintaining soundness. Further improvements revolve around call stack handling, by exploring architectural changes in how data is stored and evaluating different data structures. We conclude with an evaluation of the proposed optimization strategies. All of them are implemented on top of a Siemens™ open-source race detection tool for Microsoft™ Windows®, called DRace.
Keywords: Concurrency Bugs, Data Race Detection, Multi-threaded Program Analysis, FastTrack2.