]> AND Private Git Repository - ThesisAhmed.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
adding some changes
authorafanfakh <afanfakh@fanfakh.afanfakh>
Thu, 23 Jun 2016 15:23:16 +0000 (17:23 +0200)
committerafanfakh <afanfakh@fanfakh.afanfakh>
Thu, 23 Jun 2016 15:23:16 +0000 (17:23 +0200)
41 files changed:
ACRONYMS.tex
Abstruct.tex
CHAPITRE_01.tex
CHAPITRE_02.tex
CHAPITRE_03.tex
CHAPITRE_04.tex
CONCLUSION.tex
Dedication.tex
INTRODUCTION.tex
PUBLICATIONS.tex
Thesis.tex
entete.tex
fig/ch3/dist-eps-converted-to.pdf
fig/ch3/dist.eps
fig/ch3/dist_mc-eps-converted-to.pdf
fig/ch3/dist_mc.eps
fig/ch3/dist_pow-eps-converted-to.pdf
fig/ch3/dist_pow.eps
fig/ch3/edp_dist-eps-converted-to.pdf
fig/ch3/edp_dist.eps
fig/ch3/edp_eng-eps-converted-to.pdf
fig/ch3/edp_eng.eps
fig/ch3/edp_per-eps-converted-to.pdf
fig/ch3/edp_per.eps
fig/ch3/energy-eps-converted-to.pdf
fig/ch3/energy.eps
fig/ch3/eng_pow-eps-converted-to.pdf
fig/ch3/eng_pow.eps
fig/ch3/eng_s-eps-converted-to.pdf
fig/ch3/eng_s.eps
fig/ch3/eng_s_mc-eps-converted-to.pdf
fig/ch3/eng_s_mc.eps
fig/ch3/per_d-eps-converted-to.pdf
fig/ch3/per_d.eps
fig/ch3/per_d_mc-eps-converted-to.pdf
fig/ch3/per_d_mc.eps
fig/ch3/per_deg-eps-converted-to.pdf
fig/ch3/per_deg.eps
fig/ch3/per_pow-eps-converted-to.pdf
fig/ch3/per_pow.eps
upmext-spimufcphdthesis.cfg

index a18d0caaa46bd3112d7f459a339c9cfbcafd46ee..8546dcf7ab0bc0b7bc9258645fb56224f259b7ea 100644 (file)
@@ -1,3 +1,5 @@
+
+
 \chapter*{abbreviations \markboth{abbreviations}{abbreviations}}
 \label{chap}
 \addcontentsline{toc}{chapter}{List of Abbreviations}
@@ -28,9 +30,9 @@
 \item[GPU]   \textbf{G}raphical \textbf{P}rocessing \textbf{U}nit
 \item[HSA]   \textbf{H}eterogeneous \textbf{S}caling \textbf{A}lgorithm
 \item[ILP]   \textbf{I}nstruction \textbf{L}evel \textbf{P}arallelism
-\item[LAN]   \textbf{L}ocal \textbf{A}rea Network
+\item[LAN]   \textbf{L}ocal \textbf{A}rea \textbf{N}etwork
 \item[LLP]   \textbf{L}oop \textbf{L}evel \textbf{P}arallelism
-\item[LU]     \textbf{L}ower-\textbf{U}pper Symmetric Gauss-Seidel
+\item[LU]     \textbf{L}ower-\textbf{U}pper 
 \item[MaxDist] \textbf{Max}imum \textbf{Dist}ance
 \item[MG]     \textbf{M}ulti-\textbf{G}rid
 \item[MIMD]   \textbf{M}ultiple \textbf{I}nstruction and \textbf{M}ultiple \textbf{D}ata
@@ -40,8 +42,8 @@
 \item[MS]     \textbf{M}ulti-\textbf{S}plitting 
 \item[NAS]    \textbf{N}umerical \textbf{A}eronautical \textbf{S}imulation 
 \item[NASA]   \textbf{N}ational \textbf{A}eronautics and \textbf{S}pace \textbf{A}dministrations 
-\item[OPENCL] \textbf{O}pen \textbf{C}omputing \textbf{L}anguage
-\item[OPENMP] \textbf{O}pen \textbf{M}ulti-\textbf{P}rocessing
+\item[OPENCL] \textbf{Open} \textbf{C}omputing \textbf{L}anguage
+\item[OPENMP] \textbf{Open} \textbf{M}ulti-\textbf{P}rocessing
 \item[RENATER] \textbf{Ré}seau \textbf{Na}tional de \textbf{T}élécommunications pour la \textbf{T}echnologie, \newline\hspace*{3em}
  l'\textbf{E}nseignement et la \textbf{R}echerche
 \item[SIAC]    \textbf{S}ynchronous \textbf{I}terations and \textbf{A}synchronous \textbf{C}ommunications 
index 9aa1432b7eb1de291b3a6caf6523b457f497e888..4c99eb337d6e424fd9cbc03bb554cbe778a1a7e2 100644 (file)
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
-\emph{ \begin{center} \Large Energy Consumption Optimization of Parallel Iterative Applications using CPU Frequency Scaling\end{center}}   
+\emph{ \begin{center} \Large Energy Consumption Optimization of Parallel  Applications with Iterations using CPU Frequency Scaling\end{center}}   
 %\emph{ \begin{center} \large By \end{center}}  
