期刊文献+

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

Static Data Race Detection for X10 Parallel Programs
下载PDF
导出
摘要 在多线程程序中,当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.
作者 王旭 陈雨亭
出处 《计算机工程》 CAS CSCD 2012年第15期35-38,42,共5页 Computer Engineering
基金 国家自然科学基金资助面上项目(60970009) 上海市计算机软件评测重点实验室开放课题基金资助项目(SSTL2011_02)
关键词 X10语言 数据竞争 并行程序分析 静态检测 多线程 X10 language data race parallel program analysis static detection multi thread
  • 相关文献

参考文献10

  • 1Saraswat V. X10 Language Specification[EB/OL]. (2010-08-28). http://x 10-1ang.org. 被引量:1
  • 2Raman R. Efficient Data Race Detection for Async-finish Para- llelism[C]//Proc, of the 1st International Conference on Runtime Verification. Heidelberg, Germany: Springer-Verlag, 2010: 368- 383. 被引量:1
  • 3Christiaens M, de Bosschere K. TRaDe: A Topological Approach to On-the-fly Race Detection in Java Programs[C]//Proc. of 2001 Symposium on Java TM Virtual Machine Research and Technology. Berkeley, USA: USENIX Association, 2001: 105-116. 被引量:1
  • 4Savage S. Eraser: A Dynamic Data Race Detector for Multi- threaded Programs[C]//Proc. of the 16th ACM Symposium on Operating Systems Principles. [S. 1.]: ACM Press, 1997: 27-37. 被引量:1
  • 5Dinning A, Schonberg E. Detecting Access Anomalies in Programs with Critical Sections[C]//Proc. of 1991 ACM/ONR Workshop on Parallel and Distributed Debugging. New York, USA: ACM Press, 1991: 85-96. 被引量:1
  • 6Naik M, Aiken A, Whaley J. Effective Static Race Detection for Java[C]//Proc. of 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation. Ottawa, Canada: ACM Press, 2006. 被引量:1
  • 7Agarwal S. May-happen-in-parallel Analysis of X 10 Programs[C]// Proc. of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. San Jose, USA: ACM Press, 2007. 被引量:1
  • 8Vasudevan N. Compile-time Analysis and Specialization of Clocks in Concurrent Programs[C]//Proc. of CC'09. [S. 1.]: IEEE Press, 2009: 48-62. 被引量:1
  • 9桑春雷,张兆庆.别名集切片与并行化研究[J].计算机工程,2011,37(21):6-10. 被引量:1
  • 10Yelick K. Productivity and Performance Using Partitioned Global Address Space Languages[C]//Proc. of 2007 International Workshop on Parallel Symbolic Computation. New York, USA: ACM Press, 2007: 27-28. 被引量:1

二级参考文献13

  • 1Mark W. Program Slicing[C]//Proc. of the 5th Int'l Conf. on Software Engineering. [S. 1.]: IEEE Press, 1981. 被引量:1
  • 2Ottenstein K, Ottenstein L. The Program Dependence Graph in a Software Development Environment[J]. ACM SIGPLAN Notices, 1984, 19(5): 177-184. 被引量:1
  • 3Ferrante J Ottenstein K J, Warren J D. The Program Dependence Graph and Its Use in Optimization[J]. ACM Trans. on Programming Languages and Systems, 1987, 9(3): 319-329. 被引量:1
  • 4Horwitz S, Reps T. Inter-procedural Slicing Using Dependence Graphs[C]//Proc. of ACM Conf. on Programming Language.Design and Implementation. [S. 1.]: ACM.Press, 1988. 被引量:1
  • 5Susan H, Thomas R, David B. Inter-procedural Slicing Using Dependence Graphs[J]. ACM Trans. on Programming Languages and Systems, 1990, 12(1): 26-60. 被引量:1
  • 6Frank T. A Survey of Program Slicing Techniques[J]. Journal of Programming Languages, 1995, 3(3): 121-189. 被引量:1
  • 7Liao Shih-Wei, Amer D, Robert E SUIF Explorer: An Interactive and Inter-procedural Parallelizer[C]//Proc. of the 7th ACM Symposium on Principles and Practice of Parallel Programming. [S. 1.]: ACM Press, 1999. 被引量:1
  • 8Bjarne S. Program Slicing Techniques[C]//Proc. of the 23rd ACM Symp. on Principles of Programming Languages. Petersburg Beach, Florida, USA: Is. n.], 1996. 被引量:1
  • 9Vineet K. Bootstrapping: A Technique for Scalable Flow and Context-sensitive Pointer Alias Analysis[C]//Proc. of 2008 ACM Conf. on Programming Language Design and Implemen- tation. Tucson, USA: [s. n.], 2008. 被引量:1
  • 10Yu Hongtao, Xue Jingling, Huo Wei, et al. Level by Level: Making Flow and Context-sensitive Pointer Analysis Scalable for Millions of Lines of Code[C]//Proc. of the 8th Annual IEEE/ACM Int'l Symp. on Code Generation and Optimization. Toronto, Ontario, Canada: [s. n.], 2010. 被引量:1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部