X10并行程序中静态数据竞争检测  

Static Data Race Detection for X10 Parallel Programs

在线阅读下载全文

作  者:王旭[1] 陈雨亭[1] 

机构地区:[1]上海交通大学软件学院,上海200240

出  处:《计算机工程》2012年第15期35-38,42,共5页Computer Engineering

基  金:国家自然科学基金资助面上项目(60970009);上海市计算机软件评测重点实验室开放课题基金资助项目(SSTL2011_02)

摘  要:在多线程程序中,当2个以上线程在没有顺序约束的条件下访问同一个存储单元时,且其中至少有一个为写访问,则可能会发生数据竞争。为此,提出一种针对X10并行程序的静态数据竞争检测算法,包括源访存对计算、可达访存对计算、时钟同步访存对计算和逃逸访存对计算4个阶段。通过在WALA框架中分析构建程序的调用图,计算源访存对集合,检测出内存访存中可能发生数据竞争的无序对。实验结果表明,该算法可以在不显著增加X10并行程序总体运行时间的情况下,达到比较理想的数据竞争检测效果。A multi threaded program can contain a data race when two or more threads access the same memory location under no ordering constraints and at least one access is a write operation.The existence of data races can lead to many kinds of harmful program behaviors,including determinism violations,corrupted memory,and so on.It proposes a new algorithm for static detection of data races in X10 parallel programs,which contains four steps: pairs of sources accesses computation,pairs of reachable accesses computation,pairs of clockwise accesses computation,and escape analysis of accessing pairs computation.The essential idea of this approach is to construct the call graph of the program on the basis of the WALA,and then to compute pairs of sources accesses for detecting potential data races.Experimental results show that the algorithm performs well and can find and report potential data races in a cost effective manner.

关 键 词:X10语言 数据竞争 并行程序分析 静态检测 多线程 

分 类 号:TP311.5[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象