-\emph{ \begin{center} \large Ahmed Badri Muslim Fanfakh \\ University of Franche-Comt\'e, 2016 \end{center}} 
+\emph{ \begin{center} \large Ahmed Badri Muslim FANFAKH \\ University of Franche-Comt\'e, 2016 \end{center}} 
 %\emph{ \begin{center} \large The University of Franche-Comt\'e, 2015 \end{center}}  
-\emph{ \begin{center} \large Supervisors: Raphaël Couturier, Jean-Claude Charr and Arnaud Giersch \end{center}}  
+\emph{ \begin{center} \large Supervisors: Raphaël Couturier and Jean-Claude Charr  \end{center}}  
 
   
 In recent years, green computing has become an important topic in the supercomputing
-research domain. However, the computing platforms are still consuming more and more energy due to the increasing number of nodes composing them. 
+research domain. However, the computing platforms are still consuming more and more energy due to the increase in the number of nodes composing them. 
 To minimize the operating costs of these platforms many techniques have
 been used. Dynamic voltage and frequency scaling (DVFS) is one of them. It
 can be used to reduce the power consumption of the CPU while computing, by
 lowering its frequency. However, lowering the frequency of a CPU may increase
-the execution time of an application running on that processor. Therefore, the
+the execution time of the application running on that processor. Therefore, the
 frequency that gives the best trade-off between the energy consumption and the
 performance of an application must be selected.
-In this thesis, a set of works  are presented to optimize the energy consumption  
-and the performance of the synchronous and asynchronous message passing iterative applications running over clusters and grids.  The energy consumption and performance models for each type of iterative application 
-are well modelled and defined according to the characteristics of both the application  itself and  the  parallel architecture executing this application. 
+This thesis, presents the algorithms developed  to optimize the energy consumption  
+and the performance of  synchronous and asynchronous message passing  applications with iterations  running over clusters or grids.  The energy consumption and performance models for each type of parallel  application predicts its execution time and energy consumption for any selected frequency 
+according to the characteristics of both the application  and  the  architecture executing this application.
 
-Firstly, we propose a frequency scaling factors selection algorithm for synchronous iterative applications running over a homogeneous platform. It is  applied to the NAS parallel benchmarks  and stimulated by SimGrid simulator. 
-Secondly, we develop two frequency scaling factors selection algorithms for synchronous iterative applications running over a heterogeneous cluster and grid. Both algorithms are implemented to the NAS parallel benchmarks and conducted over SimGrid simulator and Grid'5000 testbed. 
-Thirdly, we propose a frequency scaling factors selection algorithm for an asynchronous and a hybrid  iterative applications running over a grid. The algorithm is evaluated over SimGrid simulator and Grid'5000 testbed while running a multi-splitting application that solves 3D problem. 
-All the proposed algorithms are compared to an existing  methods, which are the Rauber and Rünger and the energy and delay products (EDP) methods. The comparison results show that all the proposed algorithms  give better energy consumption and performance trade-off results. The proposed algorithms  have a very small overhead on the execution time of the applications and they work online without training and profiling. 
 
-\textbf{KEY WORDS:} Dynamic voltage and frequency scaling, Grid computing,  Energy optimization, iterative applications and frequency scaling online algorithm.
\ No newline at end of file
+The contribution of this thesis can be divided into three parts: Firstly, optimizing the trade-off between 
+the energy consumption and the performance of the message passing applications with synchronous iterations 
+running over homogeneous clusters. Secondly, adapting the energy and performance models to heterogeneous platforms where each node can have different specifications such as computing power, energy consumption, available frequency gears or network's latency and bandwidth. The frequency scaling algorithm was also modified to suit the heterogeneity of the platform. Thirdly, the models and the frequency scaling algorithm were completely rethought to take into considerations the asynchronism in the communication and computation. 
+All these models and algorithms were applied to message passing applications with iterations and evaluated 
+over either SimGrid simulator or Grid'5000 platform. The experiments showed that the proposed algorithms are 
+efficient and outperform existing methods such as the energy and delay product. They also introduce a small 
+runtime overhead and work online without any training or profiling. 
+
+\textbf{KEY WORDS:} Dynamic voltage and frequency scaling, Grid computing,  Energy optimization, parallel applications with iterations  and online frequency scaling algorithm.
\ No newline at end of file
index c3b064142dfd0812f95f522c8da83e1ba9abdc11..cc23717765e321288e5562d3bb956f3715e9a591 100644 (file)
@@ -323,8 +323,8 @@ some examples for each type of the parallel programming models are discussed:
 
 \section{Iterative Methods} 
 \label{ch1:3}
-In this work, we are interested in solving linear equations which are well known in the scientific area.
-It is generally expressed in the following form:
+In this work, we are interested in solving system of linear equations which are very common in the scientific field. A system of linear equations can be expressed as follows:
+
 
 \begin{equation}
   \label{eq:linear}
@@ -332,14 +332,14 @@ It is generally expressed in the following form:
 \end{equation}
 
 Where $A$ is a two dimensional matrix of size $N \times N$, $x$ is the unknown vector,
-and $b$ is a vector of constant, each of size $N$. There are two types of solution methods to solve this linear system.
-The first type of methods is called \textbf{Direct methods}, which consist of a finite number of steps depending on the 
-size  of the linear system to give the exact solution. If the problem size is very big, these methods are expensive or their
-solutions are impossible in some cases.  The second type is called \textbf{Iterative methods}, which computes 
-the same block of  operations  several times, starting from the initial vector until reaching the acceptable 
-approximation  of the exact solution. However, they can be effectively applied in parallel. Moreover, iterative methods can be used to solve both  linear and non-linear equations.
+and $b$ is a vector of constant, each of size $N$. There are two types of solution methods to solve this linear system: the \textbf{direct} and the \textbf{iterative methods}.
+A direct method executes a finite number of steps, depending on the 
+size  of the linear system and gives the exact solution of the system. If the problem  is very big, this method is expensive or its
+solution is impossible in some cases.  On the other hand, methods with iterations execute the same block of instructions many times. The number of iterations can be predefined or the application iterates until a criterion is satisfied. Iterative methods are methods with iterations that start from an initial guess and 
+improve successively the solution until reaching an acceptable approximation of the exact solution. 
+These methods are well adapted for large systems and can be easily parallelized. 
 
-The sequential iterative algorithm is typically organized as a series of steps essentially  of the form:
+A sequential iterative algorithm is typically organized as a series of steps essentially  of the form:
 
 \begin{equation}
   \label{eq:iter}
@@ -372,6 +372,7 @@ The sequential iterative algorithm at each iteration computes the value of the r
 \end{equation}  
 Where $N$ is the size of the vector $X$. Then, the iterative sequential algorithm stops  iterating if the maximum error between the last two successive solution vectors, as in \ref{eq:res}, is less than or equal to a threshold value. Otherwise, it replaces the new vector $X^{(k+1)}$ with the old vector $X^k$ and computes a new iteration.
 
+
 \subsection{Synchronous Parallel Iterative method} 
 \label{ch1:3:1}
 The sequential iterative algorithm \ref{sia} can be parallelized by executing it on many computing units. To solve this algorithm on $M$ computing units, first the elements of the problem vector $X$ must be subdivided into $M$ sub-vectors, $X^k=(X_1^k,\dots,X_M^k)$. 
index 48ea63c809cecf59d4bd3cc5d4615b30d5e81a66..c6a9a2998be6487400b0bb6e952ee883c3fb3524 100644 (file)
@@ -54,8 +54,8 @@ model for homogeneous platforms from other researchers.  Section~\ref{ch2:3} des
 performance of MPI programs can be predicted.  Section~\ref{ch2:4} presents
 the energy-performance objective function that maximizes the reduction of energy
 consumption while minimizing the degradation of the program's performance.
-Section~\ref{ch2:5} details the algorithm that returns the scaling factor that gives the best energy-performance
-trade-off for a parallel iterative application.
+Section~\ref{ch2:5} details the algorithm that returns the scaling factor that gives the best energy-performance 
+trade-off for a parallel  application with iterations
 Section~\ref{ch2:6} verifies the accuracy of the performance prediction model
 and presents the results of the proposed algorithm.  It also shows the
 comparison results between our method and other existing methods.  
@@ -219,7 +219,7 @@ This model  computes the frequency scaling factor which minimizes the energy con
 \section{Performance evaluation of MPI programs}
 \label{ch2:3}
 
-The execution time of a parallel synchronous iterative application is equal
+The execution time of a parallel synchronous  application with iteration is equal
 to the execution time of its slowest task as in figure~(\ref{fig:homo}).  
 If there is no communication in the application and it is not data bounded, the execution time of this 
 parallel application is linearly proportional to the operational frequency. Any 
@@ -420,6 +420,8 @@ two successive frequencies.  The simulated network link is 1 GB Ethernet
   \end{tabular}
   \label{table:platform-homo}
 \end{table}
+
+
 \subsection{Performance prediction verification}
 \label{ch2:6:1}
 In this section, the precision of the proposed performance prediction method 
@@ -444,7 +446,9 @@ maximum frequency by the new one see EQ~(\ref{eq:s}).
 In our cluster there are 18 available frequency states for each processor.  This
 leads to 18 run states for each program.  Seven MPI programs of the NAS
 parallel benchmarks were used: CG, MG, EP, FT, BT, LU and SP. Table \ref{table:NAS-dec} shows 
-the description of these seven benchmarks. 
+the description of these seven benchmarks. Some of these benchmarks are considered  MPI parallel applications with synchronous iterations  or iterative applications that repeat the same block of instructions until convergence. 
+However,  the proposed method can be applied to any application that executes the same block
+of instructions many times and it is not limited to iterative methods. 
 Figure~(\ref{fig:pred}) presents plots of the real execution times compared to the simulated ones.  The maximum
 normalized error between these two execution times varies between 0.0073 to
 0.031 depending on the executed benchmark.  The smallest prediction error
@@ -457,13 +461,19 @@ was for CG and the worst one was for LU.
 \begin{tabular}{|l|l|l|}
 \hline
 Benchmark & Full Name                                                                     & Description                                                                                                                                                                                                                                                                     \\ \hline
-CG        & Conjugate Gradiant                                                            & \begin{tabular}[c]{@{}l@{}}Estimate the smallest eigenvalue of a large \\ sparse  symmetric positive-definite matrix \\ using the  inverse iteration with the conjugate \\ gradient method as a subroutine for solving \\ systems of linear equations\end{tabular}              \\ \hline
-MG        & MultiGrid                                                                     & \begin{tabular}[c]{@{}l@{}}Approximate the solution to a three-dimensional \\ discrete Poisson equation using the V-cycle \\ multigrid method\end{tabular}                                                                                                                      \\ \hline
-EP        & Embarrassingly Parallel                                                       & \begin{tabular}[c]{@{}l@{}}Generate independent Gaussian random \\ variates using the Marsaglia polar method\end{tabular}                                                                                                                                                       \\ \hline
-FT        & Fast Fourier Transform                                                        & \begin{tabular}[c]{@{}l@{}}Solve a three-dimensional partial differential\\ equation (PDE) using the fast Fourier transform \\ (FFT)\end{tabular}                                                                                                                               \\ \hline
-BT        & Block Tridiagonal                                                             & \multirow{3}{*}{\begin{tabular}[c]{@{}l@{}}Solve a synthetic system of nonlinear PDEs \\ using three different algorithms involving \\ block tridiagonal, scalar pentadiagonal and \\ symmetric successive over-relaxation \\ (SSOR) solver kernels, respectively\end{tabular}} \\ \cline{1-2}
+CG        & Conjugate Gradiant                                                            & \begin{tabular}[c]{@{}l@{}}
+It solves a system of linear equations by estimating\\ the smallest eigenvalue of a large sparse  matrix \end{tabular}\\ \hline
+
+MG        & MultiGrid                                                                     & \begin{tabular}[c]{@{}l@{}}It uses the multigrid method to approximate the solution \\of a three-dimensional discrete Poisson equation\end{tabular}                                                                                                                     
+ \\ \hline
+EP       & Embarrassingly Parallel                                                       & \begin{tabular}[c]{@{}l@{}} It applies the Marsaglia polar method to randomly \\generates independent Gaussian variates
+\end{tabular}                                                                                                                                                       \\ \hline
+FT        & Fast Fourier Transform                                                        & \begin{tabular}[c]{@{}l@{}}It uses the fast Fourier transform to solve a \\ three-dimensional partial differential equation
+
+\end{tabular}                                                                                                                               \\ \hline
+BT        & Block Tridiagonal                                                             & \multirow{3}{*}{\begin{tabular}[c]{@{}l@{}} \\They solve nonlinear partial differential equations \end{tabular}} \\ \cline{1-2}
 LU        & \begin{tabular}[c]{@{}l@{}}Lower-Upper symmetric \\ Gauss-Seidel\end{tabular} &                                                                                                                                                                                                                                                                                 \\ \cline{1-2}
-SP        & \begin{tabular}[c]{@{}l@{}}Scalar \\ Pentadiagonal\end{tabular}               &                                                                                                                                                                                                                                                                                 \\ \hline
+SP        & \begin{tabular}[c]{@{}l@{}}Scalar Pentadiagonal\end{tabular}               &                                                                                                                                                                                                                                                                                 \\ \hline
 \end{tabular}
 \end{table}
 
@@ -669,8 +679,8 @@ Therefore, the energy consumption model of $N$ parallel task executed  synchrono
 \end{equation}
  
 According to this model, the frequency scaling factor $S$ reduces the energy consumption of the homogeneous architecture by a factor of $S^{-2}$ and increases the execution time by a factor of  $S$.
-This model can be used to predict the energy consumption of the message passing synchronous iterative applications after gathering the computation and communication times of the first iteration.
-Furthermore, it can be used to measure the energy consumption of the iterative application by multiplying the energy consumed of all tasks in  one iteration  by the number of the iterations. 
+This model can be used to predict the energy consumption of the message passing   applications with synchronous iterations after gathering the computation and communication times of the first iteration.
+Furthermore, it can be used to measure the energy consumption of the parallel  application with iterations  by multiplying the energy consumed of all tasks in  one iteration  by the number of the iterations. 
 
 This model is used by the algorithm \ref{EPSA}  to predict the energy consumption and to select the optimal frequency scaling factor. The new frequency $F_i$ can be computed as in \ref{eq:fi} while using the new selected frequency scaling factor.         
 In the next section,  algorithm \ref{EPSA} is re-evaluated while using this new energy model and the new results are presented.
@@ -734,7 +744,7 @@ have applied it to the NAS benchmarks and it was compared to the Rauber and Rün
 method while being executed on the SimGrid simulator.  The results showed that
 our method, outperforms the Rauber and Rünger's method in terms of energy-performance
 ratio. Finally, this chapter presents a new energy consumption model for  parallel
-synchronous iterative methods running on homogeneous clusters. This model takes into consideration 
+  applications with synchronous iterations running on homogeneous clusters. This model takes into consideration 
 both  the computation and communication times and their relation with the frequency scaling 
 factor. The results obtained using the new energy model have shown that different frequency scaling factors 
 were  selected which gave new experimental results that are more accurate and realistic.
\ No newline at end of file
index 27d95ecb0c5c36a5aa89295f4ef0876050a8ef00..953bcfcf71a9a7027f67bccae389933b7cae6421 100644 (file)
   clusters (heterogeneous CPUs)  and grid platforms are presented.  
   They select the frequencies that try to give the best
   trade-off between energy saving and performance degradation, for each node
-  computing the synchronous message passing iterative application. These algorithms have a small
+  computing the synchronous message passing  application with iterations. These algorithms have a small
   overhead and work without training or profiling. They use new energy models
-  for  message passing iterative synchronous applications running on both the heterogeneous
+  for  message passing  synchronous applications with iterations running on both the heterogeneous
   local cluster and the grid platform. The first proposed algorithm for a heterogeneous local 
   cluster was evaluated on the SimGrid simulator while running the class C of the NAS parallel
   benchmarks. The experiments conducted  over 8 heterogeneous nodes show that it reduces on 
   average the energy consumption by  29.8\%  while limiting the performance degradation to 3.8\%.  
   The second proposed algorithm for a grid platform was evaluated on the Grid5000 testbed 
   platform  while running the class D of the NAS parallel benchmarks.
-  The experiments were run on 16 nodes, distributed on three clusters, and show that it reduces  
+  The experiments were run on 16 nodes, distributed on three clusters, and show that the algorithm reduces  
   on average the energy consumption by 30\% while  the performance  is on average only degraded
    by 3.2\%.  
   Finally, both algorithms were compared to the EDP method. The comparison 
@@ -96,13 +96,12 @@ Section~\ref{ch3:3} shows the energy and performance models in addition to the f
 selecting algorithm of synchronous message passing programs running over a grid platform.
 Section~\ref{ch3:4} presents the results of applying the algorithm on the 
 NAS parallel benchmarks (class D) and executing them on the Grid'5000 testbed. 
-The algorithm is also evaluated over multi-core architectures and over three different power scenarios. Moreover, section~\ref{ch3:4}, shows the comparison results between the proposed method and the EDP method.
+The algorithm is also evaluated over multi-core architectures and over three different power scenarios. Moreover, Section~\ref{ch3:4}, shows the comparison results between the proposed method and the EDP method.
 Finally, in Section~\ref{ch3:concl}  the chapter ends with a summary.
 
 \section{Related works}
 \label{ch3:relwork}
 
-As same as in CPUs, DVFS is also allowed in GPUs to reduce their energy consumption. 
 The process of selecting the appropriate frequency for a
 processor to satisfy some objectives, while taking into account all the
 constraints, is not a trivial operation.  Many researchers used different
@@ -119,7 +118,7 @@ sequential, parallel or distributed architecture, homogeneous or heterogeneous
 platform, synchronous or asynchronous application, \dots{}
 
 In this chapter, we are interested in reducing the energy consumption when running a message passing
-iterative synchronous applications  over a heterogeneous platform.  Some
+synchronous applications with iterations over a heterogeneous platform.  Some
 works have already been done for such platforms which can be classified into
 two types of heterogeneous platforms:
 \begin{itemize}
@@ -166,8 +165,8 @@ while respecting the given time constraint.  This approach had considerable
 overhead.  In contrast to the above described works, the work of this chapter presents the
 following contributions:
 \begin{enumerate}
-\item two new energy and two performance models for message passing iterative
-  synchronous applications running over a heterogeneous local cluster and a grid platform. 
+\item two new energy and two performance models for message passing 
+  synchronous applications with iterations running over a heterogeneous local cluster and a grid platform. 
   All the models take into account the communications and the slack times. The models can predict the
   energy  consumption and the execution time of the application.
 
@@ -175,18 +174,18 @@ following contributions:
   local cluster and a grid platform. The algorithms have a very small overhead and do not need any
   training or profiling. They use a new optimization function which
   simultaneously maximizes the performance and minimizes the energy consumption
-  of a message passing iterative synchronous application.
+  of a message passing synchronous application with iterations.
 \end{enumerate}
 
-\section[The energy optimization of a heterogeneous cluster]{The energy optimization of parallel iterative applications running over local heterogeneous 
+\section[The energy optimization of a heterogeneous cluster]{The energy optimization of parallel  applications with iterations running over local heterogeneous 
 clusters}
 \label{ch3:1}
 
-\subsection{The execution time of message passing distributed iterative
-  applications on a heterogeneous local cluster}
+\subsection{The execution time of message passing distributed 
+  applications with iterations on a heterogeneous local cluster}
 \label{ch3:1:1}
 In this section, we are interested in reducing the energy consumption of message
-passing distributed iterative synchronous applications running over heterogeneous local clusters. 
+passing distributed synchronous applications with iterations running over heterogeneous local clusters. 
 In this work, a heterogeneous local cluster is defined as a collection of
 heterogeneous computing nodes interconnected via a high speed homogeneous
 network. Therefore, the nodes may have different characteristics such as computing
@@ -200,7 +199,7 @@ have the same network bandwidth and latency.
   \label{fig:task-heter}
 \end{figure}
 
-The overall execution time of a distributed iterative synchronous application
+The overall execution time of a distributed synchronous application with iterations 
 over a heterogeneous local cluster consists of the sum of the computation time and
 the communication time for every iteration on a node. However, due to the
 heterogeneous computation power of the computing nodes, slack times may occur
@@ -227,8 +226,8 @@ Since in a heterogeneous cluster the nodes may have different characteristics,
 especially different frequency gears, when applying DVFS operations on these
 nodes, they may get different scaling factors represented by a scaling vector:
 $(S_1, S_2,\dots, S_N)$ where $S_i$ is the scaling factor of processor $i$. To
-be able to predict the execution time of message passing synchronous iterative
-applications running over a heterogeneous local cluster, for different vectors of
+be able to predict the execution time of message passing synchronous 
+applications with iterations running over a heterogeneous local cluster, for different vectors of
 scaling factors, the communication time and the computation time for all the
 tasks must be measured during the first iteration before applying any DVFS
 operation. Then the execution time for one iteration of the application with any
@@ -242,27 +241,27 @@ where $\TcpOld[i]$ is the computation time of processor $i$ during the first
 iteration.  The model computes the maximum computation time with
 scaling factor from each node added to the communication time of the slowest
 node. It means only the communication time without any slack time is taken into
-account.  Therefore, the execution time of the iterative application is equal to
+account.  Therefore, the execution time of the  application with iterations is equal to
 the execution time of one iteration as in (\ref{eq:perf_heter}) multiplied by the
 number of iterations of that application.
 
 This prediction model is improved from the model that predicts the execution time
 of message passing distributed applications for homogeneous
-architectures presented in chapter \ref{ch2} section \ref{ch2:3}.  The execution time prediction model is
+architectures presented in Chapter \ref{ch2} Section \ref{ch2:3}.  The execution time prediction model is
 used in the method that optimizes both the energy consumption and the performance
-of iterative methods, which is presented in the following sections.
+of parallel application with iterations, which is presented in the following sections.
 
 \subsection{Energy model for heterogeneous local cluster}
 \label{ch3:1:2}
-In  chapter \ref{ch2}, the dynamic and the static  energy consumption of a 
+In Chapter \ref{ch2}, the dynamic and the static  energy consumption of a 
 processor is computed according to Equations \ref{eq:Edyn_new} and \ref{eq:Estatic_new} respectively. Then, the total energy consumption of a processor is the sum of these two metrics.  
 Therefore, the overall energy consumption for the parallel tasks over  a parallel cluster 
 is the  summation of the energies consumed by all the processors. 
 
 In the considered heterogeneous platform, each processor $i$ may have
 different dynamic and static powers, noted as $\Pd[i]$ and $\Ps[i]$
-respectively.  Therefore, even if the distributed message passing iterative
-application is load balanced, the computation time of each CPU $i$ noted
+respectively.  Therefore, even if the distributed message passing  
+application with iterations is load balanced, the computation time of each CPU $i$ noted
 $\Tcp[i]$ may be different and different frequency scaling factors may be
 computed in order to decrease the overall energy consumption of the application
 and reduce the slack times.  The communication time of a processor $i$ is noted as
@@ -273,7 +272,7 @@ frequency scaling factor and the dynamic power of each node as in
 (\ref{eq:Edyn_new}), the static energy is computed as the sum of the execution time
 of one iteration as in \ref{eq:perf_heter}  multiplied by the static power of each processor.  
 The overall energy consumption of a message passing distributed application executed over a
-heterogeneous cluster during one iteration is the summation of all the dynamic and
+heterogeneous cluster during one iteration is the summation of the dynamic and
 static energies for all the processors.  It is computed as follows:
 \begin{equation}
   \label{eq:energy-heter}
@@ -286,7 +285,7 @@ Reducing the frequencies of the processors according to the vector of scaling
 factors $(S_1, S_2,\dots, S_N)$ may degrade the performance of the application
 and thus, increase the consumed static energy because the execution time is
 increased~\cite{ref78}. The overall energy consumption
-for an iterative application can be measured by measuring the energy
+for an  application with iterations can be measured by measuring the energy
 consumption for one iteration as in (\ref{eq:energy-heter}) multiplied by the number
 of iterations of that application.
 
@@ -303,14 +302,14 @@ the application might not be the optimal one.  It is not trivial to select the
 appropriate frequency scaling factor for each processor while considering the
 characteristics of each processor (computation power, range of frequencies,
 dynamic and static powers) and the task it is executing (computation/communication
-ratio).  In  chapter~\ref{ch2}, we proposed a method that selects the optimal
+ratio).  In  Chapter~\ref{ch2}, we proposed a method that selects the optimal
 frequency scaling factor for a homogeneous cluster executing a message passing
-iterative synchronous application while giving the best trade-off between the
+ synchronous application with iterations while giving the best trade-off between the
 energy consumption and the performance for such applications.  
 In this section, this optimization method is improved while considering a heterogeneous clusters.
 
 As described before, the  relation between the energy consumption and the execution time for an
-application is complex and nonlinear. Thus, to find the trade-off relation between the energy consumption computed in Equation \ref{eq:energy-heter} and the performance with Equation \ref{eq:perf_heter}  for the iterative message passing applications, first we need to normalize both term as follows:
+application is complex and nonlinear. Thus, to find the trade-off relation between the energy consumption computed in Equation \ref{eq:energy-heter} and the performance with Equation \ref{eq:perf_heter}  for the  message passing applications with iterations, first we need to normalize both terms as follows:
 
 
 \begin{equation}
@@ -334,7 +333,7 @@ application is complex and nonlinear. Thus, to find the trade-off relation betwe
 \begin{figure}[!t]
   \centering
     \includegraphics[width=.7\textwidth]{fig/ch3/heter}
-  \caption{The energy and performance relation in Heterogeneous cluster}
+  \caption{The energy and performance relation in heterogeneous cluster}
   \label{fig:rel-heter}
 \end{figure}
 
@@ -431,8 +430,8 @@ for the node $i$.  Then, the set of scaling factors that maximizes the objective
 In this section, Algorithm~\ref{HSA} is presented. It selects the frequency
 scaling factors vector that gives the best trade-off between minimizing the
 energy consumption and maximizing the performance of a message passing
-synchronous iterative application executed on a heterogeneous local cluster. It works
-online during the execution time of the iterative message passing program.  It
+synchronous application with iterations executed on a heterogeneous local cluster. It works
+online during the execution time of the  message passing program with iterations.  It
 uses information gathered during the first iteration such as the computation
 time and the communication time in one iteration for each node. The algorithm is
 executed after the first iteration and returns a vector of optimal frequency
@@ -440,7 +439,7 @@ scaling factors that satisfies the objective function (\ref{eq:max-heter}). The
 program applies DVFS operations to change the frequencies of the CPUs according
 to the computed scaling factors.  This algorithm is called just once during the
 execution of the program. Algorithm~\ref{dvfs-heter} shows where and when the proposed
-scaling algorithm is called in the iterative MPI program.
+scaling algorithm is called in the  MPI program with iterations.
 
 \begin{figure}[!t]
   \centering
@@ -578,10 +577,10 @@ specifications of real Intel processors.  The heterogeneous cluster had up to
 144 nodes and had nodes from the four types in equal proportions, for example if
 a benchmark was executed on 8 nodes, 2 nodes from each type were used. Since the
 constructors of CPUs do not specify the dynamic and the static power of their
-CPUs, for each type of node they were chosen proportionally to its computing
+CPUs, for each type of node they were chosen proportionally to their computing
 powers (FLOPS).  The dynamic power corresponds to 80\% of the overall power consumption while executing at 
 the higher frequency and the
-remaining 20\% is the static power. The same assumption was made in chapter \ref{ch2} and
+remaining 20\% is the static power. The same assumption was made in Chapter \ref{ch2} and
 \cite{ref3}.  Finally, These nodes were connected via an Ethernet network with 1 \textit{Gbit/s} bandwidth.
 
 
@@ -824,7 +823,7 @@ more dynamic power is consumed when nodes are running on their maximum
 frequencies, thus, scaling down the frequency of the nodes results in higher
 energy savings than in the 70\%-30\% scenario. On the other hand,
 the performance degradation percentage is smaller in the 70\%-30\%
-scenario compared to the 90\%-\%10 scenario. This is due to the
+scenario compared to the 90\%-10\% scenario. This is due to the
 higher static power percentage in the first scenario which makes it more
 relevant in the overall consumed energy.  Indeed, the static energy is related
 to the execution time and if the performance is degraded the amount of consumed
@@ -844,14 +843,14 @@ lowering the frequency of some processors. On the other hand, the energy saving
 decreases when the 70\%-30\% scenario is used because the dynamic
 energy is less relevant in the overall consumed energy and lowering the
 frequency does not return big energy savings.  Moreover, the average of the
-performance degradation is decreased when using a higher ratio for static power
+performance degradation is decreased when using a higher ratio for the static power
 (e.g.  70\%-30\% scenario and 80\%-20\% scenario). Since the proposed 
 algorithm optimizes the energy consumption when
 using a higher ratio for the dynamic power, the algorithm selects bigger frequency
 scaling factors that results in more energy saving but degrade the performance, for
 example see Figure~\ref{fig:powers-heter} (b). The opposite happens when using a
 higher ratio for the static power, the algorithm proportionally selects smaller
-scaling values which result in less energy saving but also less performance
+scaling values which results in less energy saving but also less performance
 degradation.
 
 \begin{table}[!t]
@@ -989,13 +988,13 @@ the   energy reduction  to  performance trade-off, see  Figure~\ref{fig:compare_
 because it maximizes the distance  between the energy saving and the performance
 degradation values while giving the same weight for both metrics.
 
-\section[The energy optimization of grid]{The energy optimization of parallel iterative applications running over grids}
+\section[The energy optimization of grid]{The energy optimization of parallel  applications with iterations  running over grids}
 \label{ch3:3}
 
 \subsection{The energy and performance models of grid platform}
 \label{ch3:3:1}
 In this section, we are interested in reducing the energy consumption of message
-passing  iterative synchronous applications running over
+passing   applications with synchronous iterations running over
 heterogeneous grid platforms. A heterogeneous grid platform could be defined as a collection of
 heterogeneous computing clusters interconnected via a long distance network which has a lower bandwidth 
 and a higher latency than the local networks of the clusters. Each computing cluster in the grid is composed of homogeneous nodes that are connected together via a high speed network. However, nodes from distinct  clusters may have different characteristics such as computing power (FLOPS), energy consumption, CPU's frequency range, network bandwidth and latency.
@@ -1003,9 +1002,9 @@ and a higher latency than the local networks of the clusters. Each computing clu
 Since in a heterogeneous grid each cluster has different characteristics,
  when applying DVFS operations on the nodes 
 of these clusters, they may get different scaling factors represented by a scaling vector:
-$(S_{11}, S_{12},\dots, S_{NM})$ where $S_{ij}$ is the scaling factor of processor $j$ in cluster $i$ . To
-be able to predict the execution time of message passing synchronous iterative
-applications running over a heterogeneous grid, for different vectors of
+$(S_{11}, S_{12},\dots, S_{NM})$ where $S_{ij}$ is the scaling factor of processor $j$ in cluster $i$. To
+be able to predict the execution time of message passing  
+applications with synchronous iterations running over a heterogeneous grid, for different vectors of
 scaling factors, the communication time and the computation time for all the
 tasks must be measured during the first iteration before applying any DVFS
 operation. Then the execution time for one iteration of the application with any
@@ -1024,7 +1023,7 @@ first  iteration.  The execution time for one iteration is equal to the sum of t
 and the slowest communication time without slack time during one iteration.
 The latter is equal to the  communication time of the slowest node in the slowest cluster $h$.
 It means that only the communication time without any slack time is taken into account.
-Therefore, the execution time of the iterative application is equal to
+Therefore, the execution time of the parallel  application with iterations is equal to
 the execution time of one iteration as in Equation (\ref{eq:perf-grid}) multiplied by the
 number of iterations of that application.
 
@@ -1032,7 +1031,7 @@ number of iterations of that application.
 In the considered heterogeneous grid platform, each node $j$ in cluster $i$ may have
 different dynamic and static powers from the nodes of the other clusters, 
 noted as $\Pd[ij]$ and $\Ps[ij]$ respectively.  Therefore, even if the distributed 
-message passing iterative application is load balanced, the computation time of each CPU $j$ 
+message passing  application with iterations is load balanced, the computation time of each CPU $j$ 
 in cluster $i$ noted $\Tcp[ij]$ may be different and different frequency scaling factors may be
 computed in order to decrease the overall energy consumption of the application
 and reduce slack times.  The communication time of a processor $j$ in cluster $i$ is noted as
@@ -1055,7 +1054,7 @@ static energies for $M_i$ processors in $N$ clusters.  It is computed as follows
 
 
 To optimize both of the energy consumption model computed by \ref{eq:energy-grid} and the performance model computed by \ref{eq:perf-grid},
-they must be normalized  as in \ref{eq:enorm-heter} and \ref{eq:pnorm-heter} Equations respectively.
+they must be normalized  as in Equation \ref{eq:enorm-heter} and Equation \ref{eq:pnorm-heter}  respectively.
 While the original energy consumption is the consumed energy with the 
 maximum frequency for all the  nodes computed as follows:
 
@@ -1149,7 +1148,7 @@ of scaling factors that satisfies (\ref{eq:max-grid}) can be selected.
 \begin{figure}[!t]
   \centering
   \includegraphics[scale=0.7]{fig/ch3/init_freq}
-  \caption{Selecting the initial frequencies in grid}
+  \caption{Selecting the initial frequencies in the grid architecture}
   \label{fig:st_freq-grid}
 \end{figure}
 
@@ -1165,9 +1164,9 @@ In this section, the scaling factors selection algorithm for a grid, Algorithm~\
 is presented. It selects the vector of  frequency
 scaling factors  that gives the best trade-off between minimizing the
 energy consumption and maximizing the performance of a message passing
-synchronous iterative application executed on a grid.
+  application with synchronous iterations executed on a grid.
 It is similar to the frequency selection algorithm for heterogeneous 
-local clusters presented in section \ref{ch3:1:4}. 
+local clusters presented in Section \ref{ch3:1:4}. 
 
 The value of the initial frequency scaling factor for each node is inversely proportional to its
 computation time that was gathered in the first iteration. The initial
@@ -1237,7 +1236,7 @@ $\lbrace\Theta_1,\Theta_2\rbrace$ is the time interval for the measured  idle po
 Therefore, the dynamic power of one core is computed as the difference between the maximum 
 measured value in maximum powers vector and the minimum measured value in the idle powers vector.
 
-On the other hand, the static power consumption by one core is a part of the measured idle power consumption of the node. Since in Grid'5000 there is no way to measure precisely the consumed static power and it was assumed, as in sections  \ref{ch3:2} and \ref{ch2:6}, that  the static power  represents a ratio of the dynamic power, the value of the static power is assumed to be equal to 20\% of the dynamic power consumption of the core.
+On the other hand, the static power consumption by one core is a part of the measured idle power consumption of the node. Since in Grid'5000 there is no way to measure precisely the consumed static power and it was assumed, as in Sections  \ref{ch3:2} and \ref{ch2:6}, that  the static power  represents a ratio of the dynamic power, the value of the static power is assumed to be equal to 20\% of the dynamic power consumption of the core.
 
 In the experiments presented in the following sections, two sites of Grid'5000 were used, Lyon and Nancy sites. These two sites have in total seven different clusters as shown in Figure~\ref{fig:grid5000}.
 
@@ -1297,7 +1296,6 @@ The benchmarks have seven different classes, S, W, A, B, C, D and E, that repres
   \end{tabular}
   \label{table:grid5000-1}
 \end{table} 
-CPUs 
 
 
 \subsection{The experimental results of the scaling algorithm on a Grid}
@@ -1387,7 +1385,7 @@ results in  a lower energy consumption. Indeed, the dynamic  consumed power
 is exponentially related to the CPU's frequency value. On the other hand, the increase in the number of computing nodes can 
 increase the communication times and thus produces less energy saving depending on the 
 benchmarks being executed. The results of the benchmarks CG, MG, BT and FT show more 
-energy saving percentage in the one site scenario when executed over 16 nodes than on 32 nodes.  LU and SP consume more energy with 16 nodes than with 32 node  on one site  because their computations to communications ratio is not affected by the increase of the number of local communications. 
+energy saving percentage in the one site scenario when executed over 16 nodes than on 32 nodes.  LU and SP consume more energy with 16 nodes than with 32 nodes  on one site  because their computations to communications ratio is not affected by the increase of the number of local communications. 
 \begin{figure}[!h]
   \centering
   \centering
@@ -1400,21 +1398,21 @@ energy saving percentage in the one site scenario when executed over 16 nodes th
 \begin{figure*}[!h]
 \centering
 \includegraphics[width=.7\textwidth]{fig/ch3/eng_s.eps}
-\caption{The energy reduction while executing the NAS benchmarks over different scenarios}
+\caption{The energy reduction percentages while executing the NAS benchmarks over different scenarios}
 \label{fig:eng_s}
 \end{figure*}
 
 \begin{figure*}[!h]
 \centering
 \includegraphics[width=.7\textwidth]{fig/ch3/per_d.eps}
-\caption{The performance degradation of the NAS benchmarks over different scenarios}
+\caption{The performance degradation percentages of the NAS benchmarks over different scenarios}
 \label{fig:per_d}
 \end{figure*}
 
 \begin{figure*}[!h]
 \centering
 \includegraphics[width=.7\textwidth]{fig/ch3/dist.eps}
-\caption{The trade-off distance between the energy reduction and the performance of the NAS benchmarks  
+\caption{The trade-off distance percentages between the energy reduction and the performance of the NAS benchmarks  
       over different scenarios}
 \label{fig:dist-grid}
 \end{figure*}
@@ -1486,13 +1484,13 @@ Scenario name                          & Cluster name & Nodes per cluster &
 \begin{figure}[!h]
  \centering
  \includegraphics[width=.7\textwidth]{fig/ch3/time.eps}
- \caption{The execution times of  NAS benchmarks running over the one core and the multi-core scenarios}
+ \caption{The execution times of the NAS benchmarks running over the one core and the multi-core scenarios}
   \label{fig:time-mc}
 \end{figure}
 \begin{figure}[!h]
  \centering
  \includegraphics[width=.7\textwidth]{fig/ch3/eng_con.eps}
- \caption{The energy consumptions and execution times of NAS benchmarks over one core and multi-core per node architectures}
+ \caption{The energy consumptions and execution times of the NAS benchmarks over one core and multi-core per node architectures}
 \label{fig:eng-cons-mc}
 \end{figure}
 
@@ -1518,21 +1516,21 @@ scenarios  because there are no or small communications. Contrary to EP and MG,
 \begin{figure*}[!h]
  \centering
  \includegraphics[width=.7\textwidth]{fig/ch3/eng_s_mc.eps}
-  \caption{The energy saving of running NAS benchmarks over one core and multi-core scenarios}
+  \caption{The energy saving percentages of running NAS benchmarks over one core and multi-core scenarios}
   \label{fig:eng-s-mc}
 \end{figure*}   
 
 \begin{figure*}[!h]
  \centering
 \includegraphics[width=.7\textwidth]{fig/ch3/per_d_mc.eps}
-  \caption{The performance degradation of running NAS benchmarks over one core and multi-core scenarios}
+  \caption{The performance degradation percentages of running NAS benchmarks over one core and multi-core scenarios}
   \label{fig:per-d-mc}
 \end{figure*}
 
 \begin{figure*}[!h]
  \centering
  \includegraphics[width=.7\textwidth]{fig/ch3/dist_mc.eps}
-  \caption{The trade-off distance of running NAS benchmarks over one core and multi-core scenarios}
+  \caption{The trade-off distance percentages of running NAS benchmarks over one core and multi-core scenarios}
   \label{fig:dist-mc}
 \end{figure*}
 The energy saving percentages of all the NAS benchmarks running over these two scenarios are presented in Figure~\ref{fig:eng-s-mc}. 
@@ -1577,7 +1575,7 @@ In these experiments, the class D of the NAS parallel benchmarks were executed o
 \begin{figure}[!h]
   \centering
   \includegraphics[width=.7\textwidth]{fig/ch3/dist_pow.eps}
-  \caption{The trade-off distance between the energy reduction and the performance of the NAS benchmarks over the three power scenarios}
+  \caption{The trade-off distance percentages between the energy reduction and the performance of the NAS benchmarks over the three power scenarios}
   \label{fig:dist-pow}
 \end{figure}
 
@@ -1632,21 +1630,21 @@ presented in  Figures~\ref{fig:edp-eng}, \ref{fig:edp-perf} and \ref{fig:edp-dis
 \begin{figure*}[!h]
   \centering
   \includegraphics[width=.7\textwidth]{fig/ch3/edp_eng}
-\caption{The energy reduction induced by the Maxdist method and the EDP method}
+\caption{The energy reduction percentages induced by the Maxdist method and the EDP method}
 \label{fig:edp-eng}
 \end{figure*}
 
 \begin{figure*}[!h]
   \centering
   \includegraphics[width=.7\textwidth]{fig/ch3/edp_per}
-\caption{The performance degradation induced by the Maxdist method and the EDP method}
+\caption{The performance degradation percentages induced by the Maxdist method and the EDP method}
 \label{fig:edp-perf}
 \end{figure*}
 
 \begin{figure*}[!h]
   \centering
    \includegraphics[width=.7\textwidth]{fig/ch3/edp_dist}
-\caption{The trade-off distance between the energy consumption reduction and the performance for the Maxdist method and the  EDP method}
+\caption{The trade-off distance percentages between the energy consumption reduction and the performance for the Maxdist method and the  EDP method}
 \label{fig:edp-dist}
 \end{figure*}
 
@@ -1658,7 +1656,7 @@ Moreover, the proposed scaling algorithm gives the same weight for these two met
 Whereas, the EDP algorithm gives sometimes negative trade-off values for some benchmarks in the two sites scenarios.
 These negative trade-off values mean that the performance degradation percentage is higher than the energy saving percentage.
 The high positive values of the trade-off distance percentage mean that the  energy saving percentage is much higher than the performance degradation percentage. 
-The  complexity of both algoriths, Maxdist and EDP, are of order $O(N \cdot M_i \cdot F_j)$ and 
+The  complexity of both algorithms, Maxdist and EDP, are of order $O(N \cdot M_i \cdot F_j)$ and 
 $O(N \cdot M_i \cdot F_j^2)$ respectively, where $N$ is the number of the clusters, $M_i$ is the number of nodes and $F_j$ is the 
 maximum number of available frequencies of node $j$. When Maxdist is applied to a benchmark that is being executed over 32 nodes distributed between Nancy and Lyon sites, it takes on average  $0.01$ $ms$  to compute the best frequencies while the EDP method is on average ten times slower over the same architecture.  
 
@@ -1669,8 +1667,8 @@ In this chapter,  two new online frequency scaling factors selecting algorithms
 maximum distance (optimal trade-off) between the predicted energy   and the
 predicted performance curves for a heterogeneous cluster and grid. Both  algorithms use a
 new energy models for measuring and predicting the energy consumption of message passing 
-iterative applications running over a heterogeneous local cluster and a grid platform. 
-Firstly, the  proposed scaling factors selection algorithm for a heterogeneous local cluster  is applied to  the class C of NAS parallel benchmarks and  simulated by SimGrid.
+ applications with iterations running over a heterogeneous local cluster and a grid platform. 
+Firstly, the  proposed scaling factors selection algorithm for a heterogeneous local cluster  is applied to  the class C of the NAS parallel benchmarks and  simulated by SimGrid.
 The results of the simulations showed  that the algorithm on average reduces by 29.8\% the energy 
 consumption of the NAS benchmarks executed over 8 nodes while limiting the degradation of the performance by 3.8\%.  The algorithm also selects different scaling factors according to
 the percentage of the computing and communication times, and according to the
index 66a6f0ded596dbb173a74a01c70e02a6540311a8..d9aaf56b813a117d85e6c6a01b68c85eb1c9efb0 100644 (file)
@@ -36,7 +36,7 @@ Section~\ref{ch4:5} details the proposed frequency selecting algorithm.
 Section~\ref{ch4:6} presents the iterative multi-splitting application which is a hybrid method and was used as a benchmark to evaluate the efficiency of the proposed algorithm.
 Section~\ref{ch4:7} presents the simulation results of applying the algorithm on the multi-splitting application
 and executing it on different grid scenarios. It also shows the results of running
-three different power scenarios and comparing them. Moreover, in the last subsection, the proposed algorithm is compared to the energy and delay product (EDP) method. Section \ref{ch4:8} presenting the results of real  experiments executed over the Grid'5000 platform and compared to the EDP method. Finally, the chapter ends with a summary.
+three different power scenarios and comparing them. Moreover, in the last subsection, the proposed algorithm is compared to the energy and delay product (EDP) method. Section \ref{ch4:8} presents the results of real  experiments executed over the Grid'5000 platform and compared to the EDP method. Finally, the chapter ends with a summary.
 
 
 
@@ -420,11 +420,11 @@ of this application is not directly related to  the number of computing nodes.
   \label{fig:eng_time_dvfs}
 \end{figure}
  Figure  \ref{fig:eng_time_dvfs} (a) shows that the energy 
- consumption of all four versions of the method,  running over the 8 grid scenarios described in Table \ref{table:comp},  are not affected by the increase in  the number of computing nodes. MS without applying DVFS operations had the same behavior. On the other hand, Figure \ref{fig:eng_time_dvfs} (b) shows that the execution time of the MS application with DVFS operations
+ consumption of all four versions of the method,  running over the 8 grid scenarios described in Table \ref{table:comp},  are not affected by the increase in  the number of computing nodes. MS without applying DVFS operations had the same behaviour. On the other hand, Figure \ref{fig:eng_time_dvfs} (b) shows that the execution time of the MS application with DVFS operations
  decreases in inverse proportion to the number of  nodes. Moreover, it can  be noticed that  the asynchronous MS with synchronous DVFS   consumes less  energy when compared to the other versions of the method. Two reasons explain this energy consumption reduction: 
  \begin{enumerate}
- \item The asynchronous MS with synchronous DVFS version uses synchronous DVFS communications which allow it to apply the new computed frequencies at the begining of the second iteration. Thus, reducing the consumption of dynamic  energy  by the application from the second iteration until the end of the application.  Whereas in 
- asynchronous DVFS versions where the DVFS communications are asynchronous, the new  frequencies cannot be computed at the end of the first iteration and consequently  cannot be applied at the begining of the second iteration.
+ \item The asynchronous MS with synchronous DVFS version uses synchronous DVFS communications which allow it to apply the new computed frequencies at the beginning of the second iteration. Thus, reducing the consumption of dynamic  energy  by the application from the second iteration until the end of the application.  Whereas in 
+ asynchronous DVFS versions where the DVFS communications are asynchronous, the new  frequencies cannot be computed at the end of the first iteration and consequently  cannot be applied at the beginning of the second iteration.
  Indeed, since the performance information gathered during the first iteration is not sent synchronously at the end of the first iteration,  fast nodes might execute many iterations before receiving the performance information, computing the new frequencies based on this information and applying the new computed frequencies. Therefore, many iterations might be computed by CPUs running on their highest frequency and consuming more dynamic energy than scaled down processors. 
  
 \item  As shown in Figure \ref{fig:eng_time_ms} (b), the  execution time  of the asynchronous MS version is lower than the execution time of the synchronous MS version because there is no idle time in the asynchronous version and the communications are overlapped by computations.   Since the consumption of static energy is proportional to the execution time, the asynchronous MS version consumes less static energy than the synchronous version.
@@ -470,7 +470,7 @@ degradation percentages which means that the new execution time of a given versi
  $16.9\%$. While the worst case is the synchronous MS with synchronous DVFS  where the performance is on average degraded by  $2.9\%$ when compared to the reference method.
  
  
- The energy consumption and performance tradeoff between these five versions is presented in Figure \ref{fig:dist}. 
+ The energy consumption and performance trade-off between these five versions is presented in Figure \ref{fig:dist}. 
  These distance  values are computed as the differences between the energy saving 
  and the performance degradation percentages as in the  optimization function 
  (\ref{eq:max-grid}). Thus, the best MS version is the one that has the maximum distance between the energy saving and performance  degradation. The distance can be negative if the energy saving percentage is less than the performance degradation percentage.
@@ -716,14 +716,14 @@ Size                 & Method                      &\begin{tabular}[c]{@{}l@{}}E
 Table \ref{table:exper} shows that there are  positive and negative performance 
 degradation percentages. A negative  value means that the new execution time of a given version of the application is  less than the execution time of the synchronous MS without DVFS. 
  Therefore, the version with the smallest negative performance degradation percentage has actually the best speed up when compared to the other versions. 
- The energy consumption and performance tradeoffs between these four versions can be computed as in the  optimization Function 
+ The energy consumption and performance trade-offs between these four versions can be computed as in the  optimization Function 
  (\ref{eq:max-grid}).  The asynchronous MS applying synchronously the HSA algorithm gives the best distance which is equal to $48.41\%$. 
  This version saves up to $26.93\%$ of energy and even reduces the execution time of the application by  
  $21.48\%$.  This overall improvement is due to combining asynchronous computing and the synchronous application of the HSA algorithm.
 
 
 Finally, this section shows that the obtained results over Grid'5000 are comparable to the 
-simulation results of section \ref{ch4:7:2},  the asynchronous MS applying synchronously the HSA algorithm is the best version in both of sections. Moreover, the results over Grid'5000 are better
+simulation results of Section \ref{ch4:7:2},  the asynchronous MS applying synchronously the HSA algorithm is the best version in both of sections. Moreover, the results over Grid'5000 are better
 than simulation results because  the computing clusters used in the Grid'5000 experiments are more heterogeneous  in term of the computing power and  network characteristics than the simulated platform with SimGrid. For example, the nodes in  StRemi cluster have lower computing powers compared to the other used three clusters of Grid'5000 platform. 
 As a result, the increase in the heterogeneity between the clusters' computing nodes increases the idle times which forces the proposed algorithm to select a big scaling factors and thus saving more energy. 
 
@@ -734,7 +734,7 @@ As a result, the increase in the heterogeneity between the clusters' computing n
  
 \subsection{Comparing the HSA algorithm to the energy and delay product method}
 \label{res-comp}
-The EDP algorithm,  described in section \ref{ch4:7:5}, was applied synchronously and asynchronously to both the synchronous and asynchronous MS application of size  $N=400^3$. The experiments were conducted  over 4 distributed clusters, described in Table \ref{table:grid5000},  and  8 homogeneous nodes were used from each cluster.
+The EDP algorithm,  described in Section \ref{ch4:7:5}, was applied synchronously and asynchronously to both the synchronous and asynchronous MS application of size  $N=400^3$. The experiments were conducted  over 4 distributed clusters, described in Table \ref{table:grid5000},  and  8 homogeneous nodes were used from each cluster.
 Table \ref{table:comapre} presents the results of energy saving, performance degradation and distance percentages  when applying the EDP method on four different MS versions.
 Figure \ref{fig:compare} compares the distance percentages, computed as the difference between energy saving and performance degradation percentages, of the EDP and HSA 
 algorithms. This comparison shows that the proposed HSA algorithm gives better energy reduction and performance trade-off than the EDP method.  EDP gives better results when evaluated over Grid'5000 than over the simulator because the nodes used from Grid'5000 are more heterogeneous than those simulated with SimGrid.
@@ -759,9 +759,11 @@ Async MS with Async DVFS & 10.32            & -17.04         & 27.36    \\ \hlin
   \caption{Comparing the trade-off percentages of HSA and EDP methods over the Grid'5000}
   \label{fig:compare} 
 \end{figure}
+
+
+
 \section{Conclusions}
  \label{ch4:9}
-
 This chapter presents a new online frequency selection algorithm for asynchronous iterative 
 applications running over a grid. It selects the best vector of frequencies that maximizes 
 the distance between the predicted energy consumption and the predicted execution time. 
@@ -770,7 +772,7 @@ energy and performance models  to predict the energy consumption and the executi
 The proposed algorithm was evaluated twice over the SimGrid simulator and Grid'5000 testbed while running a multi-splitting (MS) application that solves 3D problems. 
 The  experiments were executed over different
  grid scenarios composed of different numbers of clusters and different numbers of nodes per cluster.
- The HSA algorithm was applied synchronously and asynchronously on a synchronous and an asynchronous version of the MS application.  Both the simulation and real experiment results show that applying synchronous HSA algorithm on an asynchronous MS application  gives the best tradeoff between energy consumption reduction and  performance compared to other scenarios. 
+ The HSA algorithm was applied synchronously and asynchronously on a synchronous and an asynchronous version of the MS application.  Both the simulation and real experiment results show that applying synchronous HSA algorithm on an asynchronous MS application  gives the best trade-off between energy consumption reduction and  performance compared to other scenarios. 
 In the simulation results, this scenario saves on average the energy consumption by 22\% and reduces the execution time of the application by 5.72\%. This version optimizes both of the dynamic energy consumption by applying  synchronously the HSA algorithm at the end of the first iteration  and the static energy consumption by using asynchronous communications between nodes from different clusters which are overlapped by computations. The HSA algorithm was also evaluated over three power scenarios. As expected, the algorithm selects different vectors of  frequencies for each power scenario. The highest energy consumption reduction was achieved in the power scenario with the highest dynamic power and the lowest performance degradation was obtained in the power scenario with the highest static power.  
 The proposed algorithm was compared to another method that
 uses the well known energy and delay product as an objective function.
index 06cdaace0f67d2b3714068ee98c4209fd147d806..b5faa8061ac6b897d33eba6c81226303f2022627 100644 (file)
@@ -4,68 +4,62 @@
 
 \section{Conclusion}
 In this dissertation, we have proposed a method to optimize both the energy consumption and 
-the performance of synchronous and asynchronous iterative applications running over
+the performance at the same time of synchronous and asynchronous  applications with iterations  running over
 cluster and grid platforms. Dynamic voltage and frequency scaling (DVFS) technique was used to 
 lower the frequency of the processor to reduce its energy consumption while computing. Reducing 
-the frequency of the processor reduces the computing power of a processor and thus the performance  of the application running over that processor is decreased too.  However, as the first step in this work,  different energy consumption and performance models were developed to effectively used in the prediction and measurement processes for energy and performance of iterative applications. Depending on these models, an objective function was defined the best trade-off relation between the energy and the performance. Then, this objective function was used in algorithms which optimize both energy consumption and the performance of the iterative application at the same time.
+the frequency of the processor decreases  its computing power which might increase the execution time.  
+In this work, different energy consumption and performance models were developed to  predict the energy consumption and performance of parallel applications with iterations. Depending on these models, an objective function was defined as the best trade-off relation between the energy consumption and the performance of the parallel application. This objective function was used in the frequency selecting algorithms which optimize at the same time both the energy consumption and the performance of the  parallel application with iterations.
 
-The first part of this dissertation, chapter \ref{ch1}, presented different types of parallelism levels which have been categorized using some hardware and software techniques. Different parallel architectures have been
-demonstrated and classified according to how the processing units and the memory model connected to each others. Both shared and distributed platforms as well as their depending parallel programming models have been categorized. The two types of parallel iterative applications: synchronous and asynchronous ones have 
-been discussed and compared to each others. It showed that applying the synchronous iterative methods are well adapted to local homogeneous clusters with a high speed network link, while the asynchronous iterative methods are more suited to the distributed heterogeneous clusters. At the end of this chapter, an energy consumption model proposed in the literature to measure the energy consumption of parallel applications was explained. This model does not consider the communication time of the parallel application being executed. Also, it is not well adapted to a heterogeneous architecture when there are different power consumption values for each type of processor. 
+The first part of this dissertation, chapter \ref{ch1}, presented different types of parallelism levels which have been classified according to the used hardware and software techniques. Different parallel architectures have also been
+described and classified according to the used  memory model: shared and distributed memory.  The two types of parallel  applications with iterations: synchronous and asynchronous ones have been discussed and compared to each others. Synchronous distributed applications are well adapted to local homogeneous clusters with a high speed network link, while the asynchronous ones are more suited to grids. At the end of this chapter, an energy consumption model proposed in the literature to estimate the energy consumption of parallel applications was explained. This model does not take into account the communication time of the parallel application being executed. Also, it is not well adapted to a heterogeneous architecture where each type of processor might have a different power consumption value. 
 
-In the second part of the dissertation, we have developed a new energy and performance models for 
-synchronous and asynchronous message passing applications running over a cluster and  a grid. To simultaneously optimize the energy and performance of these applications, the trade-off relation between the two metrics have been defined as a maximum distance between the predicted energy and performance curves to select the best possible frequency scaling factors. We have proposed four different frequencies selecting  algorithms to select the best frequencies that gives minimum energy reduction with maximum possible performance at the same time. They used the computation and communication times measured at the first iteration of the iterative application to predict the energy consumption and the performance of the parallel application at every available frequency. All these algorithms work online with a very small overhead on the execution time of a parallel application
+In the second part of the dissertation,  a new energy and performance models for 
+synchronous and asynchronous message passing applications with iterations running over clusters and grid,  were presented. To simultaneously optimize the energy and performance of these applications, the trade-off relation has been defined as the maximum distance between the predicted energy and performance curves. This objective function is used by the frequency selecting algorithm to select the available frequency scaling factors that give the optimal energy consumption to performance trade-off. We have proposed four different frequency scaling algorithms, each one of them is adapted to a different execution  context, such as synchronous or asynchronous communications, homogeneous or heterogeneous nodes, and local or distributed architectures. They used the computation and communication times measured at the first iteration of the parallel application with iterations to predict the energy consumption and the performance of the parallel application at every available frequency. All these algorithms work online and introduce a very small runtime overhead. They also do not require any profiling or  training
 
-In chapter \ref{ch2},  we were proposed a new online scaling factor selection method that optimized simultaneously the energy and performance of a distributed synchronous application running on a homogeneous cluster. We have applied  this algorithm to the NAS benchmarks of the class C and evaluated by the SimGrid simulator. Firstly, Rauber and Rünger’s energy model used by the proposed algorithm to select best frequency gear. The proposed algorithm was compared to the Rauber and Rünger optimization method, which gives better energy and performance trade-off ratios compare to them. Secondly, a new  energy consumption  model was developed to take into consideration both the computation and communication times and their relation with the frequency scaling factor. The new enenrgy model was used by the proposed algorithm to select different frequencies. Thus,  a new simulation results have been shown, which are more accurate and realistic than other results obtained using the Rauber and Rünger's energy model.  
-In chapter \ref{ch3}, we were proposed  two new online frequency scaling factors selecting algorithms to select the best possible vectors of frequency scaling factors that give best trade-off between the predicted energy and the predicted performance values  of synchronous iterative application running over a heterogeneous cluster and a grid.  Each algorithm depends on a new energy and performance models, which takes into account the underline parallel platform being used. Firstly, the proposed
-scaling factors selection algorithm for a heterogeneous local cluster was implemented  to the  NAS parallel benchmarks of the class C and simulated by SimGrid. The results of the experiments showed that the algorithm on average reduces by 29.8\% the energy consumption of the NAS benchmarks executed over 8 nodes while limiting the degradation of the performance by 3.8\%. 
-Different frequency scaling factors were selected by the algorithm according to the ratio between the computation and communication times when different number of nodes were used, and  when different values have been used for static and dynamic powers of the CPU. Secondly, the proposed scaling factors selection algorithm for a grid was implemented to the NAS parallel benchmarks of the class D and executed over Grid5000 testbed platform. The experiments on 16 nodes, distributed over three clusters, showed that the algorithm on average reduces by 30\% the energy consumption for all the NAS benchmarks while on average only degrading by 3.2\% the performance. 
-The algorithm was also evaluated in different scenarios that vary in the distribution of the computing nodes between different clusters’ sites or use multi-cores per node architecture or consume  different static power values. The algorithm selects different vectors of frequencies according to the computations and communication times ratios, and the values of the static and measured dynamic powers of the CPUs.
-Both of the proposed  algorithms were compared to another method that uses the well known energy and delay product as an objective function. The comparison results showed that the proposed algorithms outperform the latter by selecting a vectors of frequencies that give a better trade-off between energy consumption reduction and performance.
-In chapter \ref{ch4}, we were presented a new online frequency selection algorithm for asynchronous iterative applications running over a grid.  The algorithm uses new energy and performance models to predict the energy consumption and the execution time of asynchronous or hybrid message passing
+In chapter \ref{ch2}, a new online scaling factor selection method that optimizes simultaneously the energy and performance of a distributed synchronous application with iterations running on a homogeneous cluster has been proposed. This algorithm was applied to the NAS benchmarks of the class C and executed over the SimGrid simulator. Firstly, Rauber and Rünger’s energy model was used in the proposed algorithm to select the best frequency gear. The proposed algorithm was compared to the Rauber and Rünger's  optimization method. The results of the comparison showed that the proposed algorithm   gives better energy to  performance trade-off ratios compared to their methods while using the same energy model. Secondly, a new  energy consumption  model was developed to take into consideration both the computation and communication times and their relation with the frequency scaling factor. The new energy model was used by the proposed algorithm. The new simulation results demonstrated that the new model is  more  accurate and realistic than the previous one.  
+
+In chapter \ref{ch3},  two new online frequency scaling factors selecting algorithms adapted for synchronous application with iterations  running over a heterogeneous cluster and a grid were presented.  Each algorithm uses new energy and performance models which take into account the characteristics of the parallel platform being used. Firstly, the proposed
+scaling factors selection algorithm for a heterogeneous local cluster was applied to the  NAS parallel benchmarks and evaluated over SimGrid. The results of the experiments showed that the algorithm on average reduces by 29.8\% the energy consumption of the class C of the NAS benchmarks executed over 8 nodes while limiting the degradation of the performance to 3.8\%. 
+Different frequency scaling factors were selected by the algorithm according to the ratio between the computation and communication times when different number of nodes were used, and  when different static and dynamic CPU powers have been used. Secondly, the proposed scaling factors selection algorithm for a grid was applied to the NAS parallel benchmarks and the class D of these benchmarks was executed over the Grid5000 testbed platform. The experiments conducted over 16 nodes distributed over three clusters, showed that the algorithm on average reduces by 30\% the energy consumption for all the NAS benchmarks while on average only degrading by 3.2\% their performance. 
+The algorithm was also evaluated in different scenarios that vary in the distribution of the computing nodes between different clusters’ sites or use multi-cores per node architectures or consume  different static power values. The algorithm selects different vectors of frequencies according to the computations and communication times ratios, and the values of the static and measured dynamic powers of the CPUs.
+Both of the proposed  algorithms were compared to another method that uses the well known energy and delay product as an objective function. The comparison results showed that the proposed algorithms outperform the latter by selecting  vectors of frequencies that give a better trade-off between energy consumption reduction and performance.
+
+In chapter \ref{ch4}, a new online frequency selection algorithm were adapted for asynchronous iterative applications running over a grid was presented.  The algorithm uses new energy and performance models to predict the energy consumption and the execution time of asynchronous or hybrid message passing
 iterative applications running over a  grid. The proposed algorithm was evaluated twice
 over the SimGrid simulator and Grid’5000 testbed while running a multi-splitting (MS)
 application that solves 3D problems. The experiments were executed over different grid
 scenarios composed of different numbers of clusters and different numbers of nodes
-per cluster. The proposed algorithm was applied synchronously and asynchronously on a
-synchronous and an asynchronous version of the MS application. Both the simulation
-and real experiment results show that applying synchronous frequency selecting algorithm on an 
+per cluster. The proposed algorithm was applied synchronously and asynchronously on 
+synchronous and  asynchronous versions of the MS iterative application. Both the simulations
+and real experiments results showed that applying synchronously the frequency selecting algorithm on an 
 asynchronous MS application gives the best tradeoff between energy consumption reduction
-and performance compared to other scenarios. In the simulation results, this scenario
-saves on average the energy consumption by 22\% and reduces the execution time of
+and performance when compared to the other scenarios. In the simulation results, this scenario
+reduces on average the energy consumption by 22\% and decreases the execution time of
 the application by 5.72\%. This version optimizes both of the dynamic energy 
-consumption by applying synchronously the HSA algorithm at the end of the first iteration and the
-static energy consumption by using asynchronous communications between nodes from
+consumption by applying synchronously the HSA algorithm at the end of the first iteration of the iterative application  and the static energy consumption by using asynchronous communications between nodes from
 different clusters which are overlapped by computations. The proposed algorithm was also
-evaluated over three power scenarios, which  selects different vectors of frequencies proportionally to dynamic and static powers values. More energy reduction has been achieved when the  ratio of the 
-dynamic power have been increase and vice versa. whereas, the performance degradation percentages were decreased when the static power ratio has been increased.
-In the Grid’5000 results, this scenario saves the energy consumption by 26.93\% and 
-reduces the execution time of the application by 21.48\%. The experiments executed over Grid'5000 give better results than those simulated with SimGrid because the nodes used in Grid'5000 were more heterogeneous than the ones simulated by SimGrid.
-In both of the Simulation and Grid'5000 testbed experiments, we have compared the proposed algorithm to a method that uses the well known energy and delay product as an objective function. The comparison results showed that the proposed algorithm outperforms the latter by selecting a vector of frequencies that gives
+evaluated over three power scenarios which  selects different vectors of frequencies proportionally to the  dynamic and static powers values. More energy reduction was achieved when the  ratio of the 
+dynamic power was increased and vice versa. Whereas, the performance degradation percentages were decreased when the static power ratio was increased.
+In the Grid’5000 experiments, this scenario reduces the energy consumption by 26.93\% and 
+decreases the execution time of the application by 21.48\%. The experiments executed over Grid'5000 give better results than those simulated with SimGrid because the nodes used in Grid'5000 were more heterogeneous than the ones simulated by SimGrid.
+In both of the Simulations and real experiments, the proposed algorithm was compared to a method that uses the well known energy and delay product as an objective function. The comparison results showed that the proposed algorithm outperforms the latter by selecting a vector of frequencies that gives
 a better trade-off between the energy consumption reduction and the performance.
-Finally, we outline some perspectives that will be applied to this work in the future as in the next section.
 
 
 \section{Perspectives}
 In the near future, we will adapt the proposed algorithms to take into consideration the variability between some iterations.  For example, each proposed algorithm can be executed twice: after the first iteration the frequencies are scaled down according to the execution times measured in the first iteration, then after a fixed number of iterations, the frequencies are adjusted according to the execution times measured during the fixed number of iterations. If the  computing power of the system is constantly changing, it would be interesting to implement a mechanism that detects this change and adjusts the frequencies according to the variability of the system. 
+Also, it would be interesting to evaluate the scalability of the proposed algorithms by running them on large platforms composed of many thousands of cores. The scalability of the algorithms can be improved by distributing them  in a hierarchical manner where a leader is chosen for each cluster or a group of nodes  to compute their scaled frequencies and by using asynchronous messages to exchange the the data measured at the first iteration. 
 
-Also, it would be interesting to evaluate the scalability of the proposed algorithm by running it on large platforms composed of many thousands of cores. The scalability of the algorithm can be improved by distributing it  in a hierarchical manner where a leader is chosen for each cluster or a group of nodes  to compute their scaled frequencies and by using asynchronous messages to exchange the the data measured at the first iteration. 
-
-The proposed algorithms  would evaluate to other message passing iterative methods in order to see how it adapts to the characteristics of the new method. 
+The proposed algorithms  should be applied to other message passing  methods  with iterations in order to see how they adapt to the characteristics of these methods. 
 Also, it would be interesting to explore if a relation can be found between the numbers of asynchronous iterations required to global convergence and the applied frequencies to the
 nodes. The number of iterations required by each node for global convergence
 is not known in advance and the change in CPUs frequencies changes the
 number of iterations required by each node for global convergence.
 
-Furthermore, the proposed algorithms for a heterogeneous platforms,  chapters \ref{ch3} and \ref{ch4}, should be applied to a heterogeneous platform composed of  CPUs and GPUs, where all works of energy minimization in the literature over a collection of GPUs and CPUs platform  have been shown more energy efficiency compared those composed from only CPUs.
+Furthermore, the proposed algorithms for  heterogeneous platforms,  in chapters \ref{ch3} and \ref{ch4}, should be applied to heterogeneous platforms composed of  CPUs and GPUs. Indeed, most of the works in the 
+green computing field showed  that these mixed platforms of GPUs and CPUs are more energy efficient than those composed of only CPUS. 
 
-Finally, it would be interesting to compare the accuracy of the
-results of the proposed energy models to the values given by instruments
+Finally, it would be interesting to verify the accuracy  of the
+results returned by  the  energy models by comparing them to the values given by instruments
 that measure the energy consumptions of CPUs during the execution time, as in \cite{ref106}.
 
-
-
-
-
-
-
index 40a6918c446b0fe4db121a7869b88c5ba334d72f..ad84041a4c9b876e166fdb4ea93ec50c481d03a0 100644 (file)
@@ -8,5 +8,3 @@
 \addcontentsline{toc}{chapter}{Dedication}
 
 %DEDICATION 
-
-
index c69e7dfb090ed389b076f0867de7852bb3404032..da10810aa50e60a3e582755bd195e985cd08fb5a 100644 (file)
@@ -6,27 +6,28 @@
 
 \section*{1. General Introduction}  
 \addcontentsline{toc}{section}{1. General Introduction }
-
-The need and demand for more computing power have been increasing since the
-birth of the first computing unit and it is 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. Also, researchers and supercomputers
+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. 
-Therefore, these two  common approaches are the most common up to now to get more computing power, but they are increasing  the energy consumption of the resulting computing architecture.
-Indeed, the power consumed by a processor exponentially increases when its frequency increases and a platform consisting of $N$ computing nodes consumes as much as the sum of the power consumed by each computing 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 its over 3 million cores consuming around 17.8 megawatts.
+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 heat generated by the platform and therefore a cooling infrastructure \cite{ref103} which also consumes a lot of energy, must be implemented to keep the platform from overheating.  High CPU's temperatures can also drastically increase its energy consumption,  see \cite{ref104} for more details. 
-The computing platforms must be more energy efficient and offer the highest number
+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 consuming
+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
@@ -46,7 +47,7 @@ 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, the more important question is how to select the best frequency gears that minimizes the total energy consumption and the maximizes the performance of parallel application running over a parallel platform at the same time?
+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?
 
 
 
@@ -55,46 +56,46 @@ give the most energy efficient execution due to energy leakage that increases th
 \section*{2. Motivation of the Dissertation}
 \addcontentsline{toc}{section}{2. Motivation of the Dissertation }
 
-The main objective of HPC systems is to execute as fast as possible the sequential application over a parallel architecture.
-Hence, using DVFS to scale down the frequencies of CPUs composing the parallel architecture for energy reduction process, it can also significantly  degrade the performance of the executed program if it is compute bound, when the program depends mainly of the computing power of the processor, and if a low CPU frequency is selected.    
+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 the parallel applications when scaling the frequency of  processors executing them because one affects the other. There are a very few works in the state of the art have been dedicated for this problem. Therefore, mathematical models of both the energy consumption and  performance of the parallel application running over a parallel platform are required and should be defined precisely to discover the best relation between them.
+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 that gives the best trade-off between the energy reduction and performance degradation ratio, which might be chosen during execution (online) or during a pre-execution phase (offline). Thus, the best optimization approach to optimize the energy consumption and the performance at the same time  must be applied online with a very low overhead on the execution time of the parallel application.
+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 contributions of this dissertation focus on optimizing both the energy consumption and the performance of iterative parallel applications running over clusters and grids. The main contributions of this work summarize as follows: 
+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: 
 
 \begin{enumerate} [I)]
 
-\item  We develop an energy consumption and performance models for synchronous and asynchronous message passing iterative applications. These models take into consideration both the computation and communications times of these application, in addition to their relation with frequency scaling factors. 
+\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. 
 
-\item The iterative parallel applications 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  connecting these nodes on the energy consumption and the performance of iterative  applications.
+\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, we define a new  objective function to optimize both  the energy consumption and the performance of the iterative parallel applications at the same. The proposed objective function compute the maximum distance between the predicted energy consumption and the predicted performance curves to define the best possible trade-off between them. 
+\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  a new online frequencies selecting algorithms for cluster and grid are developed which used the new objective function. These algorithms  selected 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 are working without training and profiling. 
+\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 We conducted extensive simulation experiments over 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 simulation ones.
-The experimental results were executed over different number of nodes and different  platform scenarios.
 
-\item  In both the simulation and real experiments, NAS parallel benchmarks \cite{ref65} and Multi-splitting method solving 3D problem with different sizes used as a parallel applications were executed on clusters and grids. The final goal, is to evaluate the proposed methods  over these applications and test their adaptation to these applications when different computation and communication ratios are existed.
+\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 All the proposed methods of this work compared with two approaches found in the literature: Rauber and Rünger    \cite{ref47} and  Spiliopoulos et al.  \cite{ref67} methods. Both the simulation and real testbed results  showed that the proposed methods gives better energy and performance trade-off ratios than these methods.
+\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 a scientific background about types of parallel architectures, the parallel iterative applications and the 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 propose energy and performance optimization method for synchronous iterative applications running over homogeneous cluster. Chapter \ref{ch3}  presents two algorithms for the energy and performance optimization of synchronous iterative applications running over heterogeneous cluster and grid. Chapter \ref{ch4} presents  
-the proposed energy and performance optimization method for asynchronous iterative applications running over grid. Finally, we conclude our work of this dissertation in chapter \ref{ch5}.
+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
index 1eb920fc8f8bbad6cbfe1b0de8bb3d1befd6f5aa..411b2b1b8517651dcb8f16b2f77c8358251db1e5 100644 (file)
@@ -1,12 +1,39 @@
-
 \chapter*{Publications}
 \label{chap:publications}
 \addcontentsline{toc}{part}{Publications}
 
 \section*{Journal Articles}
+\begin{enumerate}[$\lbrack$1$\rbrack$]
 
+\item Ahmed Fanfakh, Jean-Claude Charr, Raphaël Couturier,  Arnaud Giersch. Optimizing Energy Consumption with 
+      DVFS for Message Passing Iterative Applications on Grid Architectures. \textit{Journal of Computational 
+      Science, 2016, ($1^{st}$ Revision Submitted)}
 
+\item Ahmed Fanfakh, Jean-Claude Charr, Raphaël Couturier,  Arnaud Giersch. Energy Consumption Reduction for     
+      Asynchronous Message Passing Applications.  \textit{Journal of Supercomputing, 2016, (Submitted)}
  
+\end{enumerate}
 
 \section*{Conference Articles}
 
+\begin{enumerate}[$\lbrack$1$\rbrack$]
+
+\item Jean-Claude Charr, Raphaël Couturier, Ahmed Fanfakh, Arnaud Giersch. Dynamic Frequency Scaling for
+      Energy Consumption Reduction in Distributed MPI Programs. \textit{ISPA 2014: The $12^{th}$ IEEE
+      International Symposium on Parallel and Distributed Processing with Applications}, pp.
+      225-230. IEEE Computer Society, Milan, Italy (2014).
+
+\item Jean-Claude Charr, Raphaël Couturier, Ahmed Fanfakh, Arnaud Giersch. Energy Consumption Reduction
+      with DVFS for Message Passing Iterative Applications on Heterogeneous Architectures.
+      \textit{The $16^{th}$ IEEE International Workshop on Parallel and Distributed Scientific and
+      Engineering Computing}. pp. 922-931. IEEE Computer Society, INDIA (2015).
+
+\item Ahmed Fanfakh, Jean-Claude Charr, Raphaël Couturier,  Arnaud Giersch. CPUs Energy Consumption
+      Reduction for Asynchronous Parallel Methods Running over Grids. \textit{The $19^{th}$ IEEE 
+      International Conference on Computational Science and Engineering}. IEEE Computer Society, 
+      Paris (2016).  \textit{(Submitted)}
+
+\end{enumerate}
+
+
+\cleardoublepage
\ No newline at end of file
index 0063bacd9caf3559617647d63c258696ff982e93..72b8c471c11775b08bf5b372227e14057fde4ab4 100644 (file)
@@ -15,7 +15,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \include{Abstruct}  
-\include{Resume}
+%\include{Resume}
 %% Sommaire
 
 \tableofcontents
 \setlength{\parindent}{0.5cm} 
 
 \addcontentsline{toc}{chapter}{List of Abbreviations}
-%% tr
+
 \include{ACRONYMS}
 
-\include{Dedication}
+%\include{Dedication}
 
-\include{acknowledgements}
+%\include{acknowledgements}
    
 %% Citation
 %\include{CITATION}
 
 \include{CHAPITRE_01}
 
-
 \part{Contributions}
 
 \include{CHAPITRE_02}
+
 \include{CHAPITRE_03}
+
 \include{CHAPITRE_04}
 
 \part{Conclusion and Perspectives}
 %% Conclusion et perspectives
 \include{CONCLUSION}
-
 \setlength{\parindent}{0cm} 
 
--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %% Publications
 \include{PUBLICATIONS}
 
index 4461b86f6b063a432af7d269197078adfedbd738..79aaa66814c06aae09d0f939efd747c9b21ed6cd 100644 (file)
@@ -36,6 +36,7 @@
 \usepackage{afterpage}
 \usepackage{commath}
 \usepackage[autolanguage,np]{numprint}
+
 %\usepackage{algorithm2e} 
 \newcommand\blankpage{%
     \null
@@ -77,7 +78,7 @@
 %% The second mandatory parameter is the date of the PhD defense.
 %% The third mandatory parameter is the reference number given by the University Library after the PhD defense.
 %\declarethesis[Sous-titre]{Titre}{17 septembre 2012}{XXX}
-\declarethesis{Energy Consumption Optimization of Parallel Iterative Applications using CPU Frequency Scaling}{Date}{21306697}
+\declarethesis{Energy Consumption Optimization of Parallel Applications with Iterations using CPU Frequency Scaling}{Date}{21306697}
  
 %%--------------------
 %% Set the author of the PhD thesis
 % \addjury {} {Prof Ye-Qiong SONG} {University of Lorraine} {Reviewer}
 %\addjury{} {Assoc Prof Hamida SEBA (HDR)} {University of Claude Bernard Lyon1} {Reviewer}
 %\addjury {}{Prof Sylvain CONTASSOT-VIVIER} {University of Lorraine} {Examiner}
-%\addjury {} {Prof Raphaël Couturier} {University of Franche-Comt\'e} {Supervisor}
-%\addjury {} {Asst Prof Karine Deschinkel} {University of Franche-Comt\'e} { Co-supervisor}
+\addjury {} {Prof Raphaël Couturier} {University of Franche-Comt\'e} {Supervisor}
+\addjury {} {Asst Prof Jean-Claude Charr} {University of Franche-Comt\'e} { Co-supervisor}
 %\addjury {} {Asst Prof Michel Salomon} {University of Franche-Comt\'e} {Co-supervisor}
  
  
index 3d2fbbfc7521ed8664ac1b39cbb9c68a67e74185..a0e5424820c4a2b1af676f662f0fde43da067a43 100644 (file)
Binary files a/fig/ch3/dist-eps-converted-to.pdf and b/fig/ch3/dist-eps-converted-to.pdf differ
index 01ffcbc4bd90a3c519b423bc18e1b0d45b19ba77..8bc759bf48a46e5d2320a6ae8b6bc93dc39ad335 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:39:41 2015
+%%CreationDate: Tue Jun 14 18:30:33 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:39:41 2015)
+  /CreationDate (Tue Jun 14 18:30:33 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -849,7 +849,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance %)]
 ] -60.0 MCshow
 grestore
 LTb
index 66a1560751af092833d822221222e9604bae2e9f..304d804756fc2716e010ed56b958f7e8aa1e0ab7 100644 (file)
Binary files a/fig/ch3/dist_mc-eps-converted-to.pdf and b/fig/ch3/dist_mc-eps-converted-to.pdf differ
index 240fa99c834b41dc9370e0e43e0750e496cc9993..a922b1bac5c7a10aa2909c60f3440d8ec9fcdc6c 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 17:45:05 2015
+%%CreationDate: Tue Jun 14 18:34:45 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 17:45:05 2015)
+  /CreationDate (Tue Jun 14 18:34:45 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -823,7 +823,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance %)]
 ] -60.0 MCshow
 grestore
 LTb
index 7b069ab9310f901ac771946ec7cf09cf42e93631..4352d37674327360d46f4afab616294b9e0cc028 100644 (file)
Binary files a/fig/ch3/dist_pow-eps-converted-to.pdf and b/fig/ch3/dist_pow-eps-converted-to.pdf differ
index 488d6ff481198190f85c268ec84a95169791d2ea..e8fc58ff26a99fe86436d6c4a42967239ea98fbd 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:45:35 2015
+%%CreationDate: Tue Jun 14 18:33:00 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:45:35 2015)
+  /CreationDate (Tue Jun 14 18:33:00 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -823,7 +823,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance %)]
 ] -60.0 MCshow
 grestore
 LTb
@@ -839,11 +839,11 @@ LTb
 1.000 UL
 LT0
 0.10 0.10 0.44 C LCb setrgbcolor
-1761 3246 M
+1761 3324 M
 [ [(Helvetica) 140.0 0.0 true true 0 (10% static power)]
 ] -46.7 MRshow
 LT0
-0.10 0.10 0.44 C 1.000 1827 3213 327 66 BoxColFill
+0.10 0.10 0.44 C 1.000 1827 3291 327 66 BoxColFill
 0.10 0.10 0.44 C 1.000 921 352 88 2178 BoxColFill
 0.10 0.10 0.44 C 1.000 1467 352 88 2060 BoxColFill
 0.10 0.10 0.44 C 1.000 2013 352 88 1905 BoxColFill
@@ -856,11 +856,11 @@ LT0
 1.000 UL
 LT1
 0.24 0.70 0.44 C LCb setrgbcolor
-1761 3114 M
+1761 3192 M
 [ [(Helvetica) 140.0 0.0 true true 0 (20% static power)]
 ] -46.7 MRshow
 LT1
-0.24 0.70 0.44 C 1.000 1827 3081 327 66 BoxColFill
+0.24 0.70 0.44 C 1.000 1827 3159 327 66 BoxColFill
 0.24 0.70 0.44 C 1.000 1030 352 88 1855 BoxColFill
 0.24 0.70 0.44 C 1.000 1576 352 88 2234 BoxColFill
 0.24 0.70 0.44 C 1.000 2122 352 88 1856 BoxColFill
@@ -873,11 +873,11 @@ LT1
 1.000 UL
 LT0
 1.00 0.71 0.76 C LCb setrgbcolor
-1761 2982 M
+1761 3060 M
 [ [(Helvetica) 140.0 0.0 true true 0 (30% static power)]
 ] -46.7 MRshow
 LT0
-1.00 0.71 0.76 C 1.000 1827 2949 327 66 BoxColFill
+1.00 0.71 0.76 C 1.000 1827 3027 327 66 BoxColFill
 1.00 0.71 0.76 C 1.000 1139 352 88 266 BoxColFill
 1.00 0.71 0.76 C 1.000 1685 352 88 1018 BoxColFill
 1.00 0.71 0.76 C 1.000 2231 352 88 1441 BoxColFill
index afdfc821a5437a681a455eb95378ff325b1afc0f..88ec309a1326b9aa21ed1f5d9f2453db63a895c4 100644 (file)
Binary files a/fig/ch3/edp_dist-eps-converted-to.pdf and b/fig/ch3/edp_dist-eps-converted-to.pdf differ
index 8389b5dc3a0ef09b1dd6548d7193b106d47f60e9..806c379712528acdaccb71832f014df0302c7370 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Apr 21 10:02:20 2016
+%%CreationDate: Tue Jun 14 18:36:20 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Apr 21 10:02:20 2016)
+  /CreationDate (Tue Jun 14 18:36:20 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -875,7 +875,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Tradeoff distance %)]
 ] -60.0 MCshow
 grestore
 LTb
