Data race condition is one of the most pernicious concurrency bugs. A data race occurs when two different threads access the same memory address concurrently and at least one of the accesses is a write. Current data race detection techniques can be classified as static or dynamic. Static detectors produce an excessive number of false alarms. Dynamic detectors incur higher overheads in execution time and memory space, and cause significant slowdown. Therefore, there is a need for an effective and fast data race detection method.
Researchers at Arizona State University have invented a fast data race detection method which runs in parallel on multicore systems. This novel technique separates race detection from application threads. This allows the system to perform data race analysis in worker threads without inter-thread dependencies. This can result in a reduction of slowdown and utilize available CPUs in multicore systems.
- Multicore processors
- Smart Devices
Benefits and Advantages
- Increased Speed –
- Speedups are attained as the lock operations in the detector program are eliminated, and the executions of worker threads can use the spatial locality of accesses.
- Enhances the debugging process and expedites software development cycles.
- Data race detection becomes faster because it is independent of the application thread executions.
- Adaptability - This method does not require any change in the underlining system and the same race detection algorithm is used.
- Increased Effectiveness – Provides fast, accurate results, as compared to the 81-90% of false alarms by static data race detection systems.
- Scalability –
- The parallelization strategy increases scalability as any number of worker threads are used regardless of application threads.
- Ideal for many cores, as it can use as many detection threads as the number of cores in the computer.
For more information about the inventor(s) and their research, please see