1. Vers le Traitement et Optimisation
Écologique des Requêtes
Simon Pierre Dembele1, Ladjel Bellatreche1, Ordonez Carlos2
1LIAS/ISAE-ENSMA, Futuroscope, France
2Universite de Houston, USA
Laboratoire d’Informatique et d’Automatique pour les Systèmes
2. 2
Notre planète change Les impacts
IncendiesInondations
Pénuries d’eau
Hausse de la Mortalité
Montée des eaux, …
Contexte
3. 3
� 23 Sept. 2019, «Vous avez volé mes rêves et mon enfance»
� 23 Juil. 2019, Elle a recommandé aux législateurs du Parlement
Français d’écouter les scientifiques sur la question du changement
climatique et d’agir maintenant pour éviter une catastrophe.
Sensibilisation au réchauffement
climatique
Greta Thunberg
…”the world’s most valuable resource is no longer oil, but data”, May 2017
… ’’Data isn’t the new oil, it’s the new CO2’’, Blog entry of the Martin Tisné,
July 2019
Prévision de la consommation mondiale des Data
Centers entre 2010-2030 (KWh)
Conséquences directes
select nation, o_year, sum(amount) as sum_profit
from ( select n_name as nation, extract(year from
o_orderdate) as o_year,
l_extendedprice * (1 - l_discount) - ps_supplycost *
l_quantity as amount
from part, supplier, lineitem, partsupp, orders, nation
where s_suppkey = l_suppkey and ps_suppkey = l_suppkey
and ps_partkey = l_partkey and p_partkey = l_partkey
and o_orderkey = l_orderkey and s_nationkey =
n_nationkey
and p_name like '%indian%' ) ;
Exemple de requête SQL
Traitement vert Résultats (usager vert)
Institutions nationales et internationales
COP (ex. COP21: Paris)
ScientifiquesIndividuels
Contexte
4. 4
Répartition de la Consommation électrique dans un
Datacenter
Les SGBD sont les plus gros
consommateurs d’énergie électrique
Contexte
7. 7
Concepts de base
État de l’art
Approches
Experimentation
Conclusion
Dans l’univers, l’énergie se transforme : elle «vit», puis
«meurt» en chaleur..
8. 8
Puissance: est la quantité d’énergie d’un système par unité de temps. Elle se mesure
en watts.
𝑃 𝑡 = Τ𝑑 𝑑𝑡𝐸(𝑡)
Energie: l’énergie est généralement définie comme la capacité d’un système à
réaliser un travail. La quantité d’énergie que possède un système représente la
quantité de travail qu’il peut réaliser . Elle se mesure en Joules
𝑬(𝒕) = න
𝟎
𝒕
𝒑 𝝉 𝒅𝝉
Concepts de base
Puissance Pic: représente la puissance maximale.
Puissance moyenne: représente la valeur moyenne de la puissance calculée lors du traitement des
requêtes.
État de l’art
Approches
Experimentation
Conclusion
9. 9
Nouveaux équipements moins énergivores
(SSD, Flash, GPU, CPU)
Solutions matérielles Solutions logicielles
État de l’art
Approches
Experimentation
ConclusionInformatique Verte
Efficacité
Énergétique
Technique de l’ajustement dynamique de
la performance (DVFS) sur les
composants
Technique du Co-processing du CPU et
GPU
Technique de Cloud computing
Conception verte des programmes
Conception de nouveaux modèles de
données et algorithmes efficientes
Promouvoir la technique de virtualization
applicative
Utilisation verte du système informatique
Redéfinition des concepts de SGBD (éco-
traitement, éco-indexation
10. Energie
Sort
Index Scan
Bitmap Scan Hash Join
Seq. scan
Dynamic Energy Estimation of Query
Plans in Database Systems [Zichen Xu,
Yi-Cheng Tu, Xiaorui Wang] en 2013
Plan
Energie de chaque opération est estimée
7
3 5
8
5
28
Modèle de coût énergétique
La formule générale pour calculer l’énergie d’un
opérateur est:
10
État de l’art
Approches
Experimentation
Conclusion
État de l’art
𝐸 𝑥 = 𝑊𝑐𝑝𝑢 ∗ 𝑁𝑡𝑢𝑝𝑙𝑒𝑠
𝑚
∗ 𝑁𝑡𝑢𝑝𝑙𝑒𝑠 + 𝑊𝐼/𝑂 ∗ 𝑁 𝑝𝑎𝑔𝑒𝑠
où 𝑊𝑐𝑝𝑢 et 𝑊𝐼/𝑂 sont les coefficients de la
consommation d'énergie d'un tuple traité par le
CPU (𝑁𝑡𝑢𝑝𝑙𝑒𝑠), et le coefficient statique d'une
page traitée en I/O(Npages), et m est un
coefficient du modèle pour la consommation
d'énergie du processeur (m = 0.5).
11. Peak Power Plays in Database Engines
[Mayuresh Kunjir Puneet K. Birwa Jayant
R. Haritsa] en 2012
Plan
E = 12
E=20
E=5
E=10
11
État de l’art
Approches
Experimentation
Conclusion
Modèle de coût énergétique
Les auteurs ont utilisé la technique de
régression multiple affine par morceaux pour
construire leurs modèle de coût. Pour un nœud
de base B (par exemple : un scan séquentiel), le
débit est calculé comme:
𝑇𝑎𝑢𝑥 𝐵 =
𝐸𝑛𝑡𝑟𝑒 𝐵
𝑇𝑒𝑚𝑝𝑠𝐷𝑖𝑠𝑞𝑢𝑒 𝐵
Où 𝐸𝑛𝑡𝑟𝑒 𝐵 indique la taille des données
extraites du disque par B et 𝑇𝑒𝑚𝑝𝑠𝐷𝑖𝑠𝑞𝑢𝑒 𝐵 est
le temps de transfert du disque.
État de l’art
12. Eco-Processing of OLAP Complex
Queries [Amine ROUKH, Ladjel BELLATRECHE ] en 2015
12
État de l’art
Approches
Experimentation
Conclusion
Segmentation en pipeline
CPU=12
IO=…
CPU=12
IO=..
CPU=12
IO=..
CPU=18
IO=..
CPU=18
IO=1
CPU=5
IO=1
CPU=23
IO=2
PL4
PL3
PL2
PL1
Modèle de coût énergétique
les auteurs ont proposé un modèle de coûts
pour prédire consommation d'énergie d’une
requête isolée en cours d'exécution.
𝑃𝑜𝑤𝑒𝑟(𝑄) =
σ 𝑗=1
𝑝
𝑃𝑜𝑤𝑒𝑟 𝑃𝐿𝑗 ∗ 𝑇𝑖𝑚𝑒(𝑃𝐿𝑗)
𝑇𝑖𝑚𝑒(𝑄)
Où 𝑇𝑖𝑚𝑒(𝑃𝐿𝑗) et 𝑇𝑖𝑚𝑒(𝑄) représentent
respectivement le temps d’exécution du
pipeline j et de la requête Q.
𝑃𝑜𝑤𝑒𝑟 𝑃𝐿𝑗
= 𝛽𝑐𝑝𝑢 ∗
𝑘=1
𝑛 𝑗
𝐶𝑃𝑈_𝐶𝑂𝑆𝑇 𝐾 + 𝛽𝑖𝑜 ∗
𝑘=1
𝑛 𝑗
𝐼𝑂_𝐶𝑂𝑆𝑇𝑘
État de l’art
13. Think big, start small: a good initiative
to design green query optimizers [ Asimon
Pierre Dembele, Ladjel BELLATRECHE, Carlos Ordonez,
Amine ROUKH ] en 2019
13
État de l’art
Approches
Experimentation
Conclusion
Segmentation en pipeline
CPU=12
IO=…
Dop=…
CPU=12
IO=..
CPU=18
IO=..
CPU=18
IO=1
CPU=5
IO=1
CPU=23
IO=2
PL4
PL3
PL2
PL1
Modèle de coût énergétique
les auteurs ont proposé un modèle de coûts pour prédire
consommation d'énergie d’une requête isolée en mode
parallèle. Le plan est segmenté un ensemble de pipelines,
les pipelines non parallélisables 𝑃𝑙𝑖 et les pipelines
parallélisables 𝑃𝑃𝑙𝑖.
Pour un pipeline séquentiel
Pour un pipeline parallèle
𝑷𝒖𝒊𝒔𝒔𝒔𝒂𝒏𝒄𝒆 𝑷𝑳𝒋, 𝟏 = 𝜷 𝑪𝑷𝑼 ∗
𝑲=𝟏
𝒏
𝑪𝑻 𝑪𝑷𝑼 𝒌
+ 𝜸 𝑰𝑶 ∗
𝑲=𝟏
𝒏
𝑪𝑻 𝑬𝑺 𝒌
𝑷𝒖𝒊𝒔𝒔𝒔𝒂𝒏𝒄𝒆 𝑷𝑷𝑳𝒋, 𝑷 =
𝒇 𝒄𝒑 + 𝟏 ∗ 𝜷 𝑪𝑷𝑼 ∗
𝑲=𝟏
𝒏
𝑪𝑻 𝑪𝑷𝑼 𝒌
+ 𝜸 𝑰𝑶 ∗
𝑲=𝟏
𝒏
𝑪𝑻 𝑬𝑺 𝒌
𝐶𝑇𝐸𝑆 𝑘
: Nombre de I/O requis pour traiter l’opération k.
𝐶𝑇𝐶𝑃𝑈 𝑘
: Nombre de cycle CPU requis pour passer l’opération.
𝛽 𝐶𝑃𝑈, 𝛾𝐼𝑂: Les unités énergétiques
𝑓𝑐𝑝: Facteur énergétique de la puissance consommée lors du
traitement en mode parallèle par rapport au traitement
séquentiel
État de l’art
14. 14
État de l’art
Approches
Experimentation
Conclusion
Proposer un modèle de coût caractérisant l’énergie lors de l’exécution de requêtes.
Ses Propriétés: précis, portable, robuste, adaptable
Traitement de la requête Sélection des structures
Trois utilisations possibles
Conception des benchmarks
Système (Modèle)
Paramètre en entrées
Puissance Estimée
Notre Vision
15. 15
État de l’art
Approches
Experimentation
Conclusion
Construction du modèle de coût
Méthodologie de modélisation
16. 16
État de l’art
Approches
Experimentation
Conclusion
Pour une requête Qi donnée, la puissance estimée est :
𝑃𝑢𝑖𝑠𝑠𝑎𝑛𝑐𝑒 𝑄𝑖 =
σ 𝑗=1
𝑝
൯𝑃𝑢𝑖𝑠𝑠𝑎𝑛𝑐𝑒 𝑃𝐿𝑗 ∗ 𝑇𝑒𝑚𝑝𝑠(𝑃𝐿𝑗
)𝑇𝑒𝑚𝑝𝑠(𝑄𝑖
𝑃𝑢𝑖𝑠𝑠𝑠𝑎𝑛𝑐𝑒 𝑃𝐿𝑗 = 𝑊𝑐𝑝𝑢 ∗
𝑢=1
𝑛
𝐶𝑐𝑝𝑢 𝑢
+ 𝑊𝑚𝑒𝑚 ∗
𝑢=1
𝑛
𝐶 𝑚𝑒𝑚 𝑢
+ 𝑊𝑑𝑖𝑜 ∗
𝑢=1
𝑛
𝐶 𝑑𝑖𝑜 𝑢
Notre modèle de coût
Pour le système PostgreSQL, la puissance dissipée lors du traitement de la requête est
la combinaison des principales ressources consommant l'énergie (CPU, mémoire
principale et disque). Elle est formulé par:
𝑊𝑐𝑝𝑢, 𝑊𝑚𝑒𝑚 et 𝑊𝑑𝑖𝑜 représentent les unités énergétiques d’une instructions, d’une opérations
de lecture/écriture sur la mémoire et d’une opérations de lecture/écriture sur disque
respectivement. Le 𝐶𝑐𝑝𝑢 𝑢
est le nombre d'instructions exécutées par le CPU. 𝐶 𝑚𝑒𝑚 𝑢
est le
nombre de lecture/écriture sur la mémoire pour une opération donnée. 𝐶 𝑑𝑖𝑜 𝑢
est le nombre de
lectures ou opérations d'écriture accédées sur le disque. 𝑛 est le nombre d'opérateurs dans le
pipeline. 𝑢 est l'indice de sommation.
17. 17
État de l’art
Approches
Experimentation
Conclusion
𝑃𝑢𝑖𝑠𝑠𝑠𝑎𝑛𝑐𝑒 𝑂𝑃𝑗
𝑖
= 𝑊𝑐𝑝𝑢 ∗ 𝐶𝑐𝑝𝑢 𝑗
+ 𝑊𝑚𝑒𝑚 ∗ 𝐶 𝑚𝑒𝑚 𝑗
+ 𝑊𝑑𝑖𝑜 ∗ 𝐶 𝑑𝑖𝑜 𝑗
Notre modèle de coût
Pour le système MonetDB, nous adoptons une approche de modélisation basée sur les
opérations. La puissance dissipée est formulée par:
𝑂𝑃𝑗
𝑖
dénote l’operation j dans le plan de la requête
En appliquant la régression polynomiale sur nos modèle (Langage R
version 3.5.2). En exemple pour PostgreSQL, nous avons
18. 18
État de l’art
Approches
Experimentation
Conclusion
Évaluation du Modèle
Système PostgreSQL
19. 19
État de l’art
Approches
Experimentation
Conclusion
Évaluation du Modèle
Système MonetDB
20. 20
Environnement
Intel Core-i5 3340M à 2,70 GHz (2coeurs-4 threads),
8GB DDR.
R language for regression
OS Ubuntu
Données
TPC-H banc d’essai
Facteur d’échelle = 1,5,10, 30
Wattmètre :
Watts UP? Pro ES power meter
1 hertz sampling frequency
État de l’art
Approches
Experimentation
Conclusion
Paramètre du Système
21. 21
État de l’art
Approches
Experimentation
Conclusion
Configuration du Système
22. 22
État de l’art
Approches
Experimentation
Conclusion
Analyse des performances
Temps d’exécution des requêtes sur un
jeu données de 5 Go.
Temps d’exécution des requêtes sur un
jeu données de 30 Go.
23. 23
État de l’art
Approches
Experimentation
Conclusion
Analyse de la consommation d’énergie
Énergie consommée lors de l’exécution des
requêtes sur un jeu données de 30 Go.
Énergie consommée lors de l’exécution des
requêtes sur un jeu données de 5 Go.
24. 24
État de l’art
Approches
Experimentation
Conclusion
Analyse des entrées / sorties disques
Analyse des défauts de caches de la mémoire centrale lors de l’exécution des
requêtes sur un jeu données de 30 Go.
25. 25
État de l’art
Approches
Experimentation
Conclusion
Erreur d’Estimation (ERR)
Pour quantifier la précision de nos modèles, nous utilisons la métrique définie par:
EER = ൗ𝐸𝑅−𝐸𝐸
𝐸𝑅
ER désigne les valeurs réelles de l’énergie mesurée par le wattmètre,
EE désigne l’énergie prédite par nos modèles.
26. 26
État de l’art
Approches
Experimentation
Conclusion
Erreur d’Estimation (ERR)
Taux d’erreur de prédiction sur le
SGBD Postgresql SF5.
27. 27
État de l’art
Approches
Experimentation
Conclusion
Erreur d’Estimation (ERR)
Taux d’erreur de prédiction sur le
SGBD MonetDB SF5.
28. Conclusion
Challenge
Précision du modèle de coût
Intégration de nos modèles dans les systèmes très particulièrement pour
MonetDB
Experimentation
Le temps d’exécution et l’énergie consommée par le système orienté
colonne (Monetdb) est plus meilleur que ceux obtenues pour le système
orienté ligne (PostgreSQL).
Les écarts d’estimation obtenus par nos modèles ne sont pas si considérables.
28
État de l’art
Approches
Experimentation
Conclusion
29. Perspectives
Prédiction de la consommation sur un système in-memory (Hyrise)
en mode parallèle.
Exploitation du modèle proposé dans le système MonetDB
Sélection des indexes multi-niveaux sous la contrainte énergétique
lors de la conception physique.
29
Conclusion
État de l’art
Approches
Experimentation
Conclusion