index c6e22e3f0767d4becfde18ffe79f6ce95e5f3a80..174d079a95691cfda55975f079ad4a64ab9f389f 100644 (file)
Binary files a/fig/ch3/edp_eng-eps-converted-to.pdf and b/fig/ch3/edp_eng-eps-converted-to.pdf differ
index 850de41f648d6c2555de9195ba0e9e38842bc242..76061969b4ace6508a5bea87fd623566bf5bdb09 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:36:19 2015
+%%CreationDate: Tue Jun 14 18:05:51 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:36:19 2015)
+  /CreationDate (Tue Jun 14 18:05:51 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -849,7 +849,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving %)]
 ] -60.0 MCshow
 grestore
 LTb
index 8da5afb8fa69b20c360c36c4fa9adb5e369332c6..b2727bd5dc09cb8f689e6ea4ce86a79f19e11839 100644 (file)
Binary files a/fig/ch3/edp_per-eps-converted-to.pdf and b/fig/ch3/edp_per-eps-converted-to.pdf differ
index 1fb48ec014674b512c8fd876a44f4ee7eec93e25..85c760cd119c70c80ee07dc708cee80624b1c0ba 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:36:20 2015
+%%CreationDate: Tue Jun 14 18:25:02 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:36:20 2015)
+  /CreationDate (Tue Jun 14 18:25:02 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -797,7 +797,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation %)]
 ] -60.0 MCshow
 grestore
 LTb
