In many cases, a parallel application has the form of many communicating processes, where each each process is essentially a loop iterating on separate core of the multi core processor. Usually the times required for the loop iterations are quite predictable and such a system of communicating loops has a tendency to synchronize all loop-iterations rates to the slowest component.
Consider the following example of two concurrent communicating loops:
|
|
Consider the another example:
|
|