%% Use the standard UP-methodology class
%% with French language and Book layout.
%%
%% Change the 'book' option below to 'report'
%% if you want to use a report style (see your LaTeX
%% documention about the different between a report
%% and a book class).
%%
%% You may also specify 'twoside' or 'oneside' option.
%% By default 'book' is two-sided and 'report' is one-sided.
%%
%% See the documentation tex-upmethodology on
%% http://www.arakhne.org/tex-upmethodology/
%% for details about the macros that are provided by the class and
%% to obtain the list of the packages that are already included. 
%\documentclass[french,book,nopubpage,nodocumentinfo]{upmethodology-document}

 %\documentclass[french,book,nopubpage,nodocumentinfo]{spimufcphdthesis}
\documentclass[english, book,nopubpage,nodocumentinfo]{spimufcphdthesis}
%%--------------------
\usepackage[acronym,smallcaps]{glossaries}
\newcommand{\abbrlabel}[1]{\makebox[2cm][l]{\textbf{#1}\ \dotfill}}
\newenvironment{abbreviations}{\begin{list}{}{\renewcommand{\makelabel}{\abbrlabel}}}{\end{list}}
\usepackage{tabularx}
\usepackage[utf8]{inputenc}
\usepackage{enumerate}
\usepackage[english]{babel}
%\usepackage[french]{babel}
\usepackage{booktabs}
%\usepacke{subfig}
\usepackage{multirow}
\usepackage{array}
\usepackage{picture}
\usepackage[section]{placeins}
\usepackage{float}
\usepackage{afterpage}
\usepackage{commath}
\usepackage[autolanguage,np]{numprint}

%\usepackage{algorithm2e} 
\newcommand\blankpage{%
    \null
    \thispagestyle{empty}%
    \addtocounter{page}{-1}%
    \newpage}

\def\setgrouptext#1{\gdef\grouptext{#1}}
\newenvironment{groupeditems}{\begin{displaymath}\left.\vbox\bgroup\setgrouptext}{%
  \egroup\right\rbrace\hbox{\grouptext}\end{displaymath}}

\newcommand*\rot{\rotatebox{90}}
\newcommand*\OK{\ding{51}}

\newcommand{\mcrot}[4]{\multicolumn{#1}{#2}{\rlap{\rotatebox{#3}{#4}~}}} 

\newcommand*{\twoelementtable}[3][l]%
{%  
    \renewcommand{\arraystretch}{0.8}%
    \begin{tabular}[t]{@{}#1@{}}%
        #2\tabularnewline
        #3%
    \end{tabular}%
}




%%--------------------
%% Use the style dedicated to PhD thesis from SPIM-UFC
\UseExtension{spimufcphdthesis}


%%--------------------
%% Set the title, subtitle, defense date, and
%% the registration number of the PhD thesis.
%% The optional parameter is the subtitle of the PhD thesis.
%% The first mandatory parameter is the title of the PhD thesis.
%% 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 Applications with Iterations using CPU Frequency Scaling}{}{}
 
%%--------------------
%% Set the author of the PhD thesis
%%\addauthor[email]{Prénom}{Nom}
\addauthor[ahmed.fanfakh_badri_muslim@univ-fcomte.fr]{Ahmed Badri Muslim}{Fanfakh}

 \iffalse
%%--------------------
%% Add a member of the jury
%% \addjury{Firstname}{Lastname}{Role in the jury}{Position}
%\addjury{...}{...} {...}{...}
%\addjury{Ye-Qiong}{SONG}{Reviewer} {Professor at University of Lorraine}
%\addjury{Hamida}{SEBA}{Reviewer}{Associate Professor (HDR) at University of Claude Bernard Lyon1}
%\addjury{x4}{y4}{Examiner}{Professor at University of}
%\addjury{Raphaël}{Couturier}{Supervisor}{Professor at University of Franche-Comt\'e}
%\addjury{Karine}{Deschinkel}{Co-Supervisor}{Assistant Professor at University of Franche-Comt\'e}
%\addjury{Michel}{Salomon}{Co-Supervisor}{Assistant Professor at University of Franche-Comt\'e}
\fi
\addjury{} {DR Fabienne Jézéquel(HDR)} {University of Paris 6} {Reviewer}
 \addjury {} {Pr Jean-Marc Pierson} {University of Toulouse 3} {Reviewer}
\addjury {}{Pr Nabil Abdennadher} {University of HES-SO, Switzerland} {Examiner}
\addjury {} {Pr Raphaël Couturier} {University of Franche-Comt\'e} {Supervisor}
\addjury {} {Dr Jean-Claude Charr} {University of Franche-Comt\'e} { Co-supervisor}
%\addjury {} {Asst Prof Michel Salomon} {University of Franche-Comt\'e} {Co-supervisor}
 
 
% Supervisors:\\
%Committee:\\
%%--------------------
%% Set the English abstract
\thesisabstract[english]{ 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.


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. 


}

\thesiskeywords[english]{Dynamic voltage and frequency scaling, Grid computing,  Energy optimization, parallel applications with iterations  and online frequency scaling algorithm. }

 \vspace{-5cm}
%%--------------------
%% Set the French abstract
\thesisabstract[french]{Cette thèse présente des algorithmes développés pour optimiser la consommation d'énergie et les performances des applications parallèles avec des itérations synchrones et asynchrones sur des clusters ou des grilles. Les modèles de consommation d'énergie et de performance proposés pour chaque type d'application parallèle permettent de prédire le temps d'exécution et la consommation d'énergie d'une application pour toutes les fréquences disponibles. La contribution de cette thèse peut être divisé en trois parties. Tout d'abord, il s'agit d'optimiser le compromis entre la consommation d'énergie et les performances des applications parallèles avec des itérations synchrones sur des clusters homogènes. Deuxièmement, nous avons adapté les modèles de performance énergétique aux plates-formes hétérogènes dans lesquelles chaque noeud peut avoir des spécifications différentes telles que la puissance de calcul, la consommation d'énergie, différentes fréquences de fonctionnement ou encore des latences et des bandes passantes réseaux différentes. L'algorithme d'optimisation de la fréquence CPU a également été modifié en fonction de l'hétérogénéité de la plate-forme. Troisièmement, les modèles et l'algorithme d'optimisation de la fréquence CPU ont été complètement repensés pour prendre en considération les spécificités des algorithmes itératifs asynchrones.
Tous ces modèles et algorithmes ont été appliqués sur des applications parallèles utilisant la bibliothèque MPI et ont été exécutés avec le simulateur Simgrid ou sur la plate-forme Grid'5000. Les expériences ont montré que les algorithmes proposés sont plus efficaces que les méthodes existantes. Ils n’introduisent qu’un faible surcoût et ne nécessitent pas de profilage au préalable car ils sont exécutés au cours du déroulement de l’application.
}

\thesiskeywords[french]{l'ajustement dynamique de la tension et de la fréquence d'un processeur, Grille de calcul,  Optimisation de l'énergie, applications parallèles avec des itérations et 
en ligne algorithme fréquence ajustement.
}

  
%%--------------------
%% Change the speciality of the PhD thesis
%\Set{speciality}{Informatique}

 
%%--------------------
%% Change the institution
%\Set{universityname}{Universit\'e de Technologie de Belfort-Montb\'eliard}

 
%%--------------------
%% Change the header and the foot of the pages
%% Left header
%\lhead{}
%% Center header
%\chead{}
%% Right header
%\rhead{}
%% Left footer
%\lfoot{}
%% Center footer
%\cfoot{}
%% Right footer
%\rfoot{}

%%--------------------
%% itemize*
%\usepackage{mdwlist}
%\usepackage{enumerate}

%%tableaux
%\usepackage{multirow}

%\usepackage{lscape}
%\usepackage{pdflscape}
%\usepackage{geometry}
%\usepackage{changemargin}

%%--------------------
%% Algorithmes
%\usepackage{algorithmic}
%\usepackage[ruled,english,boxed,linesnumbered]{algorithm2e}
%\usepackage[english]{algorithme}
\usepackage{algorithm}
\usepackage{subfigure}
\usepackage{listings}
\usepackage{algpseudocode}
\usepackage{graphicx,graphics}
%\usepackage{subfig}
\usepackage{listings}
\usepackage{colortbl}
\usepackage{amsmath}

%%--------------------
%% boxedverbatim
%\usepackage{moreverb}

%%--------------------
%% Mathematics
%\usepackage{amsmath,amsfonts}
%\usepackage{amssymb}
%\newcommand{\scalprod}[2]%
%{\ensuremath{\langle #1 \, , #2 \rangle}}
%\usepackage{xfrac}

%\usepackage{drop}
%\font\largefont=yinitas % fontes yinit

%\newtheorem{remark}{Remarque}
%\def\changemargin#1#2{\list{}{\rightmargin#2\leftmargin#1}\item[]}
%\let\endchangemargin=\endlist

%\usepackage{lettrine}
%\usepackage{oldgerm}
%\usepackage{yfonts}
%\newcommand{\enluminure}[2]{\lettrine[lines=3]{\small \initfamily #1}{#2}}
%\usepackage{indentfirst}

\usepackage{booktabs}
\usepackage{multirow}
  
 
 


 
