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 among the three models are given and proved strictly. These theories and methods for simple models' deadlock detection are the necessary base for real MPI program deadlock detection. The methods are based on a static analysis through programs and with runtime detection in necessary cases and they are able to determine before compiling whether it will be deadlocked for two of the three basic models. For another model, some deadlock cases can be found before compiling and others at runtime. Our theorems can be used to prove the correctness of currently popular MPI program deadlock detection algorithms. Our methods may decrease codes that those algorithms need to change to MPI source or profiling interface and may detects deadlocks ahead of program execution, thus the overheads can be reduced greatly.
Co-Design and Evaluation of a CPU-Free MPI GPU Communication Abstraction and Implementation
University of New Mexico(新墨西哥大学);Oak Ridge National Laboratory(橡树岭国家实验室);Tennessee Tech University(田纳西科技大学);University of Alabama(阿拉巴马大学);Center for Computing Research Sandia National Laboratories(桑迪亚国家实验室计算研究中心)
Distributed Order Recording Techniques for Efficient Record-and-Replay of Multi-threaded Programs
Nanchang Hangkong University(南昌航空大学);Pacific Northwest National Laboratory(太平洋西北国家实验室);RIKEN R-CCS(理化学研究所计算科学研究中心);NVIDIA(英伟达);Lawrence Livermore National Laboratory(劳伦斯利弗莫尔国家实验室);Technical University of Munich(慕尼黑工业大学)