摘要
数据竞争使得共享存储程序难于调试 .以前大部分针对共享存储程序的动态数据竞争检测工作都是通过维护发生序来实现 .这种方法有一个重要缺点 ,即针对程序的一种输入 ,对程序的一次执行进行检测 ,不能检测出所有的可行数据竞争 .文中利用存储一致性模型的框架模型 ,针对域一致性模型提出了增强发生序概念 ,并依此得出一种基于锁集合的动态数据竞争检测算法 ,克服了这个问题 .在软件DSM系统JIAJIA上的实现获得了很好的性能 ,应用平均减速比为 3.14 .利用该方法 ,在TSP程序中找到了大量的读写数据竞争的情况 .
Shared-Memory parallel program is difficult to debug because of data races. Most of the previous work in dynamic data race detection is based on Happen-Before Order. The tools based on Happen-before Order have a significant drawback that for an input set, a detection of the execution of a program can miss some feasible data races. This article describes a lockset-based dynamic data race detection technique to solve this problem. Our dynamic data race detection is targeted on a software distributed shared memory(DSM) system called JIAJIA which supports Scope Consistency. By using the frame model of memory consistency model, Enhanced-Happen-Before Order for Scope Consistency has been defined and in further step, a lockset-based dynamic data race algorithm is suggested. This article describes the implementation of lockset-based algorithm in JIAJIA and presents an experimental evaluation of lockset-based technique by looking for data races in five common shared-memory programs. In TSP program, some read-write data races have been correctly found. The slowdown of this lockset-based technique averages less that 3.14 for our applications, which means that our lockset-based technique has gotten good performance.
出处
《计算机学报》
EI
CSCD
北大核心
2003年第10期1217-1223,共7页
Chinese Journal of Computers
基金
国家自然科学基金项目 ( 60 0 73 0 18
698962 5 0 )
中国科学院全国首届优秀博士学位论文作者专项基金
中国科学院计算技术研究所领域前沿青年基金 ( 2 0 0 162 80 6)资助