\begin{document}
-\title{Optimal Dynamic Frequency Scaling for Energy-Performance of Parallel MPI Programs}
+\title{The Simultaneous Dynamic Frequency Scaling for Energy-Performance of Parallel MPI Programs}
\author{%
\IEEEauthorblockN{%
\maketitle
-\AG{``Optimal'' is a bit pretentious in the title.\\
- Complete affiliation, add an email address, etc.}
+\AG{Complete affiliation, add an email address, etc.}
\begin{abstract}
The important technique for energy reduction of parallel systems is CPU
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 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
+set to the maximum frequency. The energy model
depending on the frequency scaling factor for homogeneous platform for any
number of concurrent tasks was developed by Rauber and Rünger~\cite{3}. This
model considers the two power metrics for measuring the energy of the parallel
-tasks as in EQ~(\ref{eq:energy}):
+tasks as in EQ~(\ref{eq:energy}). This factor reduces
+quadratically the dynamic power. Also, it increases the static energy
+linearly because the execution time is increased~\cite{36}.
\begin{equation}
\label{eq:energy}
E = P_\textit{dyn} \cdot S_1^{-2} \cdot
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
EQ~(\ref{eq:sopt}).
\begin{equation}
\label{eq:sopt}
- S_\textit{opt} = \sqrt[3]{\frac{2}{n} \cdot \frac{P_\textit{dyn}}{P_\textit{static}} \cdot
+ S_\textit{opt} = \sqrt[3]{\frac{2}{N} \cdot \frac{P_\textit{dyn}}{P_\textit{static}} \cdot
\left( 1 + \sum_{i=2}^{N} \frac{T_i^3}{T_1^3} \right) }
\end{equation}
\section{Performance Evaluation of MPI Programs}
\label{sec.mpip}
-The performance (execution time) of parallel MPI applications depend on
+The performance (execution time) of parallel MPI applications depends on
the time of the slowest task as in figure~(\ref{fig:homo}). Normally the
execution time of the parallel programs are proportional to the operational
frequency. Therefore, any DVFS operation for the energy reduction increases the
\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}
\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
+curve EQ~(\ref{eq:pnorm_en}) over all available scaling factors $S_j$. This represent
the minimum energy consumption with minimum execution time (better performance)
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
\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}).
\end{algorithmic}
\end{algorithm}
The proposed EPSA algorithm works online during the execution time of the MPI
-program. It selects the optimal scaling factor by gathering the computation and communication times
-from the program after one iteration.
- This algorithm has small execution time
+program. This algorithm has small execution time
(between 0.00152 $ms$ for 4 nodes to 0.00665 $ms$ for 32 nodes). The algorithm complexity is O(F$\cdot$N),
-where F is the number of available frequencies and N is the number of computing nodes. The data required
-by this algorithm is the computation time and the communication time for each task from the first iteration only.
+where F is the number of available frequencies and N is the number of computing nodes. It selects the optimal scaling factor by gathering the computation and communication times
+from the program after one iteration.
When these times are measured, the MPI program calls the EPSA algorithm to choose the new frequency using the
-optimal scaling factor. Then the program changes the new frequency of the system. The algorithm is called just
-one time during the execution of the program. The DVFS algorithm~(\ref{dvfs}) shows where and when the EPSA algorithm is called
-in the MPI program.
+optimal scaling factor. Then the program changes the new frequency of the system. The algorithm is called just one time during the execution of the program. The DVFS algorithm~(\ref{dvfs}) shows where and when the EPSA algorithm is called in the MPI program.
%\begin{minipage}{\textwidth}
%\AG{Use the same format as for Algorithm~\ref{$EPSA$}}
\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.
show that this method keep or improve energy saving. Because of the energy
consumption decrease when the execution time decreased while the frequency value
increased.
-
+\begin{figure}[t]
+ \centering
+ \includegraphics[width=.33\textwidth]{compare_class_A.pdf}
+ \includegraphics[width=.33\textwidth]{compare_class_B.pdf}
+ \includegraphics[width=.33\textwidth]{compare_class_c.pdf}
+ \caption {Comparing Our EPSA with Rauber and Rünger Methods}
+ \label{fig:compare}
+\end{figure}
Figure~(\ref{fig:compare}) shows the maximum distance between the energy saving
percent and the performance degradation percent. Therefore, this means it is the
same resultant of our objective function EQ~(\ref{eq:max}). Our algorithm always
paper. While the negative trade offs refers to improving energy saving (or may
be the performance) while degrading the performance (or may be the energy) more
than the first.
-\begin{figure}[t]
- \centering
- \includegraphics[width=.33\textwidth]{compare_class_A.pdf}
- \includegraphics[width=.33\textwidth]{compare_class_B.pdf}
- \includegraphics[width=.33\textwidth]{compare_class_c.pdf}
- \caption {Comparing Our EPSA with Rauber and Rünger Methods}
- \label{fig:compare}
-\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.