Multi-SPMD Programming Model with YML and XcalableMP
239
Fig. 20 Screenshot of the output file generated by MUST in the mSPMD programming model
Table 6 The specification of
the Oakforest-PACS
CPU
Intel Xeon Phi 7250 (KNL), 68 core, 1.4 GHz
Memory
96 GB(DDR) + 16 GB(MCDRAM)
Network
Intel Omni-Path Network, 100 Gpbs
Compiler
intel/2018.1.163
MPI library impi/2018.1.163
OS
CentOS 7
and different interval seconds between MPI function calls in each test code for the
overhead evaluations.
Table 7 shows the applications’ behaviors and the statuses of error reports, when
applying or not applying MUST. While the datatype conflict and operation conflict
errors are reported when we apply the MUST, the applications are completed
without any report when we do not apply the MUST even though the results of
the reduction should be wrong.
Figure 22 shows the execution time of the mSPMD programming executions with
and without the MUST library. Workflow applications include between 1 and 32
tasks of MPI_Allreduce. Figure 23 shows the results for MPI_Send/Recv. Each task
uses 32 processes in all experiments. As shown in Fig. 22, the overhead to check
and record errors of collective communication is ignorable if we do not perform
communication very intensively. On the other hand, if collective communication
functions called very frequently, then the overheads become large even if there is
no error. As shown in Fig. 23, the overhead of the MUST library is small if there is
no error in point to point communication functions. However, it takes more time if
there are some errors. The fact indicates that there is almost no overhead to check
point to point communication, but it takes some time to analyze and record errors in
the point to point communication functions.
Précédent

- 243/265

Suivant