-
题名基于可行序的数据竞争检测
- 1
-
-
作者
李磊
陈云霁
章隆兵
肖俊华
-
机构
计算机体系结构国家重点实验室
中国科学院计算技术研究所
中国科学院大学
龙芯中科技术有限公司
-
出处
《高技术通讯》
CAS
CSCD
北大核心
2014年第7期669-676,共8页
-
基金
国家"核高基"科技重大专项课题(2009ZX01028-002-003
2009ZX01029-001-003
+11 种基金
2010ZX01036-001-002
2012ZX01029-001-002-002)
国家自然科学基金(61221062
61100163
61133004
61173001
61232009
61222204)
863计划(2012AA010901
2012AA011002
2012AA012202
2013AA014301)资助项目
-
文摘
为了在并行程序的单次执行中找到更多的数据竞争,提出了用可行序关系替代传统的"happens-before"序关系来动态地实现数据竞争预测的算法。该算法认为:从技术上讲,如果在观测到的执行轨迹中,两个临界区之间没有可行序的关系,那么这两个临界区的顺序可以被颠倒以构造出其他的执行轨迹;通过判断可行序关系来分析这些构造出来的执行轨迹,就可以找到单次执行中未暴露出来的可能的数据竞争;所有构造出来的执行轨迹中的数据竞争,可以在O(an)的时间内全部检测出来,其中n为程序中所有访存操作的个数,a为每个共享地址上的最大锁集合数。在Java Grande测试程序集上的实验结果说明,上述算法可以找到其他动态检测数据竞争的方法找不到的数据竞争,而且算法时间也完全符合理论上的O(an)时间复杂度。
-
关键词
数据竞争
并行程序调试
发生前(hb)
可行序
-
Keywords
data race, concurrent program debugging, happens-before ( hb), feasible-ahead
-
分类号
TP332
[自动化与计算机技术—计算机系统结构]
-