A Sound Reduction of Persistent-Sets for Deadlock Detection in MPI Applications
نویسندگان
چکیده
Formal dynamic analysis of MPI programs is crucially important in the context of developing HPC applications. Existing dynamic verification tools for MPI programs suffer from exponential schedule explosion, especially when multiple non-deterministic receive statements are issued by a process. In this paper, we focus on detecting message-orphaning deadlocks within MPI programs. For this analysis target, we describe a sound heuristic that helps avoid schedule explosion in most practical cases while not missing deadlocks in practice. Our method hinges on initially computing the potential non-deterministic matches as conventional dynamic analyzers do, but then including only the entries which are found relevant to cause a refusal deadlock (essentially a macroscopic-view persistent-set reduction technique). Experimental results are encouraging.
منابع مشابه
Deadlock Detection in Basic Models of MPI Synchronization Communication Programs
Deadlock Detection in Basic Models of MPI Synchronization Communication Programs LIAO Ming-xue, FAN Zhi-hua (Institute of Software, the Chinese Academy of Sciences, Beijing 100080, China) Abstract: A model of MPI synchronization communication programs is presented and its three basic simplified models are also defined. A series of theorems and methods for deciding whether deadlocks will occur a...
متن کاملMPI Runtime Error Detection with MUST: Advanced Error Reports
The Message Passing Interface (MPI) is a widely used paradigm for distributed memory programming. Its API is primarily designed for good performance and less for usability; it provides only very limited abstractions that help enforce its correct use. As a result, application developers need tools that aid in the detection and removal of MPI usage errors. Our runtime error detection tool MUST ad...
متن کاملAlgorithm of Static Deadlock Detection in MPI Synchronization Communication Sequential Model
廖名学,何晓新,范植华 (中国科学院软件研究所,北京海淀区中关村南四街 4 号 100080) 摘 要: 静态检测 MPI 程序同步通信死锁比较困难,通常需要建立程序模型。顺序模型是 其他所有复杂模型的基础。通过一种映射方法将顺序模型转化为字符串集合,将其死锁检测 问题转化为等价的多队列字符串匹配问题,从而设计并实现了一种 MPI 同步通信顺序模型 的静态死锁检测算法。算法时空复杂度均为 O(n),这里 n 是模型中消息的总数。算法性能 好于通常的环检测方法并能适应动态消息流。 关键词:MPI;算法;死锁;静态分析 Algorithm of Static Deadlock Detection in MPI Synchronization Communication Sequential Model Liao Ming-Xue, He Xiao-Xin, Fan Zhi-Hua (In...
متن کاملDynamic Verification of MPI Programs with Reductions in Presence of Split Operations and Relaxed Orderings
Dynamic verification methods are the natural choice for debugging real world programs when model extraction and maintenance are expensive. Message passing programs written using the MPI library fall under this category. Partial order reduction can be very effective for MPI programs because for each process, all its local computational steps, as well as many of its MPI calls, commute with the co...
متن کاملDeadlock detection in MPI programs
The Message Passing Interface (MPI) is commonly used to write parallel programs for distributed memory parallel computers. MPI-CHECK is a tool developed to aid in the debugging of MPI programs that are written in free or fixed format Fortran 90 and Fortran 77. This paper presents the methods used in MPI-CHECK 2.0 to detect many situations where actual and potential deadlocks occur when using bl...
متن کامل