The algorithm has a small
overhead and works without training or profiling. It uses a new energy model
for message passing iterative applications running on a grid.
- The proposed algorithm is evaluated on a real grid, the grid'5000 platform, while
+ The proposed algorithm is evaluated on a real grid, the Grid'5000 platform, while
running the NAS parallel benchmarks. The experiments on 16 nodes, distributed on three clusters, show that it reduces on average the
energy consumption by \np[\%]{30} while the performance is on average only degraded
by \np[\%]{3.2}. Finally, the algorithm is
computing platforms must be more energy efficient and offer the highest number
of FLOPS per watt possible, such as the Shoubu-ExaScaler from RIKEN
which became the top of the Green500 list in June 2015 \cite{Green500_List}.
-This heterogeneous platform executes more than 7 GFLOPS per watt while consuming
+This heterogeneous platform executes more than 7 GFlops per watt while consuming
50.32 kilowatts.
Besides platform improvements, there are many software and hardware techniques
homogeneous and heterogeneous clusters respectively.
The results of the experiments showed significant energy
consumption reductions. All the experimental results were conducted over the
-Simgrid simulator \cite{SimGrid}, which offers easy tools to create homogeneous and heterogeneous platforms and runs message passing parallel applications over them. In this paper, a new frequency selecting algorithm,
+SimGrid simulator \cite{SimGrid}, which offers easy tools to create homogeneous and heterogeneous platforms and runs message passing parallel applications over them. In this paper, a new frequency selecting algorithm,
adapted to grid platforms composed of heterogeneous clusters, is presented. It is applied to the NAS parallel benchmarks and evaluated over a real testbed,
-the grid'5000 platform \cite{grid5000}. It selects for a grid platform running a message passing iterative
+the Grid'5000 platform \cite{grid5000}. It selects for a grid platform running a message passing iterative
application the vector of
frequencies that simultaneously tries to offer the maximum energy reduction and
minimum performance degradation ratios. The algorithm has a very small overhead,
consumption while minimizing the degradation of the program's performance.
Section~\ref{sec.optim} details the proposed frequencies selecting algorithm.
Section~\ref{sec.expe} presents the results of applying the algorithm on the
-NAS parallel benchmarks and executing them on the grid'5000 testbed.
+NAS parallel benchmarks and executing them on the Grid'5000 testbed.
It also evaluates the algorithm over multi-cores per node architectures and over three different power scenarios. Moreover, it shows the
comparison results between the proposed method and an existing method. Finally,
in Section~\ref{sec.concl} the paper ends with a summary and some future works.
In our previous
works, \cite{Our_first_paper} and \cite{pdsec2015}, two methods that select the optimal
frequency scaling factors for a homogeneous and a heterogeneous cluster respectively, were proposed.
-Both methods selects the frequencies that gives the best tradeoff between
+Both methods selects the frequencies that gives the best trade-off between
energy consumption reduction and performance for message passing
iterative synchronous applications. In this work we
are interested in grids that are composed of heterogeneous clusters were the nodes have different characteristics such as dynamic power, static power, computation power, frequencies range, network latency and bandwidth.
\item[{$\Ps[ij]$}] array of the static powers for all nodes.
\item[{$\Fdiff[ij]$}] array of the differences between two successive frequencies for all nodes.
\end{description}
- \Ensure $\Sopt[11],\Sopt[12] \dots, \Sopt[NM_i]$, a vector of scaling factors that gives the optimal tradeoff between energy consumption and execution time
+ \Ensure $\Sopt[11],\Sopt[12] \dots, \Sopt[NM_i]$, a vector of scaling factors that gives the optimal trade-off between energy consumption and execution time
\State $\Scp[ij] \gets \frac{\max_{i=1,2,\dots,N}(\max_{j=1,2,\dots,M_i}(\Tcp[ij]))}{\Tcp[ij]} $
\State $F_{ij} \gets \frac{\Fmax[ij]}{\Scp[i]},~{i=1,2,\cdots,N},~{j=1,2,\dots,M_i}.$
\section{Experimental results}
\label{sec.expe}
While in~\cite{pdsec2015} the energy model and the scaling factors selection algorithm were applied to a heterogeneous cluster and evaluated over the SimGrid simulator~\cite{SimGrid},
-in this paper real experiments were conducted over the grid'5000 platform.
+in this paper real experiments were conducted over the Grid'5000 platform.
\subsection{Grid'5000 architecture and power consumption}
\label{sec.grid5000}
which is the French National Telecommunication Network for Technology.
Each site of the grid is composed of a few heterogeneous
computing clusters and each cluster contains many homogeneous nodes. In total,
-grid'5000 has about one thousand heterogeneous nodes and eight thousand cores. In each site,
+Grid'5000 has about one thousand heterogeneous nodes and eight thousand cores. In each site,
the clusters and their nodes are connected via high speed local area networks.
Two types of local networks are used, Ethernet or Infiniband networks which have different characteristics in terms of bandwidth and latency.
-Since grid'5000 is dedicated to testing, contrary to production grids it allows a user to deploy its own customized operating system on all the booked nodes. The user could have root rights and thus apply DVFS operations while executing a distributed application. Moreover, the grid'5000 testbed provides at some sites a power measurement tool to capture
+Since Grid'5000 is dedicated to testing, contrary to production grids it allows a user to deploy its own customized operating system on all the booked nodes. The user could have root rights and thus apply DVFS operations while executing a distributed application. Moreover, the Grid'5000 testbed provides at some sites a power measurement tool to capture
the power consumption for each node in those sites. The measured power is the overall consumed power by all the components of a node at a given instant, such as CPU, hard drive, main-board, memory, ... For more details refer to
\cite{Energy_measurement}. In order to correctly measure the CPU power of one core in a node $j$,
firstly, the power consumed by the node while being idle at instant $y$, noted as $\Pidle[jy]$, was measured. Then, the power was measured while running a single thread benchmark with no communication (no idle time) over the same node with its CPU scaled to the maximum available frequency. The latter power measured at time $x$ with maximum frequency for one core of node $j$ is noted $\Pmax[jx]$. The difference between the two measured power consumptions represents the
On the other hand, the static power consumption by one core is a part of the measured idle power consumption of the node. Since in Grid'5000 there is no way to measure precisely the consumed static power and in~\cite{Our_first_paper,pdsec2015,Rauber_Analytical.Modeling.for.Energy} it was assumed that the static power represents a ratio of the dynamic power, the value of the static power is assumed as 20\% of dynamic power consumption of the core.
-In the experiments presented in the following sections, two sites of grid'5000 were used, Lyon and Nancy sites. These two sites have in total seven different clusters as in Figure~\ref{fig:grid5000}.
+In the experiments presented in the following sections, two sites of Grid'5000 were used, Lyon and Nancy sites. These two sites have in total seven different clusters as in Figure~\ref{fig:grid5000}.
Four clusters from the two sites were selected in the experiments: one cluster from
Lyon's site, Taurus, and three clusters from Nancy's site, Graphene,
\begin{figure}[!t]
\centering
\includegraphics[scale=1]{fig/grid5000}
- \caption{The selected two sites of grid'5000}
+ \caption{The selected two sites of Grid'5000}
\label{fig:grid5000}
\end{figure}
\begin{figure}[!t]
\includegraphics[width=.48\textwidth]{fig/eng_s.eps}\label{fig:eng_s}} \hspace{0.4cm}%
\subfloat[The performance degradation of the NAS benchmarks over different scenarios]{%
\includegraphics[width=.48\textwidth]{fig/per_d.eps}\label{fig:per_d}}\hspace{0.4cm}%
- \subfloat[The tradeoff distance between the energy reduction and the performance of the NAS benchmarks
+ \subfloat[The trade-off distance between the energy reduction and the performance of the NAS benchmarks
over different scenarios]{%
\includegraphics[width=.48\textwidth]{fig/dist.eps}\label{fig:dist}}
\label{fig:exp-res}
The rest of the benchmarks showed different performance degradation percentages, which decrease
when the communication times increase and vice versa.
-Figure \ref{fig:dist} presents the distance percentage between the energy saving and the performance degradation for each benchmark over both scenarios. The tradeoff distance percentage can be
+Figure \ref{fig:dist} presents the distance percentage between the energy saving and the performance degradation for each benchmark over both scenarios. The trade-off distance percentage can be
computed as in Equation~\ref{eq:max}. The one site scenario with 16 nodes gives the best energy and performance
-tradeoff, on average it is equal to 26.8\%. The one site scenario using both 16 and 32 nodes had better energy and performance
-tradeoff comparing to the two sites scenario because the former has high speed local communications
+trade-off, on average it is equal to 26.8\%. The one site scenario using both 16 and 32 nodes had better energy and performance
+trade-off comparing to the two sites scenario because the former has high speed local communications
which increase the computations to communications ratio and the latter uses long distance communications which decrease this ratio.
- Finally, the best energy and performance tradeoff depends on all of the following:
+ Finally, the best energy and performance trade-off depends on all of the following:
1) the computations to communications ratio when there are communications and slack times, 2) the heterogeneity of the computing powers of the nodes and 3) the heterogeneity of the consumed static and dynamic powers of the nodes.
\subsection{The experimental results over multi-cores clusters}
\label{sec.res-mc}
-The clusters of grid'5000 have different number of cores embedded in their nodes
+The clusters of Grid'5000 have different number of cores embedded in their nodes
as shown in Table~\ref{table:grid5000}. In
-this section, the proposed scaling algorithm is evaluated over the grid'5000 platform while using multi-cores nodes selected according to the one site scenario described in Section~\ref{sec.res}.
+this section, the proposed scaling algorithm is evaluated over the Grid'5000 platform while using multi-cores nodes selected according to the one site scenario described in Section~\ref{sec.res}.
The one site scenario uses 32 cores from multi-cores nodes instead of 32 distinct nodes. For example if
the participating number of cores from a certain cluster is equal to 14,
in the multi-core scenario the selected nodes is equal to 4 nodes while using
\subfloat[The performance degradation of running NAS benchmarks over one core and multicores scenarios
]{%
\includegraphics[width=.48\textwidth]{fig/per_d_mc.eps}\label{fig:per-d-mc}}\hspace{0.4cm}%
- \subfloat[The tradeoff distance of running NAS benchmarks over one core and multicores scenarios]{%
+ \subfloat[The trade-off distance of running NAS benchmarks over one core and multicores scenarios]{%
\includegraphics[width=.48\textwidth]{fig/dist_mc.eps}\label{fig:dist-mc}}
- \label{fig:exp-res}
+ \label{fig:exp-res2}
\caption{The experimental results of one core and multi-cores scenarios}
\end{figure*}
The performance degradation percentages of the NAS benchmarks are presented in
Figure\ref{fig:per-d-mc}. It shows that the performance degradation percentages are higher for the NAS benchmarks over the one core per node scenario (on average equal to 10.6\%) than over the multi-cores scenario (on average equal to 7.5\%). The performance degradation percentages over the multi-cores scenario are lower because the computations to communications ratios are smaller than the ratios of the other scenario.
-The tradeoff distances percentages of the NAS benchmarks over the two scenarios are presented
-in ~Figure~\ref{fig:dist-mc}. These tradeoff distances between energy consumption reduction and performance are used to verify which scenario is the best in both terms at the same time. The figure shows that the tradeoff distance percentages are on average bigger over the multi-cores scenario (17.6\%) than over the one core per node scenario (15.3\%).
+The trade-off distances percentages of the NAS benchmarks over the two scenarios are presented
+in ~Figure~\ref{fig:dist-mc}. These trade-off distances between energy consumption reduction and performance are used to verify which scenario is the best in both terms at the same time. The figure shows that the trade-off distance percentages are on average bigger over the multi-cores scenario (17.6\%) than over the one core per node scenario (15.3\%).
\includegraphics[width=.48\textwidth]{fig/eng_pow.eps}\label{fig:eng-pow}} \hspace{0.4cm}%
\subfloat[The performance degradation percentages for the NAS benchmarks over the three power scenarios]{%
\includegraphics[width=.48\textwidth]{fig/per_pow.eps}\label{fig:per-pow}}\hspace{0.4cm}%
- \subfloat[The tradeoff distance between the energy reduction and the performance of the NAS benchmarks over the three power scenarios]{%
+ \subfloat[The trade-off distance between the energy reduction and the performance of the NAS benchmarks over the three power scenarios]{%
\includegraphics[width=.48\textwidth]{fig/dist_pow.eps}\label{fig:dist-pow}}
\label{fig:exp-pow}
The performance degradation percentages are presented in Figure\ref{fig:per-pow}.
The 30\% static power scenario had less performance degradation percentage because the scaling algorithm
had selected big frequencies for the CPUs. While,
-the inverse happens in the 10\% and 20\% scenarios because the scaling algorithm had selected CPUs' frequencies smaller than those of the 30\% scenario. The tradeoff distance percentage for the NAS benchmarks with these three static power scenarios
+the inverse happens in the 10\% and 20\% scenarios because the scaling algorithm had selected CPUs' frequencies smaller than those of the 30\% scenario. The trade-off distance percentage for the NAS benchmarks with these three static power scenarios
are presented in Figure~\ref{fig:dist}.
-It shows that the best tradeoff
+It shows that the best trade-off
distance percentage is obtained with the 10\% static power scenario and this percentage
is decreased for the other two scenarios because the scaling algorithm had selected different frequencies according to the static power values.
-In the EP benchmark, the energy saving, performance degradation and tradeoff
+In the EP benchmark, the energy saving, performance degradation and trade-off
distance percentages for these static power scenarios are not significantly different because there is no communication in this benchmark. Therefore, the static power is only consumed during computation and the proposed scaling algorithm selects similar frequencies for the three scenarios. On the other hand, for the rest of the benchmarks, the scaling algorithm selects the values of the frequencies according to the communication times of each benchmark because the static energy consumption increases proportionally to the communication times.
\subsection{Comparison of the proposed frequencies selecting algorithm }
\label{sec.compare_EDP}
-Finding the frequencies that give the best tradeoff between the energy consumption and the performance for a parallel
+Finding the frequencies that give the best trade-off between the energy consumption and the performance for a parallel
application is not a trivial task. Many algorithms have been proposed to tackle this problem.
In this section, the proposed frequencies selecting algorithm is compared to a method that uses the well known energy and delay product objective function, $EDP=energy \times delay$, that has been used by many researchers \cite{EDP_for_multi_processors,Energy_aware_application_scheduling,Exploring_Energy_Performance_TradeOffs}.
This objective function was also used by Spiliopoulos et al. algorithm \cite{Spiliopoulos_Green.governors.Adaptive.DVFS} where they select the frequencies that minimize the EDP product and apply them with DVFS operations to the multi-cores
Both algorithms were applied to class D of the NAS benchmarks over 16 nodes.
The participating computing nodes are distributed according to the two scenarios described in Section~\ref{sec.res}.
-The experimental results, the energy saving, performance degradation and tradeoff distance percentages, are
+The experimental results, the energy saving, performance degradation and trade-off distance percentages, are
presented in Figures~\ref{fig:edp-eng}, \ref{fig:edp-perf} and \ref{fig:edp-dist} respectively.
\includegraphics[width=.48\textwidth]{fig/edp_eng}\label{fig:edp-eng}} \hspace{0.4cm}%
\subfloat[The performance degradation induced by the Maxdist method and the EDP method]{%
\includegraphics[width=.48\textwidth]{fig/edp_per}\label{fig:edp-perf}}\hspace{0.4cm}%
- \subfloat[The tradeoff distance between the energy consumption reduction and the performance for the Maxdist method and the EDP method]{%
+ \subfloat[The trade-off distance between the energy consumption reduction and the performance for the Maxdist method and the EDP method]{%
\includegraphics[width=.48\textwidth]{fig/edp_dist}\label{fig:edp-dist}}
\label{fig:edp-comparison}
\caption{The comparison results}
The proposed algorithm gives better results than EDP because it
maximizes the energy saving and the performance at the same time.
Moreover, the proposed scaling algorithm gives the same weight for these two metrics.
-Whereas, the EDP algorithm gives sometimes negative tradeoff values for some benchmarks in the two sites scenarios.
-These negative tradeoff values mean that the performance degradation percentage is higher than the energy saving percentage.
-The high positive values of the tradeoff distance percentage mean that the energy saving percentage is much higher than the performance degradation percentage.
+Whereas, the EDP algorithm gives sometimes negative trade-off values for some benchmarks in the two sites scenarios.
+These negative trade-off values mean that the performance degradation percentage is higher than the energy saving percentage.
+The high positive values of the trade-off distance percentage mean that the energy saving percentage is much higher than the performance degradation percentage.
The time complexity of both Maxdist and EDP algorithms are $O(N \cdot M \cdot F)$ and
$O(N \cdot M \cdot F^2)$ respectively, where $N$ is the number of the clusters, $M$ is the number of nodes and $F$ is the
maximum number of available frequencies. When Maxdist is applied to a benchmark that is being executed over 32 nodes distributed between Nancy and Lyon sites, it takes on average $0.01 ms$ to compute the best frequencies while EDP is on average ten times slower over the same architecture.
\label{sec.concl}
This paper presents a new online frequencies selection algorithm.
The algorithm selects the best vector of
-frequencies that maximizes the tradeoff distance
+frequencies that maximizes the trade-off distance
between the predicted energy consumption and the predicted execution time of the distributed
iterative applications running over a heterogeneous grid. A new energy model
is used by the proposed algorithm to predict the energy consumption
computations and communication times ratios, and the values of the static and measured dynamic powers of the CPUs.
Finally, the proposed algorithm was compared to another method that uses
the well known energy and delay product as an objective function. The comparison results showed
-that the proposed algorithm outperforms the latter by selecting a vector of frequencies that gives a better tradeoff between energy consumption reduction and performance.
+that the proposed algorithm outperforms the latter by selecting a vector of frequencies that gives a better trade-off between energy consumption reduction and performance.
In the near future, we would like to develop a similar method that is adapted to
asynchronous iterative applications where iterations are not synchronized and communications are overlapped with computations.
\end{document}
-
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% fill-column: 80
+%%% ispell-local-dictionary: "american"
+%%% End:
+
+% LocalWords: DVFS Fanfakh Charr Franche Comté IUT Maréchal Juin cedex NAS et
+% LocalWords: supercomputing Tianhe Shoubu ExaScaler RIKEN GFlops CPUs GPUs
+% LocalWords: Luley Xeon NVIDIA GPU Rong Naveen Lizhe al AMD ij hj RENATER
+% LocalWords: Infiniband Graphene consumptions versa multi Spiliopoulos Labex
+% LocalWords: Maxdist ANR LABX