X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAhmed.git/blobdiff_plain/9d87ab2b1a5d770f166a68a69816a9e5f9406446..c82561816531e7092e9f8a3751df2408d3f91f68:/INTRODUCTION.tex diff --git a/INTRODUCTION.tex b/INTRODUCTION.tex index 3ee76fc..da10810 100644 --- a/INTRODUCTION.tex +++ b/INTRODUCTION.tex @@ -6,27 +6,96 @@ \section*{1. General Introduction} \addcontentsline{toc}{section}{1. General Introduction } +The need and the demand for more computing power have been increasing since the +birth of the first computing unit and they are not expected to slow down in the +coming years. To meet these demands, at first the frequency of the CPU was regularly increased until reaching the thermal limit. Then, researchers and supercomputers +constructors have been regularly increasing the number of computing cores and +processors in supercomputers. Many parallel and distributed architectures, such as multi-core, clusters and grids, were implemented in order to obtain more computing power. This approach consists in using at the same time many computing nodes to solve a big problem that cannot be solved on a single node. +These two approaches are the most common up to now to get more computing power, but they increase the energy consumption of the resulting computing architecture. +Indeed, the power consumed by a processor exponentially increases when its frequency is increased and a platform consisting of $N$ computing nodes consumes as much as the sum of the power consumed by each computing node. +As an example, the Chinese supercomputer +Tianhe-2 had the highest FLOPS in November 2015 according to the Top500 list +\cite{ref101}. However, it was also the most power hungry +platform with more than 3 million cores consuming around 17.8 megawatts. +Moreover, according to the U.S. annual energy outlook 2015 +\cite{ref102}, the price of energy for 1 megawatt per hour +was approximately equal to \$70. Therefore, the price of the energy consumed by +the Tianhe-2 platform is approximately more than \$10 million each year. +Moreover, the platform generates a lot of heat and to prevent it from overheating a cooling +infrastructure \cite{ref103} which consumes a lot of energy must be implemented. + High CPU's temperatures can also drastically increase its energy consumption, see \cite{ref104} for more details. +An efficient computing platform must offer the highest number +of FLOPS per watt possible, such as the Shoubu-ExaScaler from RIKEN +which became the top of the Green500 list in November 2015 \cite{ref105}. +This heterogeneous platform executes more than 7 GFlops per watt while only consuming +50.32 kilowatts. + +For all these reasons energy reduction has become an important topic in the high performance +computing (HPC) field. To tackle this problem, many researchers use DVFS (Dynamic +Voltage and Frequency Scaling) operations which reduce dynamically the frequency and +voltage of cores and thus their energy consumption \cite{ref49}. +Indeed, modern CPUs offer a set of acceptable frequencies which are usually called gears, and the user or +the operating system can modify the frequency of the processor according to its +needs. However, DVFS reduces the number of FLOPS executed by the processor which may increase the execution +time of the application running over that processor. +Therefore researchers try to reduce the frequency to the minimum when processors are idle +(waiting for data from other processors or communicating with other processors). +Moreover, depending on their objectives, they use heuristics to find the best +frequency scaling factor during the computation. If they aim for performance they choose +the best frequency scaling factor that reduces the consumed energy while affecting as +little as possible the performance. On the other hand, if they aim for energy +reduction, the chosen frequency scaling factor must produce the most energy efficient +execution without considering the degradation of the performance. Whereas, it is +important to notice that lowering the frequency to the minimum value does not always +give the most energy efficient execution due to energy leakage that increases the total energy consumption of the CPU when the execution time increases. However, a more important question is how to select the best frequency gears that minimize the total energy consumption and the maximize the performance of a parallel application, running over a parallel platform, at the same time? + + + \section*{2. Motivation of the Dissertation} \addcontentsline{toc}{section}{2. Motivation of the Dissertation } -\section*{3. The Objective of this Dissertation} -\addcontentsline{toc}{section}{3. The Objective of this Dissertation} +The main objective of an HPC system such as clusters, grids and supercomputers is to execute as fast as possible a given task over that system. +Hence, using DVFS to scale down the frequencies of the CPUs composing the system to reduce their energy consumption, it can also significantly degrade the performance of the executed program, especially if it is compute bound. A compute bound program contain a lot of computations and a relatively small amount of communicators and Inputs/Outputs operations. The execution time of the program is directly dependent on +the computing powers of the CPUs and their selected frequencies. +Therefore, the chosen frequency scaling factor must give the best possible trade-off between the energy reduction and the performance of the parallel application. + +On the other hand, the relation between energy consumption and the execution time of parallel applications is complex and non-linear. It is very hard to optimize both the energy consumption and the performance of parallel applications when scaling the frequency of the processors executing them because one affects the other. In order to evaluate the impact of scaling down the CPU's frequency on its energy consumption and computing power, mathematical models should be defined to predict them for different frequencies. + + +Furthermore, researchers use different optimization strategies to select the frequencies of the CPUs. They might be executed during the execution of the application (online) or during a pre-execution phase (offline). In our opinion a good approach should minimize the energy consumption while preserving the performance at the same time. Finally, it should also be applied to the application during its execution without requiring any training or profiling and with minimal overhead. \section*{3. Main Contributions of this Dissertation} \addcontentsline{toc}{section}{3. Main Contributions of this Dissertation} +The main objective of this work is to minimize the energy consumption of parallel applications with iterations running over clusters and grids while preserving their performance. The main contributions of this work can be summarized as follows: - -%\section{Methodology} -%In this dissertation, analytical, as well as computational, methods are used. +\begin{enumerate} [I)] +\item Energy consumption and performance models for synchronous and asynchronous message passing applications with iterations were developed. These models take into consideration both the computation and communications times of these applications in addition to their relation to the frequency scaling factors. -% \section{ Refereed Journal and Conference Publications} +\item The parallel applications with iterations were executed over different parallel architectures such as: homogeneous local cluster, heterogeneous local cluster and distributed clusters (grid platform). The main goal behind using these different platforms is to study the effect of the heterogeneity in the computing powers of the the commuting nodes and the heterogeneity in the communication networks which connect these nodes on the energy consumption and the performance of parallel applications with iterations. + +\item Depending on the proposed energy consumption and the performance models, a new objective function to optimize both the energy consumption and the performance of the parallel applications with iterations at the same were defined. It computes the maximum distance between the predicted energy consumption and the predicted performance curves to define the best possible trade-off between them. + +\item New online frequency selecting algorithms for clusters and grids were developed. They use the new objective function and select the frequency scaling factors that simultaneously optimize both the energy consumption and performance. They have a very small overhead when comparing them to other methods in the state of the art and they work without training and profiling. + + +\item The proposed algorithms were applied to the NAS parallel benchmarks \cite{ref65} and the Multi-splitting method. These applications offer different computations to communications ratios and a good testbed to evaluate the proposed algorithm in different scenarios. + +\item The proposed algorithms were evaluated over the SimGrid simulator \cite{ref66} which offers flexible and easy tools to built different types of parallel architectures. Furthermore, real experiments were conducted over Grid'5000 testbed \cite{ref21} and compared with the simulated ones. +The experiments were conducted over different number of nodes and different platform scenarios. + +\item All the proposed methods were compared with either Rauber and Rünger \cite{ref47} method or Spiliopoulos et al. \cite{ref67} objective function. Both the simulation and real experiments showed that the proposed methods give better energy to performance trade-offs than the other methods. +\end{enumerate} + \section*{4. Dissertation Outline} \addcontentsline{toc}{section}{4. Dissertation Outline} +The dissertation is organized as follows: chapter \ref{ch1} presents different types of parallel architectures and parallel applications with iterations. It also presents an energy consumption model from the state of the art that can be used to measure the energy consumption of these applications. +Chapter \ref{ch2} describes the proposed energy and performance optimization method for synchronous applications with iterations running over homogeneous clusters. Chapter \ref{ch3} presents two algorithms for the energy and performance optimization of synchronous applications with iterations running over heterogeneous clusters and grids. In chapter \ref{ch4} the energy and performance models and the optimization method are adapted for asynchronous iterative applications running over grids. Finally, this dissertation ends with a summary and some perspective works. + \ No newline at end of file