 
		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:
| 
 | 
 |