where $N$ is the number of nodes and $F$ is the number of available frequencies for each node.
Then, the optimal set of scaling factors that satisfies (\ref{eq:max}) can be selected.
The objective function can work with any energy model or any power values for each node
-(static and dynamic powers). However, the most energy reduction gain can be achieved when
+(static and dynamic powers). However, the most important energy reduction gain can be achieved when
the energy curve has a convex form as shown in~\cite{Zhuo_Energy.efficient.Dynamic.Task.Scheduling,Rauber_Analytical.Modeling.for.Energy,Hao_Learning.based.DVFS}.
\section{The scaling factors selection algorithm for heterogeneous platforms }
\label{eq:Fint}
F_{i} = \frac{Fmax_i}{Scp_i},~{i=1,2,\cdots,N}
\end{equation}
-If the computed initial frequency for a node is not available in the gears of that node, the computed
-initial frequency is replaced by the nearest available frequency. In figure (\ref{fig:st_freq}),
-the nodes are sorted by their computing powers in ascending order and the frequencies of the faster
-nodes are scaled down according to the computed initial frequency scaling factors. The resulting new
-frequencies are colored in blue in figure (\ref{fig:st_freq}). This set of frequencies can be considered
-as a higher bound for the search space of the optimal vector of frequencies because selecting frequency
-scaling factors higher than the higher bound will not improve the performance of the application and
-it will increase its overall energy consumption. Therefore the algorithm that selects the frequency
-scaling factors starts the search method from these initial frequencies and takes a downward search direction
-toward lower frequencies. The algorithm iterates on all left frequencies, from the higher bound until all
-nodes reach their minimum frequencies, to compute their overall energy consumption and performance, and select
-the optimal frequency scaling factors vector. At each iteration the algorithm determines the slowest node
-according to the 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 highest distance according to the objective
-function (\ref{eq:max}).
-
-The plots~(\ref{fig:r1} and \ref{fig:r2}) illustrate the normalized performance and consumed energy for an
-application running on a homogeneous platform and a heterogeneous platform respectively while increasing the
-scaling factors. It can be noticed that in a homogeneous platform the search for the optimal scaling factor
-should be started from the maximum frequency because the performance and the consumed energy is decreased since
-the beginning of the plot. On the other hand, in the heterogeneous platform the performance is maintained at
-the beginning of the plot even if the frequencies of the faster nodes are decreased until the scaled down nodes
-have computing powers lower than the slowest node. In other words, until they reach the higher bound. It can
-also be noticed that the higher the difference between the faster nodes and the slower nodes is, the bigger
-the maximum distance between the energy curve and the performance curve is while varying the scaling factors
-which results in bigger energy savings.
+If the computed initial frequency for a node is not available in the gears of
+that node, it is replaced by the nearest available frequency. In figure
+(\ref{fig:st_freq}), the nodes are sorted by their computing power in ascending
+order and the frequencies of the faster nodes are scaled down according to the
+computed initial frequency scaling factors. The resulting new frequencies are
+colored in blue in figure (\ref{fig:st_freq}). This set of frequencies can be
+considered as a higher bound for the search space of the optimal vector of
+frequencies because selecting frequency scaling factors higher than the higher
+bound will not improve the performance of the application and it will increase
+its overall energy consumption. Therefore the algorithm that selects the
+frequency scaling factors starts the search method from these initial
+frequencies and takes a downward search direction toward lower frequencies. The
+algorithm iterates on all left frequencies, from the higher bound until all
+nodes reach their minimum frequencies, to compute their overall energy
+consumption and performance, and select the optimal frequency scaling factors
+vector. At each iteration the algorithm determines the slowest node according to
+the 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
+highest distance according to the objective function (\ref{eq:max}).
+
+Figures~\ref{fig:r1} and \ref{fig:r2} illustrate the normalized performance and
+consumed energy for an application running on a homogeneous platform and a
+heterogeneous platform respectively while increasing the scaling factors. It can
+be noticed that in a homogeneous platform the search for the optimal scaling
+factor should start from the maximum frequency because the performance and the
+consumed energy decrease from the beginning of the plot. On the other hand,
+in the heterogeneous platform the performance is maintained at the beginning of
+the plot even if the frequencies of the faster nodes decrease until the
+computing power of scaled down nodes are lower than the slowest node. In other
+words, until they reach the higher bound. It can also be noticed that the higher
+the difference between the faster nodes and the slower nodes is, the bigger the
+maximum distance between the energy curve and the performance curve is while
+ the scaling factors are varying which results in bigger energy savings.
\begin{figure}[t]
\centering
\includegraphics[scale=0.5]{fig/start_freq}
\subsection{The evaluation of the proposed algorithm}
\label{sec.verif.algo}
-The precision of the proposed algorithm mainly depends on the execution time prediction model defined in
-(\ref{eq:perf}) and the energy model computed by (\ref{eq:energy}).
-The energy model is also significantly dependent on the execution time model because the static energy is
-linearly related to the execution time and the dynamic energy is related to the computation time. So, all of
-the works presented in this paper is based on the execution time model. To verify this model, the predicted
-execution time was compared to the real execution time over SimGrid/SMPI simulator, v3.10~\cite{casanova+giersch+legrand+al.2014.versatile},
-for all the NAS parallel benchmarks NPB v3.3
-\cite{NAS.Parallel.Benchmarks}, running class B on 8 or 9 nodes. The comparison showed that the proposed execution time model is very precise,
-the maximum normalized difference between the predicted execution time and the real execution time is equal
-to 0.03 for all the NAS benchmarks.
-
-Since the proposed algorithm is not an exact method and does not test all the possible solutions (vectors of scaling factors)
+The precision of the proposed algorithm mainly depends on the execution time
+prediction model defined in (\ref{eq:perf}) and the energy model computed by
+(\ref{eq:energy}). The energy model is also significantly dependent on the
+execution time model because the static energy is linearly related to the
+execution time and the dynamic energy is related to the computation time. So,
+all the works presented in this paper are based on the execution time model. To
+verify this model, the predicted execution time was compared to the real
+execution time over SimGrid/SMPI simulator,
+v3.10~\cite{casanova+giersch+legrand+al.2014.versatile}, for all the NAS
+parallel benchmarks NPB v3.3 \cite{NAS.Parallel.Benchmarks}, running class B on
+8 or 9 nodes. The comparison showed that the proposed execution time model is
+very precise, the maximum normalized difference between the predicted execution
+time and the real execution time is equal to 0.03 for all the NAS benchmarks.
+
+Since the proposed algorithm is not an exact method it does not test all the possible solutions (vectors of scaling factors)
in the search space. To prove its efficiency, it was compared on small instances to a brute force search algorithm
that tests all the possible solutions. The brute force algorithm was applied to different NAS benchmarks classes with
different number of nodes. The solutions returned by the brute force algorithm and the proposed algorithm were identical
\section{Experimental results}
\label{sec.expe}
-To evaluate the efficiency and the overall energy consumption reduction of algorithm~ \ref{HSA},
-it was applied to the NAS parallel benchmarks NPB v3.3. The experiments were executed
-on the simulator SimGrid/SMPI which offers easy tools to create a heterogeneous platform and run
-message passing applications over it. The heterogeneous platform that was used in the experiments,
-had one core per node because just one process was executed per node.
-The heterogeneous platform was composed of four types of nodes. Each type of nodes had different
-characteristics such as the maximum CPU frequency, the number of
-available frequencies and the computational power, see Table \ref{table:platform}. The characteristics
-of these different types of nodes are inspired from the specifications of real Intel processors.
-The heterogeneous platform had up to 144 nodes and had nodes from the four types in equal proportions,
-for example if a benchmark was executed on 8 nodes, 2 nodes from each type were used. Since the constructors
-of CPUs do not specify the dynamic and the static power of their CPUs, for each type of node they were
-chosen proportionally to its computing power (FLOPS). In the initial heterogeneous platform, while computing
-with highest frequency, each node consumed power proportional to its computing power which 80\% of it was
-dynamic power and the rest was 20\% for the static power, the same assumption was made in \cite{Our_first_paper,Rauber_Analytical.Modeling.for.Energy}.
-Finally, These nodes were connected via an ethernet network with 1 Gbit/s bandwidth.
+To evaluate the efficiency and the overall energy consumption reduction of
+algorithm~\ref{HSA}, it was applied to the NAS parallel benchmarks NPB v3.3. The
+experiments were executed on the simulator SimGrid/SMPI which offers easy tools
+to create a heterogeneous platform and run message passing applications over it.
+The heterogeneous platform that was used in the experiments, had one core per
+node because just one process was executed per node. The heterogeneous platform
+was composed of four types of nodes. Each type of nodes had different
+characteristics such as the maximum CPU frequency, the number of available
+frequencies and the computational power, see Table \ref{table:platform}. The
+characteristics of these different types of nodes are inspired from the
+specifications of real Intel processors. The heterogeneous platform had up to
+144 nodes and had nodes from the four types in equal proportions, for example if
+a benchmark was executed on 8 nodes, 2 nodes from each type were used. Since the
+constructors of CPUs do not specify the dynamic and the static power of their
+CPUs, for each type of node they were chosen proportionally to its computing
+power (FLOPS). In the initial heterogeneous platform, while computing with
+highest frequency, each node consumed an amount of power proportional to its
+computing power (which corresponds to 80\% of its dynamic power and the
+remaining 20\% to the static power), the same assumption was made in
+\cite{Our_first_paper,Rauber_Analytical.Modeling.for.Energy}. Finally, These
+nodes were connected via an ethernet network with 1 Gbit/s bandwidth.
\begin{table}[htb]
\label{sec.res}
-The proposed algorithm was applied to the seven parallel NAS benchmarks (EP, CG, MG, FT, BT, LU and SP)
-and the benchmarks were executed with the three classes: A,B and C. However, due to the lack of space in
-this paper, only the results of the biggest class, C, are presented while being run on different number
-of nodes, ranging from 4 to 128 or 144 nodes depending on the benchmark being executed. Indeed, the
-benchmarks CG, MG, LU, EP and FT should be executed on $1, 2, 4, 8, 16, 32, 64, 128$ nodes.
-The other benchmarks such as BT and SP should be executed on $1, 4, 9, 16, 36, 64, 144$ nodes.
+The proposed algorithm was applied to the seven parallel NAS benchmarks (EP, CG,
+MG, FT, BT, LU and SP) and the benchmarks were executed with the three classes:
+A, B and C. However, due to the lack of space in this paper, only the results of
+the biggest class, C, are presented while being run on different number of
+nodes, ranging from 4 to 128 or 144 nodes depending on the benchmark being
+executed. Indeed, the benchmarks CG, MG, LU, EP and FT had to be executed on $1,
+2, 4, 8, 16, 32, 64, 128$ nodes. The other benchmarks such as BT and SP had to
+be executed on $1, 4, 9, 16, 36, 64, 144$ nodes.
\end{tabular}
\label{table:res_128n}
\end{table}
-The overall energy consumption was computed for each instance according to the energy
-consumption model (\ref{eq:energy}), with and without applying the algorithm. The
-execution time was also measured for all these experiments. Then, the energy saving
-and performance degradation percentages were computed for each instance.
-The results are presented in Tables (\ref{table:res_4n}, \ref{table:res_8n}, \ref{table:res_16n},
-\ref{table:res_32n}, \ref{table:res_64n} and \ref{table:res_128n}). All these results are the
-average values from many experiments for energy savings and performance degradation.
-The tables show the experimental results for running the NAS parallel benchmarks on different
-number of nodes. The experiments show that the algorithm reduce significantly the energy
-consumption (up to 35\%) and tries to limit the performance degradation. They also show that
-the energy saving percentage is decreased when the number of the computing nodes is increased.
-This reduction is due to the increase of the communication times compared to the execution times
-when the benchmarks are run over a high number of nodes. Indeed, the benchmarks with the same class, C,
-are executed on different number of nodes, so the computation required for each iteration is divided
-by the number of computing nodes. On the other hand, more communications are required when increasing
-the number of nodes so the static energy is increased linearly according to the communication time and
-the dynamic power is less relevant in the overall energy consumption. Therefore, reducing the frequency
-with algorithm~(\ref{HSA}) have less effect in reducing the overall energy savings. It can also be
-noticed that for the benchmarks EP and SP that contain little or no communications, the energy savings
-are not significantly affected with the high number of nodes. No experiments were conducted using bigger
-classes such as D, because they require a lot of memory(more than 64GB) when being executed by the simulator
-on one machine. The maximum distance between the normalized energy curve and the normalized performance
-for each instance is also shown in the result tables. It is decreased in the same way as the energy
-saving percentage. The tables also show that the performance degradation percentage is not significantly
-increased when the number of computing nodes is increased because the computation times are small when
-compared to the communication times.
+The overall energy consumption was computed for each instance according to the
+energy consumption model (\ref{eq:energy}), with and without applying the
+algorithm. The execution time was also measured for all these experiments. Then,
+the energy saving and performance degradation percentages were computed for each
+instance. The results are presented in Tables (\ref{table:res_4n},
+\ref{table:res_8n}, \ref{table:res_16n}, \ref{table:res_32n},
+\ref{table:res_64n} and \ref{table:res_128n}). All these results are the average
+values from many experiments for energy savings and performance degradation.
+The tables show the experimental results for running the NAS parallel benchmarks
+on different number of nodes. The experiments show that the algorithm
+significantly reduces the energy consumption (up to 35\%) and tries to limit the
+performance degradation. They also show that the energy saving percentage
+decreases when the number of computing nodes increases. This reduction is due
+to the increase of the communication times compared to the execution times when
+the benchmarks are run over a high number of nodes. Indeed, the benchmarks with
+the same class, C, are executed on different numbers of nodes, so the
+computation required for each iteration is divided by the number of computing
+nodes. On the other hand, more communications are required when increasing the
+number of nodes so the static energy increases linearly according to the
+communication time and the dynamic power is less relevant in the overall energy
+consumption. Therefore, reducing the frequency with algorithm~(\ref{HSA}) is
+less effective in reducing the overall energy savings. It can also be noticed
+that for the benchmarks EP and SP that contain little or no communications, the
+energy savings are not significantly affected by the high number of nodes. No
+experiments were conducted using bigger classes than D, because they require a
+lot of memory (more than 64GB) when being executed by the simulator on one
+machine. The maximum distance between the normalized energy curve and the
+normalized performance for each instance is also shown in the result tables. It
+decrease in the same way as the energy saving percentage. The tables also show
+that the performance degradation percentage is not significantly increased when
+the number of computing nodes is increased because the computation times are
+small when compared to the communication times.
\subfloat[Performance degradation ]{%
\includegraphics[width=.33\textwidth]{fig/per_deg}\label{fig:per_deg}}
\label{fig:avg}
- \caption{The energy and performance for all NAS benchmarks running with difference number of nodes}
+ \caption{The energy and performance for all NAS benchmarks running with a different number of nodes}
\end{figure}
-Plots (\ref{fig:energy} and \ref{fig:per_deg}) present the energy saving and performance degradation
-respectively for all the benchmarks according to the number of used nodes. As shown in the first plot,
-the energy saving percentages of the benchmarks MG, LU, BT and FT are decreased linearly when the
-number of nodes is increased. While for the EP and SP benchmarks, the energy saving percentage is not
-affected by the increase of the number of computing nodes, because in these benchmarks there are little or
-no communications. Finally, the energy saving of the GC benchmark is significantly decreased when the number
-of nodes is increased because this benchmark has more communications than the others. The second plot
-shows that the performance degradation percentages of most of the benchmarks are decreased when they
-run on a big number of nodes because they spend more time communicating than computing, thus, scaling
-down the frequencies of some nodes have less effect on the performance.
+Figures \ref{fig:energy} and \ref{fig:per_deg} present the energy saving and
+performance degradation respectively for all the benchmarks according to the
+number of used nodes. As shown in the first plot, the energy saving percentages
+of the benchmarks MG, LU, BT and FT decrease linearly when the number of nodes
+increase. While for the EP and SP benchmarks, the energy saving percentage is
+not affected by the increase of the number of computing nodes, because in these
+benchmarks there are little or no communications. Finally, the energy saving of
+the GC benchmark significantly decrease when the number of nodes increase
+because this benchmark has more communications than the others. The second plot
+shows that the performance degradation percentages of most of the benchmarks
+decrease when they run on a big number of nodes because they spend more time
+communicating than computing, thus, scaling down the frequencies of some nodes
+has less effect on the performance.
\subsection{The results for different power consumption scenarios}
\label{sec.compare}
-The results of the previous section were obtained while using processors that consume during computation
-an overall power which is 80\% composed of dynamic power and 20\% of static power. In this section,
-these ratios are changed and two new power scenarios are considered in order to evaluate how the proposed
-algorithm adapts itself according to the static and dynamic power values. The two new power scenarios
-are the following:
+The results of the previous section were obtained while using processors that
+consume during computation an overall power which is 80\% composed of dynamic
+power and of 20\% of static power. In this section, these ratios are changed and
+two new power scenarios are considered in order to evaluate how the proposed
+algorithm adapts itself according to the static and dynamic power values. The
+two new power scenarios are the following:
\begin{itemize}
-\item 70\% dynamic power and 30\% static power
-\item 90\% dynamic power and 10\% static power
+\item 70\% of dynamic power and 30\% of static power
+\item 90\% of dynamic power and 10\% of static power
\end{itemize}
-The NAS parallel benchmarks were executed again over processors that follow the new power scenarios.
-The class C of each benchmark was run over 8 or 9 nodes and the results are presented in Tables
-\ref{table:res_s1} and \ref{table:res_s2}. These tables show that the energy saving percentage of the 70\%-30\%
-scenario is less for all benchmarks compared to the energy saving of the 90\%-10\% scenario. Indeed, in the latter
-more dynamic power is consumed when nodes are running on their maximum frequencies, thus, scaling down the frequency
-of the nodes results in higher energy savings than in the 70\%-30\% scenario. On the other hand, the performance
-degradation percentage is less in the 70\%-30\% scenario compared to the 90\%-10\% scenario. This is due to the
-higher static power percentage in the first scenario which makes it more relevant in the overall consumed energy.
-Indeed, the static energy is related to the execution time and if the performance is degraded the total consumed
-static energy is directly increased. Therefore, the proposed algorithm do not scales down much the frequencies of the
-nodes in order to limit the increase of the execution time and thus limiting the effect of the consumed static energy.
-
-The two new power scenarios are compared to the old one in figure (\ref{fig:sen_comp}). It shows the average of
-the performance degradation, the energy saving and the distances for all NAS benchmarks of class C running on 8 or 9 nodes.
-The comparison shows that the energy saving ratio is proportional to the dynamic power ratio: it is increased
-when applying the 90\%-10\% scenario because at maximum frequency the dynamic energy is the most relevant
-in the overall consumed energy and can be reduced by lowering the frequency of some processors. On the other hand,
-the energy saving is decreased when the 70\%-30\% scenario is used because the dynamic energy is less relevant in
-the overall consumed energy and lowering the frequency do not returns big energy savings.
-Moreover, the average of the performance degradation is decreased when using a higher ratio for static power
-(e.g. 70\%-30\% scenario and 80\%-20\% scenario). Since the proposed algorithm optimizes the energy consumption
-when using a higher ratio for dynamic power the algorithm selects bigger frequency scaling factors that result in
-more energy saving but less performance, for example see the figure (\ref{fig:scales_comp}). The opposite happens
-when using a higher ratio for static power, the algorithm proportionally selects smaller scaling values which
-results in less energy saving but less performance degradation.
+The NAS parallel benchmarks were executed again over processors that follow the
+new power scenarios. The class C of each benchmark was run over 8 or 9 nodes
+and the results are presented in Tables \ref{table:res_s1} and
+\ref{table:res_s2}. These tables show that the energy saving percentage of the
+70\%-30\% scenario is smaller for all benchmarks compared to the energy saving
+of the 90\%-10\% scenario. Indeed, in the latter more dynamic power is consumed
+when nodes are running on their maximum frequencies, thus, scaling down the
+frequency of the nodes results in higher energy savings than in the 70\%-30\%
+scenario. On the other hand, the performance degradation percentage is smaller
+in the 70\%-30\% scenario compared to the 90\%-10\% scenario. This is due to the
+higher static power percentage in the first scenario which makes it more
+relevant in the overall consumed energy. Indeed, the static energy is related
+to the execution time and if the performance is degraded the amount of consumed
+static energy directly increas. Therefore, the proposed algorithm does not
+really significantly scale down much the frequencies of the nodes in order to
+limit the increase of the execution time and thus limiting the effect of the
+consumed static energy.
+
+Both new power scenarios are compared to the old one in figure
+(\ref{fig:sen_comp}). It shows the average of the performance degradation, the
+energy saving and the distances for all NAS benchmarks of class C running on 8
+or 9 nodes. The comparison shows that the energy saving ratio is proportional
+to the dynamic power ratio: it is increased when applying the 90\%-10\% scenario
+because at maximum frequency the dynamic energy is the most relevant in the
+overall consumed energy and can be reduced by lowering the frequency of some
+processors. On the other hand, the energy saving decreases when the 70\%-30\%
+scenario is used because the dynamic energy is less relevant in the overall
+consumed energy and lowering the frequency does not return big energy savings.
+Moreover, the average of the performance degradation is decreased when using a
+higher ratio for static power (e.g. 70\%-30\% scenario and 80\%-20\%
+scenario). Since the proposed algorithm optimizes the energy consumption when
+using a higher ratio for dynamic power the algorithm selects bigger frequency
+scaling factors that result in more energy saving but less performance, for
+example see Figure (\ref{fig:scales_comp}). The opposite happens when using a
+higher ratio for static power, the algorithm proportionally selects smaller
+scaling values which result in less energy saving but also less performance
+degradation.
\begin{table}[htb]
- \caption{The results of 70\%-30\% powers scenario}
+ \caption{The results of the 70\%-30\% power scenario}
% title of Table
\centering
\begin{tabular}{|*{6}{l|}}
\begin{table}[htb]
- \caption{The results of 90\%-10\% powers scenario}
+ \caption{The results of the 90\%-10\% power scenario}
% title of Table
\centering
\begin{tabular}{|*{6}{l|}}
\begin{figure}
\centering
- \subfloat[Comparison of the results on 8 nodes]{%
+ \subfloat[Comparison between the results on 8 nodes]{%
\includegraphics[width=.33\textwidth]{fig/sen_comp}\label{fig:sen_comp}}%
\subfloat[Comparison the selected frequency scaling factors of MG benchmark class C running on 8 nodes]{%
To fairly compare both algorithms, the same energy and execution time models, equations (\ref{eq:energy}) and (\ref{eq:fnew}), were used for both algorithms to predict the energy consumption and the execution times. Also Spiliopoulos et al. algorithm was adapted to start the search from the
initial frequencies computed using the equation (\ref{eq:Fint}). The resulting algorithm is an exhaustive search algorithm that minimizes the EDP and has the initial frequencies values as an upper bound.
-Both algorithms were applied to the parallel NAS benchmarks to compare their efficiency. Table \ref{table:compare_EDP} presents the results of comparing the execution times and the energy consumptions for both versions of the NAS benchmarks while running the class C of each benchmark over 8 or 9 heterogeneous nodes. The results show that our algorithm gives better energy savings than Spiliopoulos et al. algorithm,
+Both algorithms were applied to the parallel NAS benchmarks to compare their efficiency. Table \ref{table:compare_EDP} presents the results of comparing the execution times and the energy consumptions for both versions of the NAS benchmarks while running the class C of each benchmark over 8 or 9 heterogeneous nodes. The results show that our algorithm provides better energy savings than Spiliopoulos et al. algorithm,
on average it results in 29.76\% energy saving while their algorithm returns just 25.75\%. The average of performance degradation percentage is approximately the same for both algorithms, about 4\%.
-For all benchmarks, our algorithm outperforms
-Spiliopoulos et al. algorithm in term of energy and performance tradeoff, see figure (\ref{fig:compare_EDP}), because it maximizes the distance between the energy saving and the performance degradation values while giving the same weight for both metrics.
+For all benchmarks, our algorithm outperforms Spiliopoulos et al. algorithm in
+terms of energy and performance tradeoff, see figure (\ref{fig:compare_EDP}),
+because it maximizes the distance between the energy saving and the performance
+degradation values while giving the same weight for both metrics.
\section{Conclusion}
\label{sec.concl}
-In this paper, a new online frequency selecting algorithm has been presented. It selects the best possible vector of frequency scaling factors that gives the maximum distance (optimal tradeoff) between the predicted energy and
-the predicted performance curves for a heterogeneous platform. This algorithm uses a new energy model for measuring
-and predicting the energy of distributed iterative applications running over heterogeneous
-platform. To evaluate the proposed method, it was applied on the NAS parallel benchmarks and executed over a heterogeneous platform simulated by Simgrid. The results of the experiments showed that the algorithm reduces up to 35\% the energy consumption of a message passing iterative method while limiting the degradation of the performance. The algorithm also selects different scaling factors according to the percentage of the computing and communication times, and according to the values of the static and dynamic powers of the CPUs. Finally, the algorithm was compared to Spiliopoulos et al. algorithm and the results showed that it
- outperforms their algorithm in term of energy-time tradeoff.
-
-In the near future, this method will be applied to real heterogeneous platforms to evaluate its performance in a real study case. It would also be interesting to evaluate its scalability over large scale heterogeneous platform and measure the energy consumption reduction it can produce. Afterward, we would like to develop a similar method that is adapted to asynchronous iterative applications
-where each task does not wait for others tasks to finish their works. The development of such method might require a new
-energy model because the number of iterations is not
-known in advance and depends on the global convergence of the iterative system.
+In this paper, a new online frequency selecting algorithm has been presented. It
+selects the best possible vector of frequency scaling factors that gives the
+maximum distance (optimal tradeoff) between the predicted energy and the
+predicted performance curves for a heterogeneous platform. This algorithm uses a
+new energy model for measuring and predicting the energy of distributed
+iterative applications running over heterogeneous platforms. To evaluate the
+proposed method, it was applied on the NAS parallel benchmarks and executed over
+a heterogeneous platform simulated by Simgrid. The results of the experiments
+showed that the algorithm reduces up to 35\% the energy consumption of a message
+passing iterative method while limiting the degradation of the performance. The
+algorithm also selects different scaling factors according to the percentage of
+the computing and communication times, and according to the values of the static
+and dynamic powers of the CPUs. Finally, the algorithm was compared to
+Spiliopoulos et al. algorithm and the results showed that it outperforms their
+algorithm in terms of energy-time tradeoff.
+
+In the near future, this method will be applied to real heterogeneous platforms
+to evaluate its performance in a real study case. It would also be interesting
+to evaluate its scalability over large scale heterogeneous platforms and measure
+the energy consumption reduction it can produce. Afterward, we would like to
+develop a similar method that is adapted to asynchronous iterative applications
+where each task does not wait for other tasks to finish their works. The
+development of such a method might require a new energy model because the number
+of iterations is not known in advance and depends on the global convergence of
+the iterative system.
\section*{Acknowledgment}