Use of Software Transactional Memory, with hardware support, is a promising parallel programming paradigm.
It can be used to separate conflict detection into a separate thread from normal application execution thread.
As a result, both application and conflict detection execute in parallel. This improves performance of the application while maintaining data consistency.
The aim of FastTM is to utilize this concept on race detection. FastTM is a project about a runtime/framework for race detection and avoidance on C/C++ applications.
On race detection we will parallelize the happens-before based race detection algorithm; Fasttrack.
Our first phase of the project is to parallelize the Fasttrack algorithm using software Transactional Memory (STM2) approach by using a parallel sibling thread per application thread to do race detection.
The second phase will be to devise methods to classify races and find methods to avoid them.