index 6a37f89f1c9336dfe63fb4516666dc360f30f01d..5634eb5a56dd8af8f65de8070bf3f6ab52da359d 100644 (file)
Binary files a/fig/ch3/energy-eps-converted-to.pdf and b/fig/ch3/energy-eps-converted-to.pdf differ
index 2a54918f2371b66fe64eb8c3ed56913b74dd107a..d97049e072ee9d7b4a8500b1a345aca1bfd5f6b1 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0 EPSF-2.0
 %%Title: energy.eps
-%%Creator: gnuplot 4.6 patchlevel 0
-%%CreationDate: Thu Feb 19 16:44:03 2015
+%%Creator: gnuplot 4.6 patchlevel 6
+%%CreationDate: Tue Jun 14 17:35:21 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 320 239
 %%EndComments
@@ -47,7 +47,7 @@ gnudict begin
   } if
 } def
 %
-% Gnuplot Prolog Version 4.4 (August 2010)
+% Gnuplot Prolog Version 4.6 (September 2012)
 %
 %/SuppressPDFMark true def
 %
@@ -314,7 +314,8 @@ gnudict begin
 /PatternFill {gsave /PFa [ 9 2 roll ] def
   PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
   PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
-  gsave 1 setgray fill grestore clip
+  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+  clip
   currentlinewidth 0.5 mul setlinewidth
   /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
   0 0 M PFa 5 get rotate PFs -2 div dup translate
@@ -428,11 +429,11 @@ systemdict /pdfmark known not {
 SDict begin [
   /Title (energy.eps)
   /Subject (gnuplot plot)
-  /Creator (gnuplot 4.6 patchlevel 0)
+  /Creator (gnuplot 4.6 patchlevel 6)
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Feb 19 16:44:03 2015)
+  /CreationDate (Tue Jun 14 17:35:21 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -450,223 +451,267 @@ newpath
 BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {BackgroundColor C 1.000 0 0 5400.00 3780.00 BoxColFill} if
 1.000 UL
 LTb
-602 588 M
+602 448 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
-518 588 M
+/vshift -63 def
+518 448 M
 ( 0) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 948 M
+602 825 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
-518 948 M
+/vshift -63 def
+518 825 M
 ( 5) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 1308 M
+602 1201 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 10) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 1668 M
+602 1578 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 15) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 2028 M
+602 1954 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 20) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 2387 M
+602 2331 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 25) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 2747 M
+602 2707 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 30) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 3107 M
+602 3084 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 35) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 3467 M
+602 3460 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 40) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-604 588 M
+604 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-604 448 M
+/vshift -63 def
+604 308 M
 ( 0) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-1088 588 M
