会议专题

使用调试寄存器进行Linux内核数据竞争检测

并发程序中的数据竞争问题很难被检测和修复.以往的研究大多针对用户层的数据竞争检测并在此问题上取得了重大的进展,但在操作系统内核层面的数据竞争问题却几乎没有涉及.内核代码使用的同步机制远比用户层应用程序中复杂,如不同种类的锁,软硬件中断,大量的信号量原语以及各种底层的共享资源等.这些差别使得原有的用户层检测方法很难被应用到内核环境中.本文给出一个可有效检测Linux操作系统内核数据竞争问题的工具,基于当前通用处理器中现有的硬件结构调试寄存器,使用动态检测方法在内核程序运行过程中捕获数据竞争.初步的实验结果显示,本工具可有效地检测到内核中的数据竞争实例.

Linux系统 内核数据 竞争检测 调试寄存器

蒋运韫 杨弋 肖天 盛田维 陈文光

清华大学 计算机科学与技术系,北京 100084 加州大学圣地亚哥分校 计算机科学与工程系,美国

国内会议

2013全国高性能计算学术年会

桂林

中文

647-655

2013-10-29(万方平台首次上网日期,不代表论文的发表时间)