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
\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
-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
\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}).
\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.