Les systèmes de stockage des données (SSD) comme les data centers et les systèmes de gestion de base de données (SGBDs), jouent un rôle important dans notre vie quotidienne. Ils ont pour rôle de stocker et traiter des données massives et d’héberger des applications et des services repartis et à grande échelle. Ils sont omniprésents dans le fonctionnement des « Très Petites Entreprises » (TPE) et des « Grandes Entreprises » (GE) et constituent le socle de l’économie moderne. Aujourd’hui, les compagnies comme Google, Amazon, Facebook, Apple et Intel, copropriétaires des data centers hyperscales font partie des compagnies les plus rentables au monde. Cela est dû au fait qu’elles tirent profit de la demande croissante des besoins de stockage, de gestion et de traitement efficace des données. Cependant, avec l’explosion des données numériques et l’émergence des services tels que: les réseaux sociaux, les vidéos en continu, les jeux en ligne, les services de courrier, e-commerce, l’apprentissage automatique. ces SSDs consomment une quantité substantielle d’énergie électrique. Cela conduit à des coûts opérationnels exorbitants et à des émissions importantes de Gaz à Effet de Serre (GES). L’électricité consommée est principalement liée aux installations numériques dans les systèmes tels que les serveurs et les dispositifs de stockage et de communication. La grande quantité de chaleur émise par ces SSDs nécessite des systèmes de refroidissement pour permettre leur fonctionnement à une température adéquate.
Aujourd’hui, les SSDs sont devenus des gouffres énergétiques à cause de l’explosion massive des données. Ces dernières sont au cœur du nouvel ordre mondial et en même temps le nouveau polluant environnemental, comme mentionné dans le magazine The Economist «The world’s most valuable resource is no longer oil, but data ». Comme tout pétrole, les données polluent comme l’a mentionné Martin Tisné dans un blog publié le 24 juillet 2019 « Data isn’t the new oil, it’s the new CO2 ». Cette pollution est essentiellement causée par le stockage, le traitement et le partage des données.
La consommation d’énergie dans les SSDs
Pour soutenir le développement de la digitalisation numérique, les SSDs en tant qu’infrastructures de stockage et de traitement des données risqueraient de consommer encore plus d’énergie dans les jours à venir. Plusieurs statistiques intéressantes ont été publiées par des organismes publiques et privés sur la consommation des data centers que nous souhaitons partager afin de sensibiliser les producteurs et les consommateurs des SSDs sur les questions énergétiques. Un data center classique effectue une consommation énergétique équivalente à celle de 25 000 foyers. Sa consommation est 100 à 200 fois celle d’un bureau standard de taille similaire [139]. Selon l’Agence de Protection de l’Environnement (EPA) des États-Unis, les data centers auraient consommé environ 61 milliards de KiloWattHeures (kW h) d’énergie en 2006, soit 1, 5% de la consommation totale d’électricité des États unis[18]. En 2014, les auteurs dans [167] ont estimé que les data centers auraient consommé environ 70 milliards de kW h – ce qui représente 1, 8% de l’énergie totale consommée aux États-Unis. Selon la Commission Européenne (CE), la quantité d’énergie consommée par les data centers en Europe augmenterait de 21% en 2025 par rapport à la consommation faite en 2018 où les data centers auraient consommé 2, 7% de toute l’électricité produite . En 2016, les data centers au niveau mondial auraient consommés 416, 2 milliards de kW h d’électricité, soit bien plus que la consommation totale du Royaume-Uni . Aujourd’hui, on estime que les data centers consomment 200 TéraWattHeures (TWh) par an, ce qui est supérieur aux besoins énergétiques d’un ensemble de pays en Afrique. La consommation des data centers ne cesse de croître et tendent à devenir l’un des plus gros consommateurs d’énergie au monde avec un ratio qui s’élèvera de 3% en 2017 à 4, 5% en 2025 selon les études dans [104]. En termes d’émission de CO2, les data centers y sont aussi responsables, leur empreinte carbone est similaire à celle du secteur aéronautique avec 2% des émissions totales de gaz à effet de serre [128].
L’éco-système d’un SSD est composé des équipements matériels (informatiques, climatisation, bâtiments hébergeant le SSD) et des logiciels permettant de garantir son fonctionnement et ses services. Selon les statistiques publiées dans [169], les équipements informatiques à eux seuls consommeraient environ 50% de l’énergie totale d’un SSD.
Impact environnemental et sanitaire
L’énergie est indispensable à la qualité de vie de l’humanité et contribue énormément au développement socio-économique. Néanmoins sa production et sa consommation émettent des gaz à effet de serre (comme le CO2) responsables du dérèglement climatique. L’augmentation anormale de ce gaz dans l’atmosphère (due aux activités humaines comme la surconsommation énergétique), conduit au changement climatique et à l’avènement de nombreuses maladies. À défaut d’agir aujourd’hui pour atténuer ces émissions, on ferait peser des risques coûteux sur les générations futures concernant l’économie et des dégâts environnementaux (cyclones, canicules, typhons, insuffisance alimentaire, etc.).
Devant cette situation, tout citoyen, chercheur, entreprise, institution, gouvernement, État doivent être préparé pour éviter ces risques. Il est important de rappeler que certaines crises mondiales prennent de nombreuses personnes par surprise. Cela ne sera pas le cas des dégâts environnementaux liés au changement climatique. Depuis plusieurs décennies, des voies citoyennes, associatives, politiques alertent l’opinion publique et les dirigeants sur l’accélération de la dégradation environnementale. La crise sanitaire du Covid-19 en est un bon exemple de la mauvaise préparation de l’humanité face à des situations dramatiques. Le seul moyen d’éviter le pire insoluble dans le cas d’une crise environnementale serait de repenser nos modes de vie, en respectant plus la nature dans son fonctionnement normal. Une autre piste intéressante concerne la prioritisation des exigences non fonctionnelles des citoyens et des chercheurs. Souvent la performance des accès aux services informatiques est la pré-condition pour les acquérir. Cette exigence peut être substituée ou couplée avec la consommation énergétique de ces services. La pandémie de la Covid-19 nous a plus au moins poussé à intégrer ces priorités dans nos vies quotidiennes et surtout a légèrement contribué à la réduction de cette consommation grâce aux restrictions de l’activité économique, du trafic aérien, terrestre et maritime, ainsi que la fermeture d’industries . En même temps, le travail chez soi imposé par cette pandémie a généré une utilisation massive des ordinateurs et en conséquence une augmentation de la consommation énergétique.
Devant cette situation, en tant que enseignant/chercheurs en informatique, nous sommes dans l’obligation de fournir des solutions moins énergivores en termes de composants matériels et logiciels qu’il faudrait développer afin d’assurer une transition énergétique.
Apport de l’efficacité énergétique des SSDs
L’efficacité énergétique d’un SSD est l’énergie totale consommée par rapport à la quantité d’énergie nécessaire à son fonctionnement. Hormis les apports pécuniers, elle est l’un des outils principaux pour réduire les émissions de CO2 et de répondre facilement à la demande croissante d’énergie. Il peut également y avoir de nombreux autres impacts socio-économiques et sanitaires, tels que des maisons vertes, la longévité des biens et des personnes, la réduction des factures d’électricité et des coûts de maintenance. La réduction de la consommation d’énergie garantit la longévité des composants électroniques. En fait, la dissipation d’énergie a un effet néfaste sur la fiabilité des circuits électroniques [119]. Le dysfonctionnement ainsi que la détérioration des composants sont causés par de nombreux facteurs, notamment par une forte élévation de la température, une surtension aux bornes des dipôles électriques, etc. Le taux de défaillance des équipements augmente lorsque sa température dépasse 15◦ Celsius [28].
Vers des initiatives écologiques pour les SSDs
Toutefois, pour pallier au problème écologique tout en continuant à fournir la demande de service en matière de gestion des données, les différents acteurs du secteur des SSDs, organisations, associations, scientifiques, industriels soutenus par les gouvernements ont proposé des initiatives afin d’améliorer l’efficacité énergétique des infrastructures. Ces initiatives visent à: (i) concevoir des équipements moins gourmands en énergie, (ii) éco-concevoir les logiciels, (iii) établir une gestion efficiente des ressources disponibles et (iv) contrôler et monitorer l’éco-système d’un SSD [83]. L’informatique verte est apparue comme une nouvelle tendance pour encourager les transitions. En effet, les ordinateurs, y compris leurs composants (matériels et logiciels), et le comportement de leurs utilisateurs contribuent de manière intensive au phénomène du réchauffement climatique. Le stockage et le traitement des données sont des sous-systèmes importants de tout SSD. Cela s’est accentué en raison de l’avènement de nouveaux paradigmes tels que le cloud computing et la virtualisation [31]. De nos jours, les bases de données (BDs) sont l’épine dorsale du fonctionnement de toutes les entreprises, des agences gouvernementales et des fournisseurs de service de stockage de données. Dans un SSD, il a été remarqué que les systèmes de traitement des données (STRs) sont l’un des composants les plus énergivore durant leurs activités complexes de traitement et de stockage des données [139]. Cette importance a été largement soulignée dans le rapport de Claremont [4] publié en 2008 et cosigné par environ une trentaine de chercheurs, experts et architectes du monde des bases de données. Ce rapport a mis en avant la nécessité de concevoir des SGBDs sensibles à l’énergie qui limitent les coûts énergétiques sans sacrifier le passage à l’échelle. Ce point est également repris dans le rapport de Beckman [2] publié en 2014 qui place l’efficacité énergétique comme un défi à relever dans le domaine des données massives. L’intégration de l’énergie dans les STRs concerne tous ses composants et ses acteurs, notamment les fournisseurs de matériel et de logiciels, les concepteurs, les administrateurs des bases de données et les utilisateurs finaux, etc. Il est important de rappeler que le processus traditionnel de stockage et de traitement des données est guidé par la minimisation du temps de réponse lors du traitement des données[46]. Les rapports ci-dessus cités ont recommandé de revisiter cette vision traditionnelle afin d’intégrer l’efficacité énergétique.
La proposition des approches moins gourmandes en énergie dans les BDs a été l’objet de plusieurs travaux. Les années 2010 ont été une décennie marquée par le début de l’intégration de l’énergie dans la conception des optimiseurs de requêtes où des approches matérielles et logicielles ont été analysées, implémentées et évaluées [96]. Les solutions matérielles préconisent l’exploitation des matériels modernes qui consomment moins d’énergie et les solutions logicielles recommandent de revisiter les stratégies d’exécution des requêtes, l’ordonnancement des tâches, les techniques de conception physique et de gestion des données afin de respecter le temps de réponse et permettre une meilleure gestion de l’énergie. Dans ce sens deux papiers d’orientation ont été publié par des chercheurs venant du milieu académique (Stavros Harizopoulos et al. [62] de MIT ) et du milieu industriel (Goetz Graefe [54] de HP ). Ces papiers mettent également l’accent sur l’intégration de la contrainte énergétique dans la conception et l’exploitation des STRs. En examinant les travaux existants dans le monde des BDs, nous identifions qu’ils sont dominés par les solutions orientées Hardware. Notre analyse de l’évolution des articles scientifiques publiés sur les approches d’intégration de l’énergie dans les BDs de 1994 à 2018 confirme cette tendance, où plus de 100 papiers se sont concentrés sur les approches matérielles, alors que seulement 33 se sont confrontés aux approches logicielles. Cela s’explique par le fait que plusieurs études considèrent que les systèmes d’exploitation et les micrologiciels (drivers) doivent gérer l’efficacité énergétique, par conséquent économisent l’énergie des optimiseurs des requêtes. Les solutions logicielles explorées ne proposent pas une démarche de conception détaillée et facile à reproduire des processeurs des requêtes permettant l’intégration de la dimension énergétique et ignorent la variabilité des différentes classes des systèmes de stockage des données (SSDs) lors de la définition de leur modèle de coût. En dehors des apports écologiques et pécuniers, ce constat constitue l’une des motivations principales de cette thèse.
|
Table des matières
I Introduction Générale
1 Introduction Générale
1.1 Contexte et Problématique
1.1.1 La consommation d’énergie dans les SSDs
1.1.2 Impact environnemental et sanitaire
1.1.3 Apport de l’efficacité énergétique des SSDs
1.1.4 Vers des initiatives écologiques pour les SSDs
1.2 Notre vision de la caractérisation de l’énergie dans les BDs
1.3 Objectifs
1.4 Contributions de la Thèse
1.4.1 Taxonomie des approches d’efficacité énergétique
1.4.2 Étude comparative de la consommation énergétique
1.4.3 Définition des modèles de coût énergétique
1.4.4 Traitement éco-énergétique des requêtes
1.4.5 Analyse des compteurs de performance matérielle
1.5 Organisation du manuscrit
1.6 Publications
II État de l’art
2 Les Systèmes de traitement des requêtes (STRs)
2.1 Introduction
2.2 Les STRs dans les SSDs
2.2.1 Architecture générique des STRs
2.2.1.1 Formulation de la requête
2.2.1.2 Compilation
2.2.1.3 Optimisation
2.2.1.4 Moteur d’exécution
2.2.2 Optimisation des requêtes
2.2.2.1 STRs dans les systèmes de stockage centralisés
2.2.2.2 STRs dans les systèmes de stockage distribués
2.2.2.3 STRs dans les systèmes multi-bases
2.2.2.4 STRs dans les systèmes multi-stores
2.3 Modèle de coût
2.4 Les paramètres sensibles à la dimension énergétique
2.4.1 Types de la Requête
2.4.2 Types des SSDs
2.4.3 Caractéristiques matérielles
2.4.4 Configurations architecturales
2.4.5 Influences environnementales
2.5 Conclusion
3 Gestion de l’énergie dans les Systèmes de Traitements des Requêtes
3.1 Introduction
3.2 Préliminaire
3.2.1 Concept de l’énergie
3.2.2 Efficacité énergétique
3.2.3 Motivations
3.2.3.1 Problème lié à la consommation excessive de l’énergie
3.2.3.2 Bénéfice de l’efficacité énergétique
3.2.4 Méthode d’évaluation de l’EE
3.2.4.1 Métriques énergétiques
3.2.4.2 Modèles énergétiques
3.3 Taxonomie des Techniques éco-énergétiques
3.3.1 Solutions matérielles
3.3.1.1 Technique de l’ajustement dynamique de la tension (DVFS)
3.3.1.2 Désactivation Dynamique des Composants
3.3.1.3 Co-traitements
3.3.2 Solutions logicielles
3.3.2.1 Technique de virtualisation
3.3.2.2 Technique de l’infonuagique (Cloud Computing)
3.3.3 Gestion de la température
3.3.4 Standards et Conduite
3.4 Approches d’EE dans les STRs
3.4.1 Approches Orientées Matérielles
3.4.1.1 Les unités de traitement
3.4.1.2 Technique de Co-traitement
3.4.1.3 Les unités de stockage
3.4.2 Approches Orientées Logicielles
3.4.2.1 Traitement éco-énergetique
3.4.2.2 Conception physique éco-énergetique
3.5 Conclusion
III Contributions
4 Méthodologie de conception de nos McE et Formulation
4.1 Introduction
4.2 Modèles de coût énergétique (McE) dans les STRs
4.2.1 Niveau de modélisation
4.2.2 Mode d’exécution des requêtes
4.3 Méthodologie de conception des McE
4.3.1 Audit des SGBDs
4.3.2 Identification des paramètres
4.3.3 Formalisation du modèle
4.3.4 Validation du modèle
4.3.5 Exploitation
4.4 Audit des systèmes SSDs étudiés
4.4.1 PostgreSQL
4.4.1.1 Architecture
4.4.1.2 Exécution de la requête
4.4.2 MonetDB
4.4.2.1 Architecture
4.4.2.2 Exécution de la requête
4.4.3 Hyrise
4.4.3.1 Architecture
4.4.3.2 Exécution de la requête
4.5 Analyse et études comparatives des SSDs étudiés
4.5.1 Environnement de l’étude
4.5.2 Évaluation des résultats
4.5.2.1 Temps et énergie consommée lors du chargement des données
4.5.2.2 Temps d’exécution et énergie consommée lors du traitement des requêtes
4.5.3 Identification des paramètres du modèle énergétique
4.5.3.1 Stratégie d’exécution d’une requête
4.5.3.2 Effet du mode d’exécution
4.5.3.3 Effet de la taille du BD
4.6 Conception des McE
4.6.1 Hypothèses
4.6.2 Formulation
4.6.2.1 Modélisation des pipelines (PostgreSQL)
4.6.2.2 Modélisation des opérateurs (MonetDB & Hyrise)
4.6.3 Machine learning
4.6.3.1 Les techniques régressives
4.6.3.2 Les techniques cognitives
4.6.4 Valeurs des paramètres
4.6.4.1 Configuration matérielle
4.6.4.2 Données d’apprentissage
4.6.4.3 Application avec le logiciel R
4.7 Validation des modèles
4.7.1 Méthode d’évaluation
4.7.2 Jeux de données
4.7.3 Erreurs d’estimation
4.7.3.1 Évaluation sur PostgreSQL
4.7.3.2 Évaluation sur MonetDB
4.7.3.3 Évaluation sur Hyrise
4.7.4 Discussion
4.8 Conclusion
5 Frameworks pour le déploiement de nos modèles de coût énergétique
5.1 Introduction
5.2 Optimisation énergétique dans le module de traitement des requêtes
5.2.1 Influence des différentes étapes de traitement
5.2.1.1 Analyse syntaxique
5.2.1.2 Réécriture
5.2.1.3 Plan d’exécution
5.2.1.4 Exécution
5.2.2 Intégration avec PostgreSQL
5.2.2.1 Modèle de coût
5.2.2.2 Plan d’évaluation
5.2.2.3 Architecture fonctionnelle
5.2.2.4 Résultats expérimentaux
5.2.3 Intégration avec MonetDB
5.2.3.1 Modèle de coût
5.2.3.2 Architecture fonctionnelle
5.2.3.3 Résultats expérimentaux
5.3 Estimation dynamique de l’énergie lors du traitement des requêtes (Simulation)
5.3.1 Architecture fonctionnelle
5.3.2 Résultat expérimentaux
5.4 Conclusion
IV Conclusion