X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAhmed.git/blobdiff_plain/fc62606e9b5f178540e42e01dcc280b817c9fc70..399ba08408333d926285a5769d30aa91c8d5a120:/thesis-presentation/AhmedSlides.tex?ds=inline diff --git a/thesis-presentation/AhmedSlides.tex b/thesis-presentation/AhmedSlides.tex index a7b6a84..9bb4b6f 100644 --- a/thesis-presentation/AhmedSlides.tex +++ b/thesis-presentation/AhmedSlides.tex @@ -75,8 +75,8 @@ %Iterations using CPU Frequency Scaling} \vspace{2cm} -\title{ \textbf{Energy Consumption Optimization of Parallel Applications with Iterations using CPU Frequency Scaling} \\ \vspace{0.2cm} \hspace{1.8cm}\textbf{\textcolor{cyan}{\small PhD Dissertation Defense}}}\vspace{-1cm} -\author{ \textbf{Ahmed Badri Muslim Fanfakh} \\ \vspace{0.5cm}\small Under Supervision: \textcolor{cyan}{\small Raphaël COUTURIER and Jean-Claude CHARR} \\\vspace{0.1cm} \textcolor{blue}{ University of Franche-Comté - FEMTO-ST - DISC Dept. - AND Team} \\ ~~~~~~~~~~~~~~~~~~~~~ \textbf{\textcolor{blue}{ 17 October 2016 }}} +\title{ \textbf{Energy Consumption Optimization of Parallel Applications with Iterations using CPU Frequency Scaling} \\ \vspace{0.2cm} \hspace{1.8cm}\textbf{\textcolor{cyan}{\small PhD Dissertation Defense}}}\vspace{-0.5cm} +\author{ \textbf{Ahmed Badri Muslim Fanfakh} \\ \vspace{0.5cm}\small Under the supervision of: \\ \textcolor{cyan}{\small Raphaël COUTURIER and Jean-Claude CHARR} \\\vspace{0.1cm} \textcolor{blue}{ UBFC - FEMTO-ST - DISC Dept. - AND Team} \\ ~~~~~~~~~~~~~~~~~~~~~ \textbf{\textcolor{blue}{ 17 October 2016 }}} \date{} \vspace{-3cm} @@ -115,9 +115,9 @@ %%%%%%%%%%%%%%%%%%%% \begin{frame}{Introduction and problem definition} \section{\small {Introduction and Problem definition}} - \bf \textcolor{blue}{Approaches to increase the computing power:} + \bf \textcolor{blue}{To get more computing power:} \begin{minipage}{0.5\textwidth} - \textcolor{blue}{1)} \small \bf \textcolor{black}{Increasing the frequency of a processor} + \textcolor{blue}{1)} \small \bf \textcolor{black}{Increase the frequency of a processor.\\ (limited due to overheating)} \end{minipage}% \begin{minipage}{0.6\textwidth} @@ -128,7 +128,10 @@ \end{minipage}% \vspace{0.2cm} \begin{minipage}{0.5\textwidth} - \textcolor{blue}{2)} \small \bf \textcolor{black}{Increasing the number of nodes} + \textcolor{blue}{2)} \small \bf \textcolor{black}{Use more nodes.} + + \textcolor{black}{The supercomputer Tianhe-2 has more than 3 million cores and consumes around 17.8 megawatts.} + \end{minipage}% \begin{minipage}{0.6\textwidth} \begin{figure}[h!] @@ -143,14 +146,13 @@ %%%%%%%%%%%%%%%%%%% %% SLIDE 04 %% %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Introduction and problem definition} - \vspace{0.1cm} - \bf \textcolor{blue}{Techniques for energy consumption reduction} - +\begin{frame}{Techniques for energy consumption reduction} + \textcolor{blue}{1)} \bf \textcolor{black}{Switch-off idle nodes method} \vspace{-0.9cm} \begin{figure} \animategraphics[autopause,loop,controls,scale=0.25,buttonsize=0.2cm]{200}{on-off/a-}{0}{69} + %\includegraphics[width=0.6\textwidth]{on-off/a-69} \end{figure} \end{frame} @@ -160,9 +162,10 @@ \begin{frame}{Techniques for energy consumption reduction} \textcolor{blue}{2)} \bf \textcolor{black}{Dynamic voltage and frequency Scaling (DVFS)} - \vspace{-0.5cm} + \vspace{-0.9cm} \begin{figure} - \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{DVFS-meq/a-}{0}{109} + \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{DVFS-meq/a-}{0}{109} + %\includegraphics[width=0.6\textwidth]{DVFS-meq/a-109} \end{figure} \end{frame} @@ -174,12 +177,12 @@ \begin{frame}{Motivations} \vspace{0.05cm} \section{\small {Motivations}} -\textcolor{blue}{Why we used DVFS method:} +\textcolor{blue}{Why we used the DVFS method:} \vspace{-0.49cm} \begin{minipage}{0.5\textwidth} \vspace{-0.49cm} \begin{itemize} - \item \small \textcolor{black}{The biggest power consumption is consumed by a processor \textsuperscript{1}. } + \item \small \textcolor{black}{ The CPU is the component that consumes the highest amount of energy in a node \textsuperscript{1}. } \end{itemize} @@ -192,8 +195,9 @@ \end{figure} \end{minipage}% - \begin{itemize} \item \small \textcolor{black}{It used to reduce the energy consumption while keeping all the node working, thus it is more adapted to parallel computing.} - \item \small \textcolor{black}{It has a very small overhead compared to switching-off the idle nodes method.} \end{itemize} + \begin{itemize} \item \small \textcolor{black}{DVFS reduces the energy consumption while + keeping all the nodes working.} + \item \small \textcolor{black}{It has a very small overhead compared to switching-off the idle nodes.} \end{itemize} \vspace{-0.12cm} @@ -202,7 +206,7 @@ \small \textcolor{blue}{Challenge:} \textcolor{black}{DVFS is used to reduce the energy consumption, \textcolor{blue}{but} it degrades the performance simultaneously.} \vspace{0.1cm} - \small \textcolor{blue}{Objective:} \textcolor{black}{Applying the DVFS to minimize the energy consumption while maintaining the performance of the parallel applications.} + \small \textcolor{blue}{Objective:} \textcolor{black}{Applying the DVFS to minimize the energy consumption while maintaining the performance of the parallel application.} \end{block} \tiny \textsuperscript{1} Fan, X., Weber, W., and Barroso, L. A. 2007. Power provisioning @@ -217,9 +221,12 @@ for a warehouse-sized computer. %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Contribution} +\begin{frame}{The first contribution} + +\section{\small {Energy optimization of a homogeneous platform}} +%\vspace{-3cm} + % \includegraphics[width=0.6\textwidth]{white.pdf} -\section{\small {Energy optimization of homogeneous platform}} \begin{center} \bf \Large \textcolor{blue}{Energy optimization of a parallel application with iterations running over a homogeneous platform} \end{center} @@ -234,11 +241,10 @@ for a warehouse-sized computer. \begin{frame}{Objectives} \begin{femtoBlock}{} \vspace{-12 mm} \begin{itemize} \small - \item Study the effect of the scaling factor $S$ on \textbf{energy consumption and performance } of parallel applications with iterations such as NAS - Benchmarks. \includegraphics[width=.06\textwidth]{c1/nasa.pdf} \medskip + \item Study the effect of the scaling factor on the \textbf{energy consumption and performance } of parallel applications with iterations. \medskip \item Discovering the \textbf{energy-performance trade-off relation} when changing the frequency of the processor.\medskip - \item Proposing an algorithm for selecting the scaling factor $S$ producing \textbf {the optimal trade-off} between the energy consumption and the performance. \medskip + \item Proposing an algorithm for selecting the scaling factor that produces \textbf {the optimal trade-off} between the energy consumption and the performance. \medskip \item Comparing the proposed algorithm to existing methods. @@ -261,9 +267,9 @@ for a warehouse-sized computer. \vspace{-0.5 cm} \begin{figure} \centering - \subfloat[Sync. imbalanced communications]{% + \subfloat[Synchronous imbalanced communications]{% \includegraphics[scale=0.49]{c1/commtasks}\label{fig:h1}} - \subfloat[Sync. imbalanced computations]{% + \subfloat[Synchronous imbalanced computations]{% \includegraphics[scale=0.49]{c1/compt}\label{fig:h2}} % \caption{Parallel tasks on homogeneous platform} \label{fig:homo} @@ -277,7 +283,7 @@ for a warehouse-sized computer. %%%%%%%%%%%%%%%%%%%% %% SLIDE 11 %% %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Energy model for homogeneous platform} +\begin{frame}{Energy model for a homogeneous platform} The power consumed by a processor divided into two power metrics: the dynamic (\textcolor{red}{$P_d$}) and static (\textcolor{red}{$P_s$}) power. \begin{equation} @@ -301,7 +307,7 @@ for a warehouse-sized computer. %% SLIDE 12 %% %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Energy model for homogeneous platform} +\begin{frame}{Energy model for a homogeneous platform} The frequency scaling factor is the ratio between the maximum and the new frequency, \textcolor{blue}{$S = \frac{F_{max}}{F_{new}}$}. \medskip @@ -312,12 +318,12 @@ for a warehouse-sized computer. \left( T_1 + \sum_{i=2}^{N} \frac{T_i^3}{T_1^2} \right) + P_{s} \cdot S_1 \cdot T_1 \cdot N$ \end{block} - \textcolor{blue}{$S_1$}: the max. scaling factor\\ - \textcolor{blue}{$P_{d}$}: the dynamic power\\ - \textcolor{blue}{$P_{s}$}: the static power\\ - \textcolor{blue}{$T_I$}: the time of the slower task\\ - \textcolor{blue}{$T_i$}: the time of the other tasks\\ - \textcolor{blue}{$N$}: the number of nodes + \textcolor{blue}{$S_1$}: the maximum scaling factor.\\ + \textcolor{blue}{$P_{d}$}: the dynamic power.\\ + \textcolor{blue}{$P_{s}$}: the static power.\\ + \textcolor{blue}{$T_I$}: the execution time of the slower task.\\ + \textcolor{blue}{$T_i$}: the execution time of task i.\\ + \textcolor{blue}{$N$}: the number of nodes. \end{frame} @@ -394,7 +400,7 @@ for a warehouse-sized computer. \begin{figure} \animategraphics[autopause,controls,scale=0.28,buttonsize=0.2cm]{10}{dvfs-homo/a-}{0}{159} - + %\includegraphics[width=0.6\textwidth]{dvfs-homo/a-159} \end{figure} \end{frame} @@ -405,10 +411,10 @@ for a warehouse-sized computer. \begin{femtoBlock}{} \begin{itemize} \small - \item The experiments are executed on the simulator SimGrid/SMPI v3.10.\medskip - \item The proposed algorithm is applied to the NAS parallel benchmarks.\medskip + \item The experiments were executed on the simulator SimGrid/SMPI v3.10.\medskip + \item The proposed algorithm was applied to the NAS parallel benchmarks.\medskip \item Each node in the cluster has 18 frequency values from \textbf{2.5$GHz$} to \textbf{800$MHz$}.\medskip - \item The proposed algorithm was evaluated over the A, B, C classes of the benchmarks using 4, 8 or 9 and 16 nodes respectively. \medskip + \item The proposed algorithm was evaluated over the A, B and C classes of the benchmarks using 4, 8 or 9 and 16 nodes respectively. \medskip \item $P_d=20W$, $P_s=4W$. \end{itemize} \end{femtoBlock} @@ -438,13 +444,15 @@ for a warehouse-sized computer. $S_{opt} = \sqrt[3]{\frac{2}{N} \cdot \frac{P_{dyn}}{P_{static}} \cdot \left( 1 + \sum_{i=2}^{N} \frac{T_i^3}{T_1^3}\right) } $ \end{block} + + \centering { %\includegraphics[width=.33\textwidth]{c1/c1.pdf} %\qquad %\includegraphics[width=.33\textwidth]{c1/c2.pdf}} - \includegraphics[width=.55\textwidth]{c1/compare_c.pdf}} + \includegraphics[width=.55\textwidth]{c1/compare-c.pdf}} \end{frame} @@ -456,6 +464,7 @@ for a warehouse-sized computer. \vspace{-0.75cm} \begin{figure} \animategraphics[autopause,controls,scale=0.28,buttonsize=0.2cm]{10}{homo-model/a-}{0}{356} + %\includegraphics[width=0.6\textwidth]{homo-model/a-356} \end{figure} \end{frame} @@ -463,7 +472,7 @@ for a warehouse-sized computer. %%%%%%%%%%%%%%%%%%%% %% SLIDE 21 %% %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Comparing the new model with Rauber model } +\begin{frame}{\large Comparing the new model with Rauber's model } \vspace{0.1cm} \centering \includegraphics[width=.45\textwidth]{c1/energy_con} @@ -496,13 +505,13 @@ for a warehouse-sized computer. %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Contribution} +\begin{frame}{The second contribution} -\section{\small {Energy optimization of heterogeneous platform}} +\section{\small {Energy optimization of a heterogeneous platform}} \begin{center} -\bf \Large \textcolor{blue}{Energy optimization of a parallel application with iterations running over Heterogeneous platform} +\bf \Large \textcolor{blue}{Energy optimization of a parallel application with iterations running over a Heterogeneous platform} \end{center} \end{frame} @@ -516,7 +525,7 @@ for a warehouse-sized computer. \begin{femtoBlock}{} \vspace{-12 mm} \begin{itemize} \small \item Proposing \textcolor{blue}{new energy and performance models} for message passing applications with iterations running - over a heterogeneous platform (cluster and Grid). \medskip + over a heterogeneous platform (cluster or Grid). \medskip \item Studying the effect of the scaling factor $S$ on both the \textcolor{blue}{energy consumption and the performance} of message passing iterative applications. \medskip @@ -576,6 +585,7 @@ for a warehouse-sized computer. \vspace{-0.5cm} \begin{figure} \animategraphics[autopause,controls,scale=0.28,buttonsize=0.2cm]{10}{heter-model/a-}{0}{272} + %\includegraphics[width=0.6\textwidth]{heter-model/a-272} \end{figure} \end{frame} @@ -626,6 +636,7 @@ for a warehouse-sized computer. \begin{figure} \animategraphics[autopause,controls,scale=0.28,buttonsize=0.2cm]{10}{dvfs-heter/a-}{0}{650} + % \includegraphics[width=0.6\textwidth]{dvfs-heter/a-650} \end{figure} \end{frame} @@ -638,11 +649,11 @@ for a warehouse-sized computer. \begin{frame}{Experiments over a heterogeneous cluster } \begin{itemize} \small - \item The experiments executed on the simulator SimGrid/SMPI v3.10.\medskip + \item The experiments were executed on the simulator SimGrid/SMPI v3.10.\medskip \item The scaling algorithm was applied to the NAS parallel benchmarks class C.\medskip \item Four types of processors with different computing powers were used.\medskip - \item We ran the benchmarks on different number of nodes ranging from 4 to 144 nodes.\medskip - \item The total power consumption of the chosen CPUs assumed to be composed of $80\%$ for the dynamic power and $20\%$ for the static power. + \item The benchmarks were executed with different number of nodes ranging from 4 to 144 nodes.\medskip + \item It was assumed that the total power consumption of the CPU consist of 80\% dynamic power and 20\% static power. \medskip \end{itemize} @@ -660,7 +671,7 @@ for a warehouse-sized computer. \includegraphics[width=0.8\textwidth]{c2/energy_saving.pdf} \textcolor{blue}{On average, it reduces the energy consumption by \textcolor{red}{29\%} - for the class C of the NAS benchmarks executed over 8 nodes} + for the class C of the NAS Benchmarks executed over 8 nodes} \end{figure} \end{frame} @@ -678,7 +689,7 @@ for a warehouse-sized computer. \includegraphics[width=.8\textwidth]{c2/perf_degra.pdf} \textcolor{blue}{On average, it degrades by \textcolor{red}{3.8\%} the performance - of NAS benchmarks class C executed over 8 nodes} + of NAS Benchmarks class C executed over 8 nodes} \end{figure} \end{frame} @@ -776,19 +787,21 @@ for a warehouse-sized computer. %% SLIDE 37 %% %%%%%%%%%%%%%%%%%%%% \begin{frame}{Experiments over Grid'5000} - \centering - + + \textcolor{blue}{The experiments were conducted using three + clusters distributed over one or two sites.} + \vspace{-7 mm} + \begin{center} \includegraphics[width=.5\textwidth]{c2/grid5000-2.pdf} - - \vspace{-3 mm} - \textcolor{blue}{Two experiments were conducted: over one site and two sites - each one with three clusters } - - \vspace{1mm} - + \end{center} + \vspace{-10 mm} + \textcolor{blue}{Grid'5000 power measurement tools were used.} + \vspace{-9 mm} + \begin{center} \includegraphics[width=.5\textwidth]{c2/power_consumption.pdf} + \end{center} - \textcolor{blue}{Grid'5000 power measurement tools were used} + \end{frame} @@ -802,7 +815,7 @@ for a warehouse-sized computer. \begin{minipage}{0.4\textwidth} %\textcolor{blue}{Execution the NAS class D on 16 nodes saves the energy by %\textcolor{red}{30\%}} - \textcolor{blue}{The energy saving = \textcolor{red}{30\%}} + \small \textcolor{blue}{The average energy saving = \textcolor{red}{30\%}} \end{minipage} \begin{minipage}{0.55\textwidth} \begin{figure}[h!] @@ -813,7 +826,7 @@ for a warehouse-sized computer. \begin{minipage}{0.4\textwidth} %\textcolor{blue}{Execution the NAS class D on 16 nodes degrades the %performance by \textcolor{red}{3.2\%}} - \textcolor{blue}{The performance degradation = \textcolor{red}{3.2\%}} + \small \textcolor{blue}{The average performance degradation = \textcolor{red}{3.2\%}} \end{minipage} \begin{minipage}{0.55\textwidth} \begin{figure}[h!] @@ -864,10 +877,10 @@ for a warehouse-sized computer. %%%%%%%%%%%%%%%%%%%% %% SLIDE 40 %% %%%%%%%%%%%%%%%%%%%% -\begin{frame}{Contribution} +\begin{frame}{The third contribution} \section{\small {Energy optimization of asynchronous applications}} \begin{center} -\bf \Large \textcolor{blue}{Energy optimization of asynchronous message passing iterative applications} +\bf \Large \textcolor{blue}{Energy optimization of asynchronous iterative message passing applications} \end{center} \end{frame} @@ -880,7 +893,8 @@ for a warehouse-sized computer. \textcolor{blue}{The execution of a synchronous parallel iterative application over a grid } \vspace{-8 mm} \begin{figure} - \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{syn/a-}{0}{503} + \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{syn/a-}{0}{503} + %\includegraphics[width=0.6\textwidth]{syn/a-503} \end{figure} \end{frame} @@ -893,7 +907,8 @@ for a warehouse-sized computer. \textcolor{blue}{The execution of an asynchronous parallel iterative application over a grid } \vspace{-8 mm} \begin{figure} - \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{asyn/a-}{0}{440} + \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{asyn/a-}{0}{440} + %\includegraphics[width=0.6\textwidth]{asyn/a-440} \end{figure} \end{frame} @@ -907,6 +922,7 @@ for a warehouse-sized computer. \vspace{-8 mm} \begin{figure} \animategraphics[autopause,controls,scale=0.25,buttonsize=0.2cm]{10}{asyn+dvfs/a-}{0}{314} + %\includegraphics[width=0.6\textwidth]{asyn+dvfs/a-314} \end{figure} \end{frame} @@ -1017,7 +1033,7 @@ for a warehouse-sized computer. \centering \includegraphics[scale=0.42]{c3/energy_saving.eps} - \centering The average of energy saving = \textcolor{red}{22\%} + \centering The average energy saving = \textcolor{red}{22\%} \end{frame} @@ -1047,8 +1063,8 @@ for a warehouse-sized computer. \includegraphics[width=0.53\textwidth]{c3/perf-deg-compare.eps} \end{figure} \vspace{-5 mm} - \centering -The energy saving = \textcolor{red}{26.93\%}, the average speed-up = \textcolor{red}{21.48\%} + \centering \footnotesize +The average energy saving = \textcolor{red}{26.93\%}, the average speed-up = \textcolor{red}{21.48\%} \end{frame} @@ -1072,21 +1088,21 @@ The energy saving = \textcolor{red}{26.93\%}, the average speed-up = \textcolor \section{Conclusions and Perspectives} \begin{itemize} -\small \barrow Three \textcolor{blue}{ new energy consumption and performance} models were proposed for synchronous and asynchronous parallel applications with iterations running over -\textcolor{blue}{homogeneous and heterogeneous clusters and grids}. +\small \barrow Three \textcolor{blue}{ new energy consumption and performance} models were proposed for synchronous or asynchronous parallel applications with iterations running over +\textcolor{blue}{homogeneous and heterogeneous clusters or grids}. -\small \barrow \textcolor{blue}{A new objective function} was proposed to optimize both the energy consumption and the performance. +\small \barrow \textcolor{blue}{A new objective function} to optimize both the energy consumption and the performance was proposed. \small \barrow \textcolor{blue}{New online frequency selecting algorithms} for clusters and grids were developed. \small \barrow The proposed algorithms were applied to the \textcolor{blue}{NAS parallel benchmarks} and \textcolor{blue}{the Multi-splitting} method. -\small \barrow The proposed algorithms were evaluated over the \textcolor{blue}{SimGrid simulator} and over \textcolor{blue}{Grid'5000 testbed}. +\small \barrow The proposed algorithms were evaluated over the \textcolor{blue}{SimGrid simulator} and over the \textcolor{blue}{Grid'5000 testbed}. -\small \barrow All the proposed methods were compared to either \textcolor{blue}{Rauber and Rünger's method} or \textcolor{blue}{the EDP objective function}. +\small \barrow All the proposed methods were compared to either \textcolor{blue}{Rauber and Rünger's method} or to the \textcolor{blue}{EDP objective function}. \end{itemize}