Our above modeling and analysis of measurement overhead in parallel message passing programs has produced three important outcomes. First, the rational reconstructions of the measurement scenarios and the analysis of the approximated executions has resulted in a robust procedure for message-by-message overhead compensation analysis in parallel profiling. It updates correctly waiting times associated with message processing and calculates per process values that capture online the amount a process has been effectively delayed due to measurement overhead and its effects. From this overhead compensation basis, the parallel profiling operations used to update inclusive and exclusive performance can be performed. Second, this analysis requires ALL send messages to be augmented with the delay value of the sender process at the time the message is sent. This information is necessary for the receiving process to apply the analysis procedures. Third, approximation models based on receive type can result in more accurate overhead handling and profile results, but the accuracy gains are anticipated to be minor compared to the processing complexity involved.
We argue that general overhead scenarios for message passing
computations can all be addressed from what we learned in the two- and
three-process modeling above. A general algorithm for overhead
compensation effectively applies the Two-Process, General
modeling and analysis on a message-by-message basis. The algorithm is
composed of three parts:
|Updating of local overhead and delay as a result of local profile measurements.|
|Updating of local overhead and delay as a result of messages received and their reported delay.|
|Transmission of local delay when a process sends a message.|
If the transmission of the delays values can be supported, it should be possible to incorporate this overhead compensation algorithm in a parallel profiling system such as TAU.