LLVM Prepares New ThreadSanitizer Runtime That Is Faster, Lower Memory Use
LLVM developers have been working recently to land their new ThreadSanitizer run-time. The TSan as a reminder is the compiler instrumentation with associated run-time library for being able to detect data races.
ThreadSanitizer is successful at detecting data race conditions even within large and complex code-bases. But unfortunately it's quite burdensome to enable with performance slowing down in the range of 5~15x while the run-time memory overhead can be in the range of 5~10x.
With LLVM's new ThreadSanitizer run-time the shadow memory is 2x smaller, or about 2x of the conventional application memory usage. There is also faster fully-vectorized race detection, fast vectorized vector clock operations, and can handle an unlimited number of alive threads/goroutines. In other words, the new TSan run-time is a big improvement over the current code.
The developers have been working to land this new run-time but have had to revert it due to test failures. Improved test cases and other ThreadSanitizer enhancements have landed while the latest TSan run-time patch was posted here awaiting a fresh merge where it will hopefully all be in order for speeding up ThreadSanitizer.
ThreadSanitizer is successful at detecting data race conditions even within large and complex code-bases. But unfortunately it's quite burdensome to enable with performance slowing down in the range of 5~15x while the run-time memory overhead can be in the range of 5~10x.
With LLVM's new ThreadSanitizer run-time the shadow memory is 2x smaller, or about 2x of the conventional application memory usage. There is also faster fully-vectorized race detection, fast vectorized vector clock operations, and can handle an unlimited number of alive threads/goroutines. In other words, the new TSan run-time is a big improvement over the current code.
The developers have been working to land this new run-time but have had to revert it due to test failures. Improved test cases and other ThreadSanitizer enhancements have landed while the latest TSan run-time patch was posted here awaiting a fresh merge where it will hopefully all be in order for speeding up ThreadSanitizer.
7 Comments