Since the tracing facilities of PVM generate extra traffic in the network it is important to realize that this traffic will perturb the runtime characteristics of the program. In a shared environment one must expect that other external factors such as varying machine load and network traffic will also perturb the computation from run to run. To show how tracing may alter the runtime characteristics of a PVM program we present the bandwidth experiment shown in Section 2.1, this time we show the bandwidth versus message size with tracing turned on for all PVM calls and with out any tracing. (See Figure 6.) In some sense this experiment shows the worst case tracing behavior since the program is only sending messages and doing no computation. In the case of a real PVM application we would expect the tracing to have somewhat less of an effect.
Figure 6: Effects of tracing on PVM message bandwidth.
In terms of bandwidth, tracing does not have an extremely detrimental effect, however, as Figure 7 shows, the effect of tracing on latency is considerable. The main reason for the increased latency is the extra processing (message sending) PVM must do before and after each PVM call. This effect will most likely be reduced when we add buffering of trace events to the PVM trace facility. Currently each trace event generates a separate PVM message. By buffering multiple events and sending them in a single message, the per event overhead should be reduced. We have shown this to be the case in the Xab tracing tool for PVM.
Figure 7: Effects of tracing on PVM message bandwidth.