跨线程临界区与高效的动态竞态预测方法
Cross-thread critical sections and efficient dynamic race prediction methods
AI总结:
本文提出跨线程临界区概念,研究其对动态竞态预测的影响,证明WCP可靠、DCtp失效,并利用PWR减少误报,但分析速度平均减慢10%-20%。
摘要:
锁集合方法和偏序方法是保证动态数据竞态预测高效性的两种主要方法。这些思想有许多变体。它们共同的一个假设是,临界区中的事件属于同一线程。我们有证据表明,实际中的临界区确实会跨越线程边界,即使周围的获取和释放事件发生在同一线程中。我们引入了跨线程临界区这一新颖概念来捕捉此类情况,提供了一个理论上的综合框架,并研究了它们对最先进的数据竞态分析的影响。对于可靠的偏序关系WCP,我们可以证明其可靠性声明也适用于跨线程临界区。对于DCtp,跨线程临界区的出现使其可靠性声明失效。对于诸如WDP和PWR之类的完全偏序关系,跨线程临界区有助于消除更多的误报。同样的(积极)影响也适用于锁集合的构建。我们的实验评估证实了跨线程临界区在实践中确实会出现。对于完全关系PWR,我们能够减少误报的数量。跟踪跨线程临界区所带来的性能开销平均会使分析速度减慢10%-20%。
英文摘要:
The lock set method and the partial order method are two main approaches to guarantee that dynamic data race prediction remains efficient. There are many variations of these ideas. Common to all of them is the assumption that the events in a critical section belong to the same thread. We have evidence that critical sections in the wild do extend across thread boundaries even if the surrounding acquire and release events occur in the same thread. We introduce the novel concept of a cross-thread critical section to capture such situations, offer a theoretical comprehensive framework, and study their impact on state-of-the-art data race analyses. For the sound partial order relation WCP we can show that the soundness claim also applies to cross-thread critical sections. For DCtp the occurrence of cross-thread critical sections invalidates the soundness claim. For complete partial order relations such as WDP and PWR, cross-thread critical sections help to eliminate more false positives. The same (positive) impact applies to the lock set construction. Our experimental evaluation confirms that cross-thread critical sections arise in practice. For the complete relation PWR, we are able to reduce the number of false positives. The performance overhead incurred by tracking cross-thread critical sections slows down the analysis by 10%-20%, on average.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。