Automated correctness analysis of the MPI-programs based on the templates of erroneous behavior defined by an user
The article describes an enhancement of automated correctness control approach to debugging of the MPI-programs by possibility to define user's templates of erroneous behavior. New debugging tool is suggested, that use the MPI profiling interface for gathering information about callings of the MPI functions and carry out an analysis of presence of situations described in templates. For composing these templates new language is introduced, which composition is given in the article. Each of the templates is the text file, composed of three blocks: the block with description of processes that participate in situation; the functions that are caused by processes; the conditions on arguments of functions. For the logical grouping of functions, special signs are introduced. The templates composed by this language may be used for analysis of the different MPI-programs, and during one work session of debugging system, the amount of using templates is unlimited. Before the launching of the debugging system, an user should fulfill the configuration file with the names of the initial code files; the parameters of launching; the paths to the compiler, the profiling library, the directory with templates. After the calling of the launching utility with the configuration file as a parameter, this utility calls the preprocessor that adds some of the operators to the initial code to get an additional information about the program. Then, the compiler is calling that links the program with the profiling library, and the obtained executable file is launched on the nodes of the HPC-cluster. The "server-analyzer" is launched on a node. This server gets from the MPI-processes information about the calling of communication functions and performs analysis on correspondence to situations, described in templates. The advantage of templates is that we have the possibility to perform user's checks and make the specification of template situations, the presence of which is necessary to check in automated mode.
Keywords
MPI-program, template of erroneous behavior, correctness analysis, logical errors, MPI-программа, шаблон ошибочного поведения, анализ корректности, логические ошибкиAuthors
Name | Organization | |
Afanasiev Konstantin E. | Kemerovo State University | |
Vlasenko Andrey Y. | Kemerovo State University | vlasenko@kemsu.ru |
References