+1088 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 16) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-1572 588 M
+1572 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 32) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-2057 588 M
+2057 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 48) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-2541 588 M
+2541 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 64) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-3026 588 M
+3026 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 80) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-3510 588 M
+3510 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 96) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-3995 588 M
+3995 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 112) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-4479 588 M
+4479 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 128) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-4964 588 M
+4964 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 144) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
 1.000 UL
 LTb
 602 3611 N
-602 588 L
+602 448 L
 4545 0 V
-0 3023 V
+0 3163 V
 -4545 0 V
 Z stroke
 LCb setrgbcolor
 /Helvetica findfont 210 scalefont setfont
-112 2099 M
+/vshift -70 def
+112 2029 M
 currentpoint gsave translate -270 rotate 0 0 M
-(Energy saving) Cshow
+(Energy saving %) Cshow
 grestore
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LTb
 LCb setrgbcolor
 /Helvetica findfont 210 scalefont setfont
-2974 98 M
+/vshift -70 def
+2874 98 M
 ( Number of nodes) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LTb
 1.000 UP
 /Helvetica findfont 190 scalefont setfont
-649 620 M
+/vshift -63 def
+649 482 M
 (              ) Lshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
 % Begin plot #1
@@ -675,24 +720,26 @@ LTb
 LT0
 0.00 0.00 1.00 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 1259 3443 M
 (CG) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.00 0.00 1.00 C 709 3443 M
 298 0 V
-725 3047 M
-846 2838 L
-242 -357 V
-484 -730 V
-969 -578 V
-4479 876 L
-725 3047 Box
-846 2838 Box
-1088 2481 Box
-1572 1751 Box
-2541 1173 Box
-4479 876 Box
+725 3020 M
+846 2802 L
+242 -374 V
+484 -763 V
+969 -605 V
+4479 750 L
+725 3020 Box
+846 2802 Box
+1088 2428 Box
+1572 1665 Box
+2541 1060 Box
+4479 750 Box
 858 3443 Box
 % End plot #1
 % Begin plot #2
@@ -701,24 +748,26 @@ LT0
 LT0
 1.00 0.00 0.00 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 1893 3443 M
 (MG) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 1.00 0.00 0.00 C 1343 3443 M
 298 0 V
-725 3134 M
-846 3020 L
-242 -93 V
-484 -256 V
-969 24 V
-4479 1940 L
-725 3134 TriD
-846 3020 TriD
-1088 2927 TriD
-1572 2671 TriD
-2541 2695 TriD
-4479 1940 TriD
+725 3112 M
+846 2992 L
+242 -97 V
+484 -268 V
+969 26 V
+4479 1862 L
+725 3112 TriD
+846 2992 TriD
+1088 2895 TriD
+1572 2627 TriD
+2541 2653 TriD
+4479 1862 TriD
 1492 3443 TriD
 % End plot #2
 % Begin plot #3
@@ -727,24 +776,26 @@ LT0
 LT0
 0.50 0.00 0.50 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 2527 3443 M
 (EP) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.50 0.00 0.50 C 1977 3443 M
 298 0 V
-725 2519 M
-121 15 V
-242 -13 V
-484 9 V
-969 10 V
-1938 -2 V
-725 2519 Star
-846 2534 Star
-1088 2521 Star
-1572 2530 Star
-2541 2540 Star
-4479 2538 Star
+725 2468 M
+121 17 V
+242 -15 V
+484 10 V
+969 11 V
+1938 -3 V
+725 2468 Star
+846 2485 Star
+1088 2470 Star
+1572 2480 Star
+2541 2491 Star
+4479 2488 Star
 2126 3443 Star
 % End plot #3
 % Begin plot #4
@@ -753,24 +804,26 @@ LT0
 LT0
 0.18 0.31 0.31 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 3161 3443 M
 (LU) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.18 0.31 0.31 C 2611 3443 M
 298 0 V
-725 3036 M
-846 2620 L
-242 41 V
-484 -374 V
-969 -118 V
-4479 1788 L
-725 3036 TriUF
-846 2620 TriUF
-1088 2661 TriUF
-1572 2287 TriUF
-2541 2169 TriUF
-4479 1788 TriUF
+725 3009 M
+846 2574 L
+242 43 V
+484 -391 V
+969 -124 V
+4479 1704 L
+725 3009 TriUF
+846 2574 TriUF
+1088 2617 TriUF
+1572 2226 TriUF
+2541 2102 TriUF
+4479 1704 TriUF
 2760 3443 TriUF
 % End plot #4
 % Begin plot #5
@@ -779,24 +832,26 @@ LT0
 LT0
 0.18 0.55 0.34 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 3795 3443 M
 (BT) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.18 0.55 0.34 C 3245 3443 M
 298 0 V
-725 3133 M
-876 2915 L
-212 189 V
+725 3111 M
+876 2882 L
+212 198 V
 606 -24 V
-847 -187 V
-4964 2257 L
-725 3133 BoxF
-876 2915 BoxF
-1088 3104 BoxF
-1694 3080 BoxF
-2541 2893 BoxF
-4964 2257 BoxF
+847 -196 V
+4964 2194 L
+725 3111 BoxF
+876 2882 BoxF
+1088 3080 BoxF
+1694 3056 BoxF
+2541 2860 BoxF
+4964 2194 BoxF
 3394 3443 BoxF
 % End plot #5
 % Begin plot #6
@@ -805,24 +860,26 @@ LT0
 LT0
 0.85 0.65 0.13 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 4429 3443 M
 (SP) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.85 0.65 0.13 C 3879 3443 M
 298 0 V
-725 3123 M
-876 2368 L
-212 -161 V
+725 3100 M
+876 2311 L
+212 -169 V
 606 17 V
-847 152 V
-2423 136 V
-725 3123 Circle
-876 2368 Circle
-1088 2207 Circle
-1694 2224 Circle
-2541 2376 Circle
-4964 2512 Circle
+847 160 V
+2423 142 V
+725 3100 Circle
+876 2311 Circle
+1088 2142 Circle
+1694 2159 Circle
+2541 2319 Circle
+4964 2461 Circle
 4028 3443 Circle
 % End plot #6
 % Begin plot #7
@@ -831,32 +888,34 @@ LT0
 LT0
 0.55 0.00 0.00 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 5063 3443 M
 (FT) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.55 0.00 0.00 C 4513 3443 M
 298 0 V
-725 3148 M
-846 2821 L
-242 41 V
-484 -612 V
-969 -212 V
-4479 1513 L
-725 3148 CircleF
-846 2821 CircleF
-1088 2862 CircleF
-1572 2250 CircleF
-2541 2038 CircleF
-4479 1513 CircleF
+725 3127 M
+846 2784 L
+242 43 V
+484 -640 V
+969 -222 V
+4479 1416 L
+725 3127 CircleF
+846 2784 CircleF
+1088 2827 CircleF
+1572 2187 CircleF
+2541 1965 CircleF
+4479 1416 CircleF
 4662 3443 CircleF
 % End plot #7
 1.000 UL
 LTb
 602 3611 N
-602 588 L
+602 448 L
 4545 0 V
-0 3023 V
+0 3163 V
 -4545 0 V
 Z stroke
 1.000 UP
@@ -866,3 +925,5 @@ stroke
 grestore
 end
 showpage
+%%Trailer
+%%DocumentFonts: Helvetica
index de6f852477ab6752dca5b5b56d359f0c1aedc52c..1fd83fc1abce7fbe0d2e002b309400f0c4751cd7 100644 (file)
Binary files a/fig/ch3/eng_pow-eps-converted-to.pdf and b/fig/ch3/eng_pow-eps-converted-to.pdf differ
index d17c80a99dc89b1a593fc476dd0fcafd30d461b3..b5430595f58424a0ec8d94d9b68c977614675b5e 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:43:52 2015
+%%CreationDate: Tue Jun 14 17:56:53 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:43:52 2015)
+  /CreationDate (Tue Jun 14 17:56:53 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -849,7 +849,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving %)]
 ] -60.0 MCshow
 grestore
 LTb
index eb9dd932f64ce5090b557364801317d3464f5268..bab95b7e30de2d66ac4e66bf37a70017f34fe70c 100644 (file)
Binary files a/fig/ch3/eng_s-eps-converted-to.pdf and b/fig/ch3/eng_s-eps-converted-to.pdf differ
index f944e9543d32586f2d1e301d1d783e8fe8502fd3..fccc6028d72eb7967a24588214a7040cef3581c3 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:40:02 2015
+%%CreationDate: Tue Jun 14 17:51:05 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:40:02 2015)
+  /CreationDate (Tue Jun 14 17:51:05 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -849,7 +849,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving %)]
 ] -60.0 MCshow
 grestore
 LTb
index 386f43dbc1b435223e58dae1175cc0102dda7415..95719d5ba02008cc8cbd4321414a34689b49f9cd 100644 (file)
Binary files a/fig/ch3/eng_s_mc-eps-converted-to.pdf and b/fig/ch3/eng_s_mc-eps-converted-to.pdf differ
index aa7c1059da3623700160276d9068ea3e1618232b..3a98094ff9f98dfca4256517ba09f14612d79aa1 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 17:39:34 2015
+%%CreationDate: Tue Jun 14 18:01:58 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 17:39:34 2015)
+  /CreationDate (Tue Jun 14 18:01:58 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -823,7 +823,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Energy saving %)]
 ] -60.0 MCshow
 grestore
 LTb
index 23205040daaf4a724edb9d33ac07f7a6a7ba4a8c..65fa22368dc0d34f785286f6a725bcb229248365 100644 (file)
Binary files a/fig/ch3/per_d-eps-converted-to.pdf and b/fig/ch3/per_d-eps-converted-to.pdf differ
index 8fb93bbda80d0d42860792ab6c390edf411c3121..2e22caeceb17f9a12605dc08548f1f08551e577c 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:39:50 2015
+%%CreationDate: Tue Jun 14 17:54:22 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:39:50 2015)
+  /CreationDate (Tue Jun 14 17:54:22 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -797,7 +797,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation %)]
 ] -60.0 MCshow
 grestore
 LTb
index 4bc6d6c31fdb901a5d6b536dd366379d524ca7c1..b2dbb1a2cdd40c36b33845b72a6d4d0857d44cde 100644 (file)
Binary files a/fig/ch3/per_d_mc-eps-converted-to.pdf and b/fig/ch3/per_d_mc-eps-converted-to.pdf differ
index 19d87f193c8474d5b49452308da0505eed60b32d..473c58cf5e605e9101354a652c64abe3ad050ce6 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 17:36:36 2015
+%%CreationDate: Tue Jun 14 18:03:55 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 17:36:36 2015)
+  /CreationDate (Tue Jun 14 18:03:55 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -779,7 +779,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation %)]
 ] -60.0 MCshow
 grestore
 LTb
index 821f861df737eb39cd535e8739a850c0ac32188e..263870f788e19cd196ce108a2854004d7ba46c77 100644 (file)
Binary files a/fig/ch3/per_deg-eps-converted-to.pdf and b/fig/ch3/per_deg-eps-converted-to.pdf differ
index e1ef70649e02d57cb8c2076b5c012d8ef16c5cac..3071f71b03ccab22d73bd92fc04042b7dde8dc92 100644 (file)
@@ -1,7 +1,7 @@
 %!PS-Adobe-2.0 EPSF-2.0
 %%Title: per_deg.eps
-%%Creator: gnuplot 4.6 patchlevel 0
-%%CreationDate: Thu Feb 19 16:42:46 2015
+%%Creator: gnuplot 4.6 patchlevel 6
+%%CreationDate: Tue Jun 14 17:37:32 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 320 239
 %%EndComments
@@ -47,7 +47,7 @@ gnudict begin
   } if
 } def
 %
-% Gnuplot Prolog Version 4.4 (August 2010)
+% Gnuplot Prolog Version 4.6 (September 2012)
 %
 %/SuppressPDFMark true def
 %
@@ -314,7 +314,8 @@ gnudict begin
 /PatternFill {gsave /PFa [ 9 2 roll ] def
   PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
   PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
-  gsave 1 setgray fill grestore clip
+  TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
+  clip
   currentlinewidth 0.5 mul setlinewidth
   /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
   0 0 M PFa 5 get rotate PFs -2 div dup translate
@@ -428,11 +429,11 @@ systemdict /pdfmark known not {
 SDict begin [
   /Title (per_deg.eps)
   /Subject (gnuplot plot)
-  /Creator (gnuplot 4.6 patchlevel 0)
+  /Creator (gnuplot 4.6 patchlevel 6)
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Feb 19 16:42:46 2015)
+  /CreationDate (Tue Jun 14 17:37:32 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -450,173 +451,207 @@ newpath
 BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {BackgroundColor C 1.000 0 0 5400.00 3780.00 BoxColFill} if
 1.000 UL
 LTb
-602 674 M
+602 538 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
-518 674 M
+/vshift -63 def
+518 538 M
 ( 0) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 1538 M
+602 1442 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 5) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 2402 M
+602 2346 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 10) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-602 3266 M
+602 3250 M
 63 0 V
 4482 0 R
 -63 0 V
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 -4566 0 R
 ( 15) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-604 588 M
+604 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-604 448 M
+/vshift -63 def
+604 308 M
 ( 0) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-1088 588 M
+1088 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 16) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-1572 588 M
+1572 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 32) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-2057 588 M
+2057 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 48) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-2541 588 M
+2541 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 64) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-3026 588 M
+3026 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 80) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-3510 588 M
+3510 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 96) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-3995 588 M
+3995 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 112) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-4479 588 M
+4479 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 128) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
-4964 588 M
+4964 448 M
 0 63 V
-0 2960 R
+0 3100 R
 0 -63 V
 /Helvetica findfont 190 scalefont setfont
-0 -3100 R
+/vshift -63 def
+0 -3240 R
 ( 144) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
 1.000 UL
 LTb
 602 3611 N
-602 588 L
+602 448 L
 4545 0 V
-0 3023 V
+0 3163 V
 -4545 0 V
 Z stroke
 LCb setrgbcolor
 /Helvetica findfont 210 scalefont setfont
-112 2099 M
+/vshift -70 def
+112 2029 M
 currentpoint gsave translate -270 rotate 0 0 M
-(Performance degradation) Cshow
+(Performance degradation %) Cshow
 grestore
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LTb
 LCb setrgbcolor
 /Helvetica findfont 210 scalefont setfont
-2974 98 M
+/vshift -70 def
+2874 98 M
 ( Number of nodes) Cshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LTb
 1.000 UP
 /Helvetica findfont 190 scalefont setfont
-649 752 M
+/vshift -63 def
+649 620 M
 (              ) Lshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 1.000 UL
 LTb
 % Begin plot #1
@@ -625,24 +660,26 @@ LTb
 LT0
 0.00 0.00 1.00 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 1259 3443 M
 (CG) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.00 0.00 1.00 C 709 3443 M
 298 0 V
-725 1835 M
-121 70 V
-242 423 V
-484 -737 V
-2541 965 L
-4479 865 L
-725 1835 Box
-846 1905 Box
-1088 2328 Box
-1572 1591 Box
-2541 965 Box
-4479 865 Box
+725 1753 M
+121 73 V
+242 443 V
+484 -772 V
+2541 843 L
+4479 738 L
+725 1753 Box
+846 1826 Box
+1088 2269 Box
+1572 1497 Box
+2541 843 Box
+4479 738 Box
 858 3443 Box
 % End plot #1
 % Begin plot #2
@@ -651,24 +688,26 @@ LT0
 LT0
 1.00 0.00 0.00 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 1893 3443 M
 (MG) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 1.00 0.00 0.00 C 1343 3443 M
 298 0 V
-725 1424 M
-121 359 V
-242 -63 V
-484 483 V
-969 951 V
-4479 2469 L
-725 1424 TriD
-846 1783 TriD
-1088 1720 TriD
-1572 2203 TriD
-2541 3154 TriD
-4479 2469 TriD
+725 1322 M
+121 376 V
+242 -66 V
+484 506 V
+969 995 V
+4479 2416 L
+725 1322 TriD
+846 1698 TriD
+1088 1632 TriD
+1572 2138 TriD
+2541 3133 TriD
+4479 2416 TriD
 1492 3443 TriD
 % End plot #2
 % Begin plot #3
@@ -677,24 +716,26 @@ LT0
 LT0
 0.50 0.00 0.50 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 2527 3443 M
 (EP) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.50 0.00 0.50 C 1977 3443 M
 298 0 V
-725 1199 M
-846 760 L
-242 12 V
-484 -94 V
-969 534 V
-4479 680 L
-725 1199 Star
-846 760 Star
-1088 772 Star
-1572 678 Star
-2541 1212 Star
-4479 680 Star
+725 1087 M
+846 628 L
+242 13 V
+484 -99 V
+969 559 V
+4479 544 L
+725 1087 Star
+846 628 Star
+1088 641 Star
+1572 542 Star
+2541 1101 Star
+4479 544 Star
 2126 3443 Star
 % End plot #3
 % Begin plot #4
@@ -703,24 +744,26 @@ LT0
 LT0
 0.18 0.31 0.31 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 3161 3443 M
 (LU) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.18 0.31 0.31 C 2611 3443 M
 298 0 V
-725 1739 M
-846 676 L
-242 1132 V
-484 -709 V
-969 211 V
-4479 1082 L
-725 1739 TriUF
-846 676 TriUF
-1088 1808 TriUF
-1572 1099 TriUF
-2541 1310 TriUF
-4479 1082 TriUF
+725 1653 M
+846 540 L
+242 1184 V
+1572 983 L
+969 220 V
+4479 965 L
+725 1653 TriUF
+846 540 TriUF
+1088 1724 TriUF
+1572 983 TriUF
+2541 1203 TriUF
+4479 965 TriUF
 2760 3443 TriUF
 % End plot #4
 % Begin plot #5
@@ -729,24 +772,26 @@ LT0
 LT0
 0.18 0.55 0.34 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 3795 3443 M
 (BT) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.18 0.55 0.34 C 3245 3443 M
 298 0 V
-725 2140 M
-876 2038 L
-212 -362 V
+725 2072 M
+876 1965 L
+212 -378 V
 606 6 V
-847 1114 V
-4964 896 L
-725 2140 BoxF
-876 2038 BoxF
-1088 1676 BoxF
-1694 1682 BoxF
-2541 2796 BoxF
-4964 896 BoxF
+847 1166 V
+4964 770 L
+725 2072 BoxF
+876 1965 BoxF
+1088 1587 BoxF
+1694 1593 BoxF
+2541 2759 BoxF
+4964 770 BoxF
 3394 3443 BoxF
 % End plot #5
 % Begin plot #6
@@ -755,24 +800,26 @@ LT0
 LT0
 0.85 0.65 0.13 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 4429 3443 M
 (SP) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.85 0.65 0.13 C 3879 3443 M
 298 0 V
-725 1658 M
-876 1155 L
-212 180 V
-606 -64 V
-2541 680 L
+725 1567 M
+876 1042 L
+212 187 V
+606 -66 V
+2541 544 L
 2423 3 V
-725 1658 Circle
-876 1155 Circle
-1088 1335 Circle
-1694 1271 Circle
-2541 680 Circle
-4964 683 Circle
+725 1567 Circle
+876 1042 Circle
+1088 1229 Circle
+1694 1163 Circle
+2541 544 Circle
+4964 547 Circle
 4028 3443 Circle
 % End plot #6
 % Begin plot #7
@@ -781,32 +828,34 @@ LT0
 LT0
 0.55 0.00 0.00 C LCb setrgbcolor
 /Helvetica findfont 190 scalefont setfont
+/vshift -63 def
 5063 3443 M
 (FT) Rshow
 /Helvetica findfont 140 scalefont setfont
+/vshift -46 def
 LT0
 0.55 0.00 0.00 C 4513 3443 M
 298 0 V
-725 847 M
-121 267 V
-242 680 V
-484 -617 V
-969 339 V
-4479 1166 L
-725 847 CircleF
-846 1114 CircleF
-1088 1794 CircleF
-1572 1177 CircleF
-2541 1516 CircleF
-4479 1166 CircleF
+725 719 M
+846 998 L
+242 712 V
+484 -646 V
+969 355 V
+4479 1052 L
+725 719 CircleF
+846 998 CircleF
+1088 1710 CircleF
+1572 1064 CircleF
+2541 1419 CircleF
+4479 1052 CircleF
 4662 3443 CircleF
 % End plot #7
 1.000 UL
 LTb
 602 3611 N
-602 588 L
+602 448 L
 4545 0 V
-0 3023 V
+0 3163 V
 -4545 0 V
 Z stroke
 1.000 UP
index 472848b59aa09735a3bf00225391954637c80ca3..dc25bd6bb44b21b9ec67ae6c9306f346d7550323 100644 (file)
Binary files a/fig/ch3/per_pow-eps-converted-to.pdf and b/fig/ch3/per_pow-eps-converted-to.pdf differ
index 6f42b287f17156271a15441ceb60644f0224231e..0fb8db654d022d431493dfaded1907e6174d6c2a 100644 (file)
@@ -1,6 +1,6 @@
 %!PS-Adobe-2.0
 %%Creator: gnuplot 4.6 patchlevel 6
-%%CreationDate: Thu Oct 22 12:44:35 2015
+%%CreationDate: Tue Jun 14 17:58:31 2016
 %%DocumentFonts: (atend)
 %%BoundingBox: 50 50 554 410
 %%Orientation: Portrait
@@ -506,7 +506,7 @@ SDict begin [
   /Author (afanfakh)
 %  /Producer (gnuplot)
 %  /Keywords ()
-  /CreationDate (Thu Oct 22 12:44:35 2015)
+  /CreationDate (Tue Jun 14 17:58:31 2016)
   /DOCINFO pdfmark
 end
 } ifelse
@@ -745,7 +745,7 @@ Z stroke
 LCb setrgbcolor
 88 1910 M
 currentpoint gsave translate -270 rotate 0 0 moveto
-[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation)]
+[ [(Helvetica) 180.0 0.0 true true 0 (Performance degradation %)]
 ] -60.0 MCshow
 grestore
 LTb
index 5680d4c794af53840dbd4f44dc77d7a617a182c1..81116ab7695416cddbd309b06c491b50af3af3dd 100644 (file)
 
 
 \begin{center}%
-{\huge \textbf{Energy Consumption Optimization of Parallel Iterative Applications using 
-CPU \\ Frequency Scaling}} \\[.5cm]
+{\huge \textbf{Energy Consumption Optimization of Parallel Applications with iterations using \\
+CPU Frequency Scaling}} \\[.5cm]
 {\large By}\\[.5cm]%
-{\huge Ahmed Badri Muslim Fanfakh}\\[.5cm]%
+{\huge Ahmed Badri Muslim FANFAKH}\\[.5cm]%
 \end{center}
 
 \begin{center}%