[ANSYS, Inc. Logo] return to home search
next up previous contents index

32.7.1 Checking Parallel Performance

The performance meter allows you to report the wall clock time elapsed during a computation, as well as message-passing statistics. Since the performance meter is always activated, you can access the statistics by printing them after the computation is completed. To view the current statistics, use the Parallel/Timer/Usage menu item.

Parallel $\rightarrow$ Timer $\rightarrow$ Usage

Performance statistics will be printed in the text window (console).

To clear the performance meter so that you can eliminate past statistics from the future report, use the Parallel/Timer/Reset menu item.

Parallel $\rightarrow$ Timer $\rightarrow$ Reset

The following example demonstrates how the current parallel statistics are displayed in the console window:

Performance Timer for 1 iterations on 4 compute nodes
 Average wall-clock time per iteration:              4.901 sec
 Global reductions per iteration:                      408 ops
 Global reductions time per iteration:               0.000 sec (0.0%)
 Message count per iteration:                          801 messages
 Data transfer per iteration:                        9.585 MB
 LE solves per iteration:                               12 solves
 LE wall-clock time per iteration:                   2.445 sec (49.9%)
 LE global solves per iteration:                        27 solves
 LE global wall-clock time per iteration:            0.246 sec (5.0%)
 AMG cycles per iteration:                              64 cycles
 Relaxation sweeps per iteration:                     4160 sweeps
 Relaxation exchanges per iteration:                   920 exchanges

 Total wall-clock time:                              4.901 sec
 Total CPU time:                                    17.030 sec

A description of the parallel statistics is as follows:

The most relevant quantity is the Total wall clock time. This quantity can be used to gauge the parallel performance (speedup and efficiency) by comparing this quantity to that from the serial analysis (the command line should contain -t1 in order to obtain the statistics from a serial analysis). In lieu of a serial analysis, an approximation of parallel speedup may be found in the ratio of Total CPU time to Total wall clock time.



Checking Latency and Bandwidth


You can check the latency and bandwidth of the overall cluster interconnect, to help identify any issues affecting ANSYS FLUENT scalability, by using the Parallel/Network/Show Latency... and Parallel/Network/Show Bandwidth... menu items.

Parallel $\rightarrow$ Network $\rightarrow$ Show Latency...

Depending on the number of machines and processors being used, a table containing information about the communication speed for each node will be printed to the console. The table will also summarize the minimum and maximum latency between two nodes.

Consider the following example when checking for latency:

Latency (usec) with 1000 samples [1.83128 sec]
------------------------------------------ 
ID        n0    n1    n2    n3    n4    n5 
------------------------------------------ 
n0         \  48.0  48.2  48.2  48.3   *50 
n1      48.0     \  48.2  48.3  48.3   *48 
n2      48.2  48.2     \  48.8  49.1   *53 
n3      48.2  48.3   *49     \  48.6  48.5 
n4      48.3  48.3  49.1  48.6     \   *50 
n5      49.7  48.5   *53  48.5  49.7     \ 

------------------------------------------ 
Min: 47.9956 [n0<-->n1] 
Max: 52.6836 [n5<-->n2] 
------------------------------------------

figure   

In the above table, (*) is the maximum value in that row. The smaller the latency, the better.

Six processors (n0 to n5) are spawned. The latency between n0 and n1 is 48.0 $\mu s$ . Similarly, the latency between n1 and n2 is 48.2 $\mu s$. The minimum latency occurs between n0 and n1 and the maximum latency occurs between n2 and n5, as noted in the table. Checking the latency is particularly useful when you are not seeing expected speedup on a cluster.

Parallel $\rightarrow$ Network $\rightarrow$ Show Bandwidth...

In addition to checking for latency, you can check your bandwidth. A table containing information about the amount of data communicated within one second between two nodes is printed to the console. The table will also summarize the minimum and maximum bandwidth between two nodes.

Consider the following example when checking for bandwidth:

Bandwidth (MB/s) with 5 messages of size 4MB [4.36388 sec] 
------------------------------------------  
ID        n0    n1    n2    n3    n4    n5 
------------------------------------------ 
n0         \ 111.8   *55 111.8  97.5 101.3 
n1     111.8     \  69.2  98.7 111.7   *51 
n2      54.7  69.2     \  72.9 104.8   *45 
n3     111.8  98.7  72.9     \  64.0   *45 
n4      97.6 111.7 104.8   *64     \  76.9 
n5     101.2  50.9  45.5   *45  76.9     \ 

------------------------------------------ 
Min: 45.1039 [n5<-->n3] 
Max: 111.847 [n0<-->n3] 
------------------------------------------

figure   

In the above table, (*) is the minimum value in that row. The larger the bandwidth, the better.

The bandwidth between n0 and n1 is 111.8 MB/s. Similarly, the bandwidth between n1 and n2 is 69.2 MB/s. The minimum amount of bandwidth occurs between n3 and n5 and the maximum occurs between n0 and n3, as noted in the table. Checking the bandwidth is particularly useful when you cannot see good scalability with relatively large cases.


next up previous contents index Previous: 32.7 Checking and Improving
Up: 32.7 Checking and Improving
Next: 32.7.2 Optimizing the Parallel
Release 12.0 © ANSYS, Inc. 2009-01-29