arrow
返回

ThreadMonitor: Low-Overhead Data Race Detection Using Intel Processor Trace

delete2026-01-01
delete0
delete
OA
AI
F
Farzam Dorostkar *
M
Michel Dagenais
A
A.K. Tyagi
V
Vince Bridgers
DOI:10.1002/cpe.70517delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
数据竞争是发现难度最大的多线程错误之一,因其具有非确定性。多线程编程的日益普及以及这一现状促使了对实用化自动数据竞争检测的需求。在此背景下,与静态工具相比,动态数据竞争检测器因其更高的准确性和可扩展性而受到更多关注。然而,当前最先进的动态数据竞争检测器无法在许多实际测试场景中使用,因为它们会导致显著的性能下降和内存开销。值得注意的是,ThreadSanitizer(TSan)作为clang和gcc编译器中的默认动态数据竞争检测器,据报道通常会产生-的减速和-的内存开销,这在许多工业应用中是不可接受的。为解决此问题,本文介绍了ThreadMonitor(TMon),一种低开销的后期分析数据竞争检测器,适用于使用Pthread库的多线程C/C++程序。运行时,TMon利用Intel处理器跟踪(Intel PT)这一非侵入式硬件特性,追踪检测数据竞争所需的信息(即共享内存访问和线程间的时序约束)。随后,其后期分析器检查收集的跟踪数据,以确定被跟踪的程序执行是否表现出数据竞争,执行与TSan运行时类似的验证。通过在其后期分析器中引入算法改进,TMon能够比TSan实现更高的数据竞争检测覆盖率。TMon没有直接的数据内存开销,产生最小的指令内存开销,并导致非常小的性能下降,使其成为资源受限测试环境中的理想选择。
Keyword:
data race
Intel Processor Trace (Intel PT)
low-overhead monitoring
multithreading
runtime verification
shared memory
timing constraints
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

C
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE
IF:
1.5
论文数:
473
被引数:
0

机构

U
universite de montreal
学者数:
4.6W
论文数: 3.8W
被引数: 46
P
Polytechnique Montreal
学者数:
3.7K
论文数: 3.4K
被引数: 42
引用论文

引用论文

Static race detection for device drivers: the Goblint approach
err2016-08-25
err0
PREAI
errVesal Vojdani; Kalmer Apinis; Vootele Rõtov; Helmut Seidl; Varmo Vene; Ralf Vogler
err分享
err收藏
err分享
err收藏
RacerX
err2003-10-19
err0
PREAI
errDawson Engler; Ken Ashcraft
err分享
err收藏
LiteRace
err2009-06-15
err0
PREAI
errDaniel Marino; Madanlal Musuvathi; Satish Narayanasamy
err分享
err收藏
Types for safe locking
err2006-03-01
err0
errOAAI
errMartin Abadi; Cormac Flanagan; Stephen N. Freund
err分享
err收藏
LOCKSMITH
err2011-01-25
err0
PREAI
errPolyvios Pratikakis; Jeffrey S. Foster; Michael Hicks
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
学者 查看更多内容