To complement the above communication benchmarks, there is a need for a benchmark to measure the total saturation bandwidth of the complete communication system, and to see how this scales with the number of processors. A natural generalisation of the COMMS2 benchmark is made as follows, and called the COMMS3 benchmark: Each processor of a p-processor system sends a message of length n to the other (p-1) processors. Each processor then waits to receive the (p-1) messages directed at it. The timing of this generalised pingpong ends when all messages have been successfully received by all processors; although the process will be repeated many times to obtain an accurate measurement, and the overall time will be divided by the number of repeats. The time for the generalised pingpong is the time to send p(p-1) messages of length n and can be analysed in the same way as COMMS1 and COMMS2 into values of (\rnhalf). The value obtained for \rinf is the required total saturation bandwidth, and we are interested in how this scales up as the number of processors p increases and with it the number of available links in the system.
COMMS3 is a new benchmark written specifically for PARKBENCH .