In this program increasing sized messages are sent back and forth between processes--this is commonly called PingPong. This benchmark is based on standard blocking MPI_Send and MPI_Recv. PingPong provides information about latency of MPI_Send and MPI_Recv and uni-directional bandwidth. To ensure that anomalies in message timings are minimized the PingPong is repeated many times for each message size. The codes used for these tests were those developed by Baker and Grassl [#!PINGPONG!#]. The three existing codes (MPI-C, MPI-Fortran and Winsock-C) were used for comparison and we implemented an mpiJava version for our purposes.
The performance tests shown in the next section were run on two similar systems: