Computing Time Statistics at the End of the Log File
Following the completion of the last time step, AcuSolve
will print information regarding the input/output time, message passing time (for
distributed memory parallel simulations), interface search time (if non-conformal
interfaces are present), time associated with the solution of each stagger, and
total time to complete the simulation. The memory usage of the simulation is also
reported in the .log file. For
distributed memory parallel simulations, the average and maximum CPU Times and
Memory usage are printed to indicate if reasonable load balancing was achieved by
the domain decomposition.Figure 1.
Input and Output times
Report the amount of time that AcuSolve
spent reading and writing files to disk. The differences between the
input and output CPU/Elapsed times are caused by file system delays.
When running AcuSolve in parallel, many
processes may be trying to read/write to the same NFS mounted disk. When
this happens, delays can occur, forcing AcuSolve to wait for file I/O. This causes the
Elapsed time to increase while no CPU time is being used. Differences in
CPU/Elapsed time can also be caused by processes competing for run time
on an overloaded machine.
Exchange time
Indicates how much time AcuSolve spent
passing messages between processes. For most simulations, the value of
the Exchange time is 20% or less of the total time required to complete
the simulation. When there is a significant difference between the
CPU/Elapsed time, the implication is that there is a message passing
bottle neck somewhere. This can be caused by a poorly performing
network, or a switch that is unable to handle all of the traffic that it
is receiving.
The Intf. Search time
Reports the amount of time that AcuSolve
spends searching for matching faces for nonconformal interfaces
(INTERFACE_SURFACE command). When a simulation
containing INTERFACE_SURFACES is performed in a
distributed memory parallel configuration, the search algorithm must
communicate with other processes to find matching faces. Because of
this, a significant amount of message passing must occur. When
significant differences in CPU/Elapsed time are seen for this metric, it
is typically due to delays in exchanging messages across the
network/switch while searching for interface matches. For each stagger
that is solved, AcuSolve reports a total of
3 metrics: No. of res/lhs formations, Elem. Form time, and Solution
time.
No. of res/lhs formations
A tally of how many times the residual of the equation was computed, as
well as how many times the left-hand-side matrix was formed. By default,
these values should match each other, and reflect the total number of
times the equation was solved.
Note: The LHS matrix formation frequency
can be adjusted, causing these two values to be different. However,
this is an advanced option, and is rarely changed.
Elem. Form time
Refers to the amount of time required to form the LHS matrix and loop
over all of the elements to compute the residual of the equations. Any
significant deviations between the CPU/Elapsed time for this metric are
primarily due to delays in exchanging messages across the network/switch
or competing processes on a machine that is overloaded.
Solution time
The Solution time that is reported for each stagger refers to the amount
of time required by the linear solver routines to converge to the
desired tolerance. The total elapsed time of the simulation is typically
dominated by the solution time for the various staggers. Any significant
deviations between the CPU/Elapsed time for this metric are primarily
due to delays in exchanging messages across the network/switch or
competing processes on a machine that is overloaded.
Total CPU/Elapsed time
Represents the accounting of all steps that AcuSolve performs in completing the simulation.
Any significant deviations between the CPU/Elapsed time for this metric
are primarily due to delays in exchanging messages across the
network/switch or competing processes on a machine that is overloaded.
One other possible cause of large differences is running the machine out
of memory, forcing it to write data to swap files.
Note: Simply summing
all other timing metrics in the summary of the .log file will not yield the
same value as the total CPU/Elapsed time. There are additional
operations in the solver that are not profiled due to their
insignificance.