different dynamic and static powers from the nodes of the other clusters,
noted as $\Pd[ij]$ and $\Ps[ij]$ respectively. Therefore, even if the distributed
message passing iterative application is load balanced, the computation time of each CPU $j$
- in cluster $i$ noted $\Tcp[ij]$ may be different and different frequency scaling factors may be
+ in cluster $i$ noted $\Tcp[ij]$ may be slightly different due to the delay caused by the scheduler of the operating system. Therefore, different frequency scaling factors may be
computed in order to decrease the overall energy consumption of the application
- and reduce slack times. The communication time of a processor $j$ in cluster $i$ is noted as
+ and reduce the slack times. The communication time of a processor $j$ in cluster $i$ is noted as
$\Tcm[ij]$ and could contain slack times when communicating with slower nodes,
see Figure~\ref{fig:heter}. Therefore, all nodes do not have equal
communication times. While the dynamic energy is computed according to the
bound until all nodes reach their minimum frequencies or their lower bounds, to compute the overall
energy consumption and performance and selects the optimal vector of the frequency scaling
factors. At each iteration the algorithm determines the slowest node
-according to Equation~\ref{eq:perf}
-%\AG[]{Be consistent: remove word ``Equation'' and add parentheses around equation number, here and all along the rest of the text.}
-and keeps its frequency unchanged,
+according to Equation~\ref{eq:perf} and keeps its frequency unchanged,
while it lowers the frequency of all other nodes by one gear. The new overall
energy consumption and execution time are computed according to the new scaling
factors. The optimal set of frequency scaling factors is the set that gives the