The online scaling factor selection methods are executed during the runtime of the program. They are usually integrated into iterative programs where the same block of instructions is executed many times. During the first few iterations, many informations are measured such as the execution time, the energy consumed using a multimeter, the slack times, ... Then a method will exploit these measurements to compute the scaling factor values for each processor. This operation, measurements and computing new scaling factor, can be repeated as much as needed if the iterations are not regular. Kimura, Peraza, Yu-Liang et al. ~\cite{11,2,31} used learning methods to select the appropriate scaling factor values to eliminate the slack times during runtime. However, as seen in ~\cite{39,19}, machine learning methods can take a lot of time to converge when the number of available gears is big. To reduce the impact of slack times, in~\cite{1}, Lim et al. developed an algorithm that detects the
communication sections and changes the frequency during these sections
only. This approach might change the frequency of each processor many times per iteration if an iteration
-contains more than one communication section. In ~\cite{3}, Rauber and Rünger used an analytical model that after measuring the energy consumed and the execution time with the highest frequency gear, it can predict the energy consumed and the execution time for every frequency gear . These predictions may be used to choose the optimal gear for each processor executing the parallel program to reduce energy consumption.
+contains more than one communication section. In ~\cite{3}, Rauber and Rünger used an analytical model that can predict the consumed energy and the execution time for every frequency gear after measuring the consumed energy and the execution time with the highest frequency gear. These predictions may be used to choose the optimal gear for each processor executing the parallel program to reduce energy consumption.
To maintain the performance of the parallel program , they
set the processor with the biggest load to the highest gear and then compute the scaling factor values for the rest of the processors. Although this model was built for parallel architectures, it can be adapted to distributed architectures by taking into account the communications.
-The primary contribution of this paper is presenting a new online scaling factor selection method which has the following characteristics :
+The primary contribution of our paper is presenting a new online scaling factor selection method which has the following characteristics :
\begin{enumerate}
- \item It is based on Rauber's analytical model to predict the energy consumption and the execution time of the application with different frequency gears.
-\item Based on Rauber and Rünger analytical model to predict the energy consumption and the execution time of the application with different frequency gears.
-\item Selects the frequency scaling factor for simultaneously optimizing energy reduction and maintaining performance.
-\item Well adapted to distributed architectures because it takes into account the communication time.
-\item Well adapted to distributed applications with imbalanced tasks.
-\item Has very small footprint when compared to other
++\item It is based on Rauber and Rünger analytical model to predict the energy consumption and the execution time of the application with different frequency gears.
+\item It selects the frequency scaling factor for simultaneously optimizing energy reduction and maintaining performance.
+\item It is well adapted to distributed architectures because it takes into account the communication time.
+\item It is well adapted to distributed applications with imbalanced tasks.
+\item it has very small footprint when compared to other
methods (e.g.,~\cite{19}) and does not require profiling or training as
in~\cite{38,34}.
\end{enumerate}