Nevertheless, in both cases (synchronous or asynchronous) it is very time consuming to find optimal configuration and deployment requirements
for a given application on a given multi-core architecture. Finding good resource allocations policies under varying CPU power, network speeds and
loads is very challenging and labor intensive.~\cite{Calheiros:2011:CTM:1951445.1951450}. This problematic is even more difficult for the asynchronous scheme
where variations of the parameters of the execution platform can lead to very different number of iterations required to converge and so to very different execution times.
Nevertheless, in both cases (synchronous or asynchronous) it is very time consuming to find optimal configuration and deployment requirements
for a given application on a given multi-core architecture. Finding good resource allocations policies under varying CPU power, network speeds and
loads is very challenging and labor intensive.~\cite{Calheiros:2011:CTM:1951445.1951450}. This problematic is even more difficult for the asynchronous scheme
where variations of the parameters of the execution platform can lead to very different number of iterations required to converge and so to very different execution times.