The goal of the two process models is to enumerate the possible cases
arising from send/receive message communication. From these cases, we
can rationally reconstruct the approximated execution to determine how
overhead, waiting, and delay times are to be adjusted. From this
reconstruction, we can derive expressions for overhead analysis and
correction. The similarity in the case results leads us to propose
a general scenario for two processes. This scenario
considers an arbitrary message send
on one process and corresponding message receive on the other process.
Thus, this is a generalization of the One Send scenario above.
However, we now use the delay values and
instead of the
and
overheads in the analysis. The expressions for the two cases
are given below (refer to Figure 1):
Case 1 | Case 2 | |
x1 ![]() |
x1 ![]() |
|
o2' = o2 + w | o2' = o2 - (x1-x2 if x1![]() |
|
w' = 0 | w' = w + (x2-x1) | |
x1' = x1 | x1' = x1 | |
x2' = min(x1, x2+w) = x2 + w | x2' = min(x1, x2+w) = x1 |
The importance of the general scenario is the case analysis showing
how the delay values are updated and what information is shared
between processes during message communication. (Keep in mind that we
are arbitrarily designating P1 as the sender and P2 as the receiver.
The analysis also applies when P1 is the receiver and P2 the sender,
with appropriate reversals of notation in the expressions.) Notice
that the overhead values (not shown) and
are accumulated
overheads. The
value is updated here to account for waiting time
processing, but whenever any new measurement overhead occurs on P1 or
P2, the accumulated overheads
and
must be updated
accordingly. Similarly, any new measurement overhead must also be
added to the delay values
or
.
Just to be clear, it is the overhead values that are being removed during the profiling calculations. Thus, we want these overhead to be accurately accounted. The conclusion of the two process modeling is that we can handle the parallel overhead compensation for ALL two-process scenarios by applying the general analysis described above on a message-by-message analysis, maintaining the overhead and delay values as the online analysis proceeds.