X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/mpi-energy.git/blobdiff_plain/5122afb83c5f5b83abac8b089aab1dfce812728b..b2a65ca728f5564e5df441385c2069715aad9368:/paper.tex?ds=sidebyside diff --git a/paper.tex b/paper.tex index aecd79e..613e83b 100644 --- a/paper.tex +++ b/paper.tex @@ -67,7 +67,7 @@ kW). This large increase in number of computing cores has led to large energy consumption by these architectures. Moreover, the price of energy is expected to continue its ascent according to the demand. For all these reasons energy reduction became an important topic in the high performance computing field. To -tackle this problem, many researchers used DVFS (Dynamic Voltage Frequency +tackle this problem, many researchers used DVFS (Dynamic Voltage and Frequency Scaling) operations which reduce dynamically the frequency and voltage of cores and thus their energy consumption. However, this operation also degrades the performance of computation. Therefore researchers try to reduce the frequency to @@ -101,7 +101,7 @@ algorithm gives better energy-time trade off. This paper is organized as follows: Section~\ref{sec.relwork} presents the works from other authors. Section~\ref{sec.exe} shows the execution of parallel -tasks and sources of idle times. It resumes the energy +tasks and sources of idle times. Also, it resumes the energy model of homogeneous platform. Section~\ref{sec.mpip} evaluates the performance of MPI program. Section~\ref{sec.compet} presents the energy-performance trade offs objective function. Section~\ref{sec.optim} demonstrates the proposed @@ -231,7 +231,7 @@ consumption~\cite{37}. The operational frequency \emph f depends linearly on the supply voltage $V$, i.e., $V = \beta \cdot f$ with some constant $\beta$. This equation is used to study the change of the dynamic voltage with respect to various frequency values in~\cite{3}. The reduction process of the frequency are -expressed by the scaling factor \emph S. The scale \emph S is the ratio between the +expressed by the scaling factor \emph S. This scaling factor is the ratio between the maximum and the new frequency as in EQ~(\ref{eq:s}). \begin{equation} \label{eq:s} @@ -240,8 +240,8 @@ maximum and the new frequency as in EQ~(\ref{eq:s}). The value of the scale $S$ is greater than 1 when changing the frequency to any new frequency value~(\emph {P-state}) in governor, the CPU governor is an interface driver supplied by the operating system kernel (e.g. Linux) to -lowering core's frequency. The scaling factor is equal to 1 when the frequency -set is to the maximum frequency. The energy consumption model for parallel +lowering core's frequency. The scaling factor is equal to 1 when the new frequency is +set to the maximum frequency. The energy consumption model for parallel homogeneous platform depends on the scaling factor \emph S. This factor reduces quadratically the dynamic power. Also, this factor increases the static energy linearly because the execution time is increased~\cite{36}. The energy model @@ -263,14 +263,14 @@ from the set of scales values $S_i$. Each of these scales are proportional to the time value $T_i$ depends on the new frequency value as in EQ~(\ref{eq:si}). \begin{equation} \label{eq:s1} - S_1 = \max_{i=1,2,\dots,F} S_i + S_1 = \max_{i=1,2,\dots,N} S_i \end{equation} \begin{equation} \label{eq:si} S_i = S \cdot \frac{T_1}{T_i} = \frac{F_\textit{max}}{F_\textit{new}} \cdot \frac{T_1}{T_i} \end{equation} -where $F$ is the number of available frequencies. In this paper we depend on +where $N$ is the number of nodes. In this paper we depend on Rauber and Rünger energy model EQ~(\ref{eq:energy}) for two reasons: (1) this model is used for homogeneous platform that we work on in this paper, and (2) we compare our algorithm with Rauber and Rünger scaling model. Rauber and Rünger @@ -310,7 +310,7 @@ these times are used to predict the execution time for any MPI program as a func the new scaling factor as in EQ~(\ref{eq:tnew}). \begin{equation} \label{eq:tnew} - \textit T_\textit{new} = T_\textit{Max Comp Old} \cdot S + T_{\textit{Max Comm Old}} + \textit T_\textit{New} = T_\textit{Max Comp Old} \cdot S + T_{\textit{Max Comm Old}} \end{equation} The above equation shows that the scaling factor \emph S has linear relation with the computation time without affecting the communication time. The @@ -339,9 +339,9 @@ without scaled frequency: \begin{multline} \label{eq:enorm} E_\textit{Norm} = \frac{ E_\textit{Reduced}}{E_\textit{Original}} \\ - {} = \frac{P_\textit{dyn} \cdot S_i^{-2} \cdot + {} = \frac{P_\textit{dyn} \cdot S_1^{-2} \cdot \left( T_1 + \sum_{i=2}^{N}\frac{T_i^3}{T_1^2}\right) + - P_\textit{static} \cdot T_1 \cdot S_i \cdot N }{ + P_\textit{static} \cdot T_1 \cdot S_1 \cdot N }{ P_\textit{dyn} \cdot \left(T_1+\sum_{i=2}^{N}\frac{T_i^3}{T_1^2}\right) + P_\textit{static} \cdot T_1 \cdot N } \end{multline} @@ -385,16 +385,16 @@ performance as follows: \end{figure*} Then, we can modelize our objective function as finding the maximum distance between the energy curve EQ~(\ref{eq:enorm}) and the inverse of performance -curve EQ~(\ref{eq:pnorm_en}) over all available scaling factors. This represent -the minimum energy consumption with minimum execution time (better performance) +curve EQ~(\ref{eq:pnorm_en}) over all available scaling factors $S_j$. This represent +the minimum energy consumption with minimum execution time (better performwhere F is the number of available frequenciesance) in the same time, see figure~(\ref{fig:r1}). Then our objective function has the following form: \begin{equation} \label{eq:max} - \textit{MaxDist} = \max (\overbrace{P^{-1}_\textit{Norm}}^{\text{Maximize}} - - \overbrace{E_\textit{Norm}}^{\text{Minimize}} ) + S_\textit{optimal} = \max_{j=1,2,\dots,F} (\overbrace{P^{-1}_\textit{Norm}(S_j)}^{\text{Maximize}} - + \overbrace{E_\textit{Norm}(S_j)}^{\text{Minimize}} ) \end{equation} -Then we can select the optimal scaling factor that satisfy the +where F is the number of available frequencies. Then we can select the optimal scaling factor that satisfy the EQ~(\ref{eq:max}). Our objective function can works with any energy model or static power values stored in a data file. Moreover, this function works in optimal way when the energy function has a convex form with frequency scaling @@ -408,7 +408,7 @@ reasons that mentioned before. In the previous section we described the objective function that satisfy our goal in discovering optimal scaling factor for both performance and energy at the same time. Therefore, we develop an energy to performance scaling algorithm -($EPSA$). This algorithm is simple and has a direct way to calculate the optimal +(EPSA). This algorithm is simple and has a direct way to calculate the optimal scaling factor for both energy and performance at the same time. \begin{algorithm}[tp] \caption{EPSA} @@ -419,7 +419,7 @@ scaling factor for both energy and performance at the same time. \State Set $P_{states}$ to the number of available frequencies. \State Set the variable $F_{new}$ to max. frequency, $F_{new} = F_{max} $ \State Set the variable $F_{diff}$ to the scale value between each two frequencies. - \For {$i=1$ to $P_{states} $} + \For {$J:=1$ to $P_{states} $} \State - Calculate the new frequency as $F_{new}=F_{new} - F_{diff} $ \State - Calculate the scale factor $S$ as in EQ~(\ref{eq:s}). \State - Calculate all available scales $S_i$ depend on $S$ as\par\hspace{1 pt} in EQ~(\ref{eq:si}). @@ -454,10 +454,10 @@ in the MPI program. \caption{DVFS} \label{dvfs} \begin{algorithmic}[1] - \For {$J=1$ to $Some-Iterations \; $} + \For {$K:=1$ to $Some-Iterations \; $} \State -Computations Section. \State -Communications Section. - \If {$(J=1)$} + \If {$(K=1)$} \State -Gather all times of computation and\par\hspace{13 pt} communication from each node. \State -Call EPSA with these times. \State -Calculate the new frequency from optimal scale. @@ -766,7 +766,7 @@ than the first. \end{figure} \section{Conclusion} \label{sec.concl} -In this paper we developed the simultaneous energy-performance algorithm. It works based on the trade off relation between the energy and performance. The results showed that when the scaling factor is big value refer to more energy saving. Also, when the scaling factor is smaller value, Then it has bigger impact on performance than energy. The algorithm optimizes the energy saving and performance in the same time to have positive trade off. The optimal trade off represents the maximum distance between the energy and the inversed performance curves. Also, the results explained when setting the slowest task to maximum frequency usually not have a big improvement on performance. In future, we will apply the EPSA algorithm on heterogeneous platform. +In this paper we developed the simultaneous energy-performance algorithm. It works based on the trade off relation between the energy and performance. The results showed that when the scaling factor is big value refer to more energy saving. Also, when the scaling factor is smaller value, then it has bigger impact on performance than energy. The algorithm optimizes the energy saving and performance in the same time to have positive trade off. The optimal trade off represents the maximum distance between the energy and the inversed performance curves. Also, the results explained when setting the slowest task to maximum frequency usually not have a big improvement on performance. In future, we will apply the EPSA algorithm on heterogeneous platform. \section*{Acknowledgment} Computations have been performed on the supercomputer facilities of the