APPDE_sdes (1158453), страница 2
Текст из файла (страница 2)
The system also supports tracing of its own functions and functions of communication libraries, that is powerful debugging tool for applied and system programmers.
LIB-DVM functions allow to use any of three communication libraries MPI, PVM or NCI-MPP for message passing.
DVM-debugger
Two main debug modes are provided. Both modes require from the compiler to insert into a program debugger function calls in addition to LIB-DVM function calls to save values of used and modified variables.
The first mode is a mode of DVM-directives control. It is implemented by simulation of parallel execution of DVM-program on a single processor. Debugger functions are invoked directly from the executed program as well as from LIB-DVM.
The second mode is a mode of comparison of results of parallel execution with results of sequential execution. The DVM-program is executed in parallel on some processors and the values of used and modified variables are compared with reference results. For this debug mode to be applicable to real programs with large volumes of data, the facilities for flexible control of volume of accumulated reference data are provided to a user. To obtain reference values of variables DVM-program must be compiled in a special mode under which the only modification of source program is inserting debugger function calls. It allows to apply the ordinary debugging tools for sequential program to such program if it is necessary.
Performance Analyser
Facilities of the performance analysis base on gathering of execution time of some parallel program constructs in processor memory. User can obtain the information concerned of following program (or its parts) execution characteristics:
-
execution time – astronomical time of the program execution;
-
effective time – predicted time of the program execution on a single processor;
-
parallelization efficiency coefficient – a ratio of effective time to the product of the number of processors by the execution time;
-
lost time – the product of the number of processors by the execution time, subtracted by the effective time;
-
components of the lost time (loss caused by execution of sequential parts at all processors; loss caused by imbalance in loading of processors; loss caused by interprocessor communication).
The performance analyzer consists of two subsystems. The first subsystem supports accumulation of parallel execution characteristics on each processor. This subsystem is invoked from LIB-DVM when a parallel program is executed. Moreover the C-DVM and Fortran DVM languages have facilities to describe program execution intervals for which the user wants to obtain performance characteristics. The compilers provide the invocation of statistics accumulation subsystem at the beginning and at the end of each such interval. The data gathered on each processor is written to a file when program terminates.
Second subsystem, running on a workstation, processes the information gathered on a parallel computer and outputs performance characteristics requested by user.
Predictor of DVM-program execution
Performance prediction is implemented by processing of trace information gathered by LIB-DVM system during DVM-program execution on a single or several workstations, and simulating a parallel execution of the DVM-program on workstation cluster or MPP-NCI with given parameters.
-
General Structure and Organization of the System
General structure of Advanced Parallel Programming Developing Environment is presented below.
C-DVM compiler
Norma
compiler
g
Fortran DVM
compiler
gC
Parallel Program
Performance
Analyser
LIB-DVM
library
DVM
debugger
Predictor of
DVM-program
execution
Parallel program processing are presented below.
C program
C
program
C program
Fortran-program
Fortran-program
Fortran-program
DVM-debugger
LIB-DVM
LIB-DVM
DVM-debugger
LIB-DVM
LIB-DVM
DVM-debugger
DVM-debugger















