|
计算机科学技术学报 ›› 2020,Vol. 35 ›› Issue (2): 395-411.doi: 10.1007/s11390-020-9701-4
Hong-Mei Wei1, Jian Gao2,*, Peng Qing2, Kang Yu2, Yan-Fei Fang2, Ming-Lu Li1, Senior Member, CCF, IEEE, Member, ACM
Hong-Mei Wei1, Jian Gao2,*, Peng Qing2, Kang Yu2, Yan-Fei Fang2, Ming-Lu Li1, Senior Member, CCF, IEEE, Member, ACM
MPI已经成为高性能计算编程模型的事实标准,但其丰富灵活的接口语义使得程序易于出现通信死锁,严重影响系统的可用性。然而,现有的MPI通信死锁检测工具可扩展性不高,难以适应持续扩大的系统规模。为此,本文提出一种MPI运行时的通信死锁检测框架MPI-RCDD,该框架包含三种主要机制。首先,MPI-RCDD设计实现与死锁检测相适应的消息日志协议,确保死锁检测必需的通信消息不丢失;其次,使用MPI环境提供的消息异步处理线程实现进程之间依赖关系的传递,使得众多进程能够同时参与死锁检测工作,缓解集中式分析的性能瓶颈问题;此外,提出一种基于AND⊕OR模型的死锁分析算法AODA,该算法将基于消息超时和基于依赖关系两种死锁分析方式相结合,能够在超时等待进程之间的依赖关系传递过程中搜索死锁环或结,准确定位引发死锁的进程并且不会产生误报。在Umpire Test Suit等典型MPI通信死锁测试程序上的实验结果验证了MPI-RCDD框架的有效性,同时,在NPB基准测试程序上的实验获得了令人满意的性能开销,表明本文提出的MPI-RCDD框架具备较强的可扩展性。
[1] Vakkalanka S. Efficient dynamic verification algorithms for MPI applications[Ph.D. Thesis]. School of Computing, The University of Utah, 2010. [2] Luecke G R, Zou Y, Coyle J et al. Deadlock detection in MPI programs. Concurrency and Computation:Practice and Experience, 2002, 14(11):911-932. [3] Krammer B, Bidmon K, Müller M S et al. MARMOT:An MPI analysis and checking tool. Advances in Parallel Computing, 2004, 13:493-500. [4] Vetter J S, de Supinski B R. Dynamic software testing of MPI applications with Umpire. In Proc. the 2000 ACM/IEEE Conference on Supercomputing, November 2000, Article No. 51. [5] Hilbrich T, Schulz M, de Supinski B R et al. MUST:A scalable approach to runtime error detection in MPI programs. In Proc. the 3rd International Workshop on Parallel Tools for High Performance Computing, September 2000, pp.53-66. [6] Hilbrich T, Protze J, Schulz M et al. MPI runtime error detection with MUST:Advances in deadlock detection. Scientific Programming, 2013, 21(3/4):109-121. [7] Do-Mai A T, Diep T D, Thoai N. Race condition and deadlock detection for large-scale applications. In Proc. the 15th International Symposium on Parallel and Distributed Computing, July 2016, pp.319-326. [8] Forejt V, Joshi S, Kroening D et al. Precise predictive analysis for discovering communication deadlocks in MPI programs. ACM Transactions on Programming Languages and Systems, 2017, 39(4):Article No. 15. [9] Alnemari R A, Fadel M A, Eassa F. Integrating static and dynamic analysis techniques for detecting dynamic errors in MPI programs. International Journal of Computer Science and Mobile Computing, 2018, 7(4):141-147. [10] Alghamdi A M, Eassa F E. Software testing techniques for parallel systems:A survey. International Journal of Computer Science and Network Security, 2019, 19(4):176-186. [11] Hilbrich T, de Supinski B R, Schulz M et al. A graph based approach for MPI deadlock detection. In Proc. the 23rd International Conference on Supercomputing, June 2009, pp.296-305. [12] Siegel S F, Zirkel T K. FEVS:A functional equivalence verification suite for high-performance scientific computing. Mathematics in Computer Science, 2011, 5(4):427-435. [13] Müller M, de Supinski B, Gopalakrishnan G et al. Dealing with MPI bugs at scale:Best practices, automatic detection, debugging, and formal verification. http://www.cs.utah.edu/fv/publications/sc11_with_handson.pptx,October 2019. [14] Bailey D H, Barszcz E, Barton J T et al. The NAS parallel benchmarks. The International Journal of Supercomputing Applications, 1991, 5(3):63-73. |
[1] | André Brinkmann, Kathryn Mohror, Weikuan Yu, Philip Carns, Toni Cortes, Scott A. Klasky, Alberto Miranda, Franz-Josef Pfreundt, Robert B. Ross, Marc-André Vef. 高性能计算专用文件系统[J]. 计算机科学技术学报, 2020, 35(1): 4-26. |
[2] | Yu-Tong Lu, Peng Cheng, Zhi-Guang Chen. Tianhe-2数据存储与管理系统设计与实现[J]. 计算机科学技术学报, 2020, 35(1): 27-46. |
[3] | Qi Chen, Kang Chen, Zuo-Ning Chen, Wei Xue, Xu Ji, Bin Yang. 神威存储系统面向应用I/O性能提升的优化介绍[J]. 计算机科学技术学报, 2020, 35(1): 47-60. |
[4] | Marc-André Vef, Nafiseh Moti, Tim Süß, Markus Tacke, Tommaso Tocci, Ramon Nou, Alberto Miranda, Toni Cortes, André Brinkmann. GekkoFS—一种用于高性能计算应用的临时突发缓冲文件系统[J]. 计算机科学技术学报, 2020, 35(1): 72-91. |
[5] | Robert B. Ross, George Amvrosiadis, Philip Carns, Charles D. Cranor, Matthieu Dorier, Kevin Harms, Greg Ganger, Garth Gibson, Samuel K. Gutierrez, Robert Latham, Bob Robey, Dana Robinson, Bradley Settlemyer, Galen Shipman, Shane Snyder, Jerome Soumagne, Qing Zheng. Mochi:为高性能计算环境组合数据服务[J]. 计算机科学技术学报, 2020, 35(1): 121-144. |
[6] | Xu Tan, Xiao-Wei Shen, Xiao-Chun Ye, Da Wang, Dong-Rui Fan, Lunkai Zhang, Wen-Mi. 一种面向数据流架构的无停顿双缓冲机制[J]. , 2018, 33(1): 145-157. |
[7] | Xiao-Wei Shen, Xiao-Chun Ye, Xu Tan, Da Wang, Lunkai Zhang, Wen-Ming Li, Zhi-Min Zhang, Dong-Rui Fan, Ning-Hui Sun. 一种面向数据流架构的高效片上路由结构[J]. , 2017, 32(1): 11-25. |
版权所有 © 《计算机科学技术学报》编辑部 本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn 总访问量: |