Hello,
About dynamic race detectors in concurrent computing..
There is two kind of dynamic race detectors with:
1- Happens-before relation
- The first to be invented, due to Lamport, depends on actual thread interleavings
- Serious runtime overhead
- No false positives
2- Lockset analysis
- Does not depend on thread interleavings
- Simpler and more efficient
- No false negatives
Modern tools combine the Lockset and happens before analysis
to achieve the benefits of both, examples: Intel Thread Checker, Sun ThreadAnalyser.
Also read here about using Hardware Transactional Memory
for Data Race Detection:
http://web.eecs.umich.edu/~shangupt/publications/sgupta-ipdps09.pdf
Thank you,
Amine Moulay Ramdane.