**Abstract** : Nowadays, the energy consumption and the heat dissipation of computing environments
have emerged as crucial issues. Indeed, large data centers consume as much electricity
as a city while modern processors attain high temperatures degrading their performance
and decreasing their reliability. In this thesis, we study various energy and temperature
aware scheduling problems and we focus on their complexity and approximability.
A dominant technique for saving energy is by proper scheduling of the jobs through the
operating system combined with appropriate scaling of the processor’s speed. This technique
is referred to as speed scaling in the literature. The theoretical study of speed scaling
was initiated by Yao, Demers and Shenker (1995) who considered the single-processor
problem of scheduling preemptively a set of jobs, each one specified by an amount of
work, a release date and a deadline, so as to minimize the total energy consumption.
In order to measure the energy consumption of a processor, the authors considered the
well-known rule according to which the processor’s power consumption is P(t) = s(t)α at
each time t, where s(t) is the processor’s speed at t and α > 1 is a machine-dependent
constant (usually α ∈ [2, 3]). Here, we study speed scaling problems on a single processor,
on homogeneous parallel processors, on heterogeneous environments and on shop
environments. In most cases, the objective is the minimization of the energy but we also
address problems in which we are interested in capturing the trade-off between energy
and performance.
We tackle speed scaling problems through different approaches. For non-preemptive
problems, we explore the idea of transforming optimal preemptive schedules to nonpreemptive
ones. Moreover, we exploit the fact that some problems can be formulated
as convex programs and we propose greedy algorithms that produce optimal solutions
satisfying the KKT conditions which are necessary and sufficient for optimality in convex
programming. In the context of convex programming and KKT conditions, we also study
the design of primal-dual algorithms. Additionally, we solve speed scaling problems by
formulating them as convex cost flow or minimum weighted bipartite matching problems.
Finally, we elaborate on approximating energy minimization problems that can be formulated
as integer configuration linear programs. We can obtain an approximate solution
for such a problem by solving the fractional relaxation of an integer configuration linear
program for it and applying randomized rounding.
In this thesis, we solve some new energy aware scheduling problems and we improve
the best-known algorithms for some other problems. For instance, we improve the bestknown
approximation algorithm for the single-processor non-preemptive energy minimization
problem which is strongly NP-hard. When α = 3, we decrease the approximation
ratio from 2048 to 20. Furthermore, we propose a faster optimal combinatorial algorithm
vii
viii
for the preemptive migratory energy minimization problem on power-homogeneous processors,
while the best-known algorithm was based on solving linear programs. Last but
not least, we improve the best-known approximation algorithm for the preemptive nonmigratory
energy minimization problem on power-homogeneous processors for fractional
values of α. Our algorithm can be applied even in the more general case where the processors
are heterogeneous and, for αmax = 2.5 (which is the maximum constant α among
all processors), we get an improvement of the approximation ratio from 5 to 3.08.
In order to manage the thermal behavior of a computing device, we adopt the approach
of Chrobak, Dürr, Hurand and Robert (2011). The main assumption is that some jobs
are more CPU intensive than others and more heat is generated during their execution.
So, each job is associated with a heat contribution which is the impact of the job on the
processor’s temperature. In this setting, we study the complexity and the approximability
of multiprocessor scheduling problems where either there is a constraint on the processors’
temperature and our aim is to optimize some performance metric or the temperature is
the optimization goal itself.

**Résumé** : La gestion de la consommation d’énergie et de la température est devenue un enjeu
crucial dans les systèmes informatiques. En effet, un grand centre de données consomme
autant d’électricité qu’une ville et les processeurs modernes atteignent des températures
importantes dégradant ainsi leurs performances et leur fiabilité. Dans cette thèse, nous
étudions différents problèmes d’ordonnancement prenant en compte la consommation
d’énergie et la température des processeurs en se focalisant sur leur complexité et leur
approximabilité. Pour cela, nous utilisons le modèle de Yao et al. (1995) (modèle de
variation de vitesse) pour la gestion d’énergie et le modèle de Chrobak et al. (2008) pour
la gestion de la température.