MulticoreSDK: A practical and efficient data race detector for real-world applications
Abstract
Multicore processors with each core supporting multiple threads are becoming commonplace. To take advantage of these hardware advances, application software has to evolve and embrace parallel processing, otherwise the performance growth that we have come to expect with each generation of processor technology will not be met. But, introducing parallelism into software is difficult and error prone. Robust debugging tools are required to help developers build efficient, scalable, multi-threaded applications. In this paper we present a data race detection tool and a set of techniques that were used to improve the efficiency of the tool. Also, we present detailed performance overheads for the tool using a number of industrial strength applications. Copyright 2009 ACM.