ACCTEST: Hybrid Testing Techniques for MPI-Based Programs

被引:7
作者
Alghamdi, Abdullah S. Almalaise [1 ]
Alghamdi, Ahmed Mohammed [2 ]
Eassa, Fathy Elbouraey [3 ]
Khemakhem, Maher Ali [3 ]
机构
[1] King Abdulaziz Univ, Fac Comp & Informat Technol, Dept Informat Syst, Jeddah 21589, Saudi Arabia
[2] Univ Jeddah, Coll Comp Sci & Engn, Dept Software Engn, Jeddah 21493, Saudi Arabia
[3] King Abdulaziz Univ, Fac Comp & Informat Technol, Dept Comp Sci, Jeddah 21589, Saudi Arabia
来源
IEEE ACCESS | 2020年 / 8卷 / 08期
关键词
Testing; Programming; Tools; System recovery; Static analysis; Runtime; Task analysis; MPI; MPI testing tool; hybrid testing techniques; parallel programming; ACC_TEST; TOOL;
D O I
10.1109/ACCESS.2020.2994172
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Recently, MPI has become widely used in many scientific applications, including different non-computer science fields, for parallelizing their applications. An MPI programming model is used for supporting parallelism in several programming languages, including C, C, and Fortran. MPI also supports integration with some programming models and has several implementations from different vendors, including open-source and commercial implementations. However, testing parallel programs is a difficult task, especially when using programming models with different behaviours and types of error based on the programming model type. In addition, the increased use of these programming models by non-computer science specialists can cause several errors due to lack of experience in programming, which needs to be considered when using any testing tools. We noticed that dynamic testing techniques have been used for testing the majority of MPI programs. The dynamic testing techniques detect errors by analyzing the source code during runtime, which will cause overheads, and this will affect the programs performance, especially when targeting massive parallel applications generating thousands or millions of threads. In this paper, we enhance ACCTEST to have the ability to test MPI-based programs and detect runtime errors occurring with different types of MPI communications. We decided to use hybrid-testing techniques by combining both static and dynamic testing techniques to gain the benefit of each and reduce the cost.
引用
收藏
页码:91488 / 91500
页数:13
相关论文
共 36 条
  • [1] Alghamdi A. M., 2019, ADV SCI TECHNOL ENG, V4, P203, DOI DOI 10.25046/AJ040227
  • [2] Alghamdi AM, 2019, INT J COMPUT SCI NET, V19, P176
  • [3] OpenACC Errors Classification and Static Detection Techniques
    Alghamdi, Ahmed Mohammed
    Eassa, Fathy Elbouraey
    [J]. IEEE ACCESS, 2019, 7 : 113235 - 113253
  • [4] Alghamdi AM, 2019, INT J ADV COMPUT SC, V10, P394
  • [5] Allinea Software Ltd, 2018, ALLINEA DDT ARM HPC
  • [6] [Anonymous], 2018, MUST MPI RUNT ERR DE
  • [7] Arnold Dorian C., 2007, 2007 IEEE INT PAR DI, P1, DOI DOI 10.1109/IPDPS.2007.370254
  • [8] AutomaDeD: Automata-Based Debugging for Dissimilar Parallel Tasks
    Bronevetsky, Greg
    Laguna, Ignacio
    Bagchi, Saurabh
    de Supinski, Bronis R.
    Ahn, Dong H.
    Schulz, Martin
    [J]. 2010 IEEE-IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS DSN, 2010, : 231 - 240
  • [9] Performance Evaluation of Mixed-Mode OpenMP/MPI Implementations
    Bull, J. Mark
    Enright, James
    Guo, Xu
    Maynard, Chris
    Reid, Fiona
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2010, 38 (5-6) : 396 - 417
  • [10] Claudio A.P., 2000, P 8 EUR WORKSH PAR D, P376