• Aucun résultat trouvé

Comme nous avons vu au cours de ce chapitre, l’objectif principal lors du traitement de requête est la minimisation du temps de réponse des requêtes et exécuter un plan optimal.

Le problème consiste à développer des techniques qui offrent le meilleur compromis entre la minimisation du temps de réponse aux requêtes et la minimisation de la consommation d’énergie du système.

Dans ce chapitre nous avons décrit l’ensemble des phases traditionnelles de cycle de vie de conception d’une base de données : l’analyse de besoins, la modélisation conceptuelle, logique, physique et le déploiement.

Nous avons identifié l’opportunité d’intégrer l’énergie dans la phase de conception physique, plus précisément, dans le choix d’une structure d’optimisation.

Deuxièmes, nous avons étudié la phase de traitement de requêtes dans un SGBD relationnel, qui inclue : la phase d’analyse, la transformation, la génération de plans et optimisation et enfin l’exécution.

Dans le prochain chapitre, nous allons présenter le concept d’énergie, ses propriétés et les travaux de minimisation d’énergie dans les systèmes informatiques.

23

Chapitre 2

L’énergie dans Les systèmes

informatiques

24

2.1- Introduction :

Pour continuer à être de plus en plus puissants, les ordinateurs ont besoin de plus en plus d'énergie. Cette consommation pouvait être ignorée jusque-là, elle atteint désormais des sommets, ce qui pose denombreux problèmes. Il est donc de plus en plus important de faire attention à la consommationénergétique de nos programmes et bases de données.

Dans ce chapitre on présente les concepts de base liés à l'énergie et quelques techniques d'optimisation de l’énergie.

2.2- L’énergie dans la technologie de l’information

Deux métriques sont couramment utilisées pour qualifier la performance énergétique de nos bases de données. La première est l'énergie, la seconde la puissance. Ces deux métriques représentent deux choses distinctes, mais liées.

➢ Energie :

Définition 1:

l'énergie est une mesure de la capacité d'un système à modifier un état, à produire un travail entraînant un mouvement, un rayonnement électromagnétique ou de la chaleur. Dans le Système international d'unités (SI), l'énergie s'exprime en joule.

Définition 2:

L’énergie est aujourd’hui définie comme la « capacité d'un corps ou d'un système à produire du travail mécanique ou son équivalent.

➢ Puissance :

Définition :

la puissance est l'énergie fournie à un système par un autre par unité de temps et mesuré en

Watts.

La réduction de l’énergie soit par :

• La minimisation du laps du temps.

• La minimisation la puissance consommée.

En général, la consommation de la puissance électrique d’un tel système est divisée en deux parties :

1. Puissance de base :

La consommation de la puissance lorsque le système est inactif.

2. Puissance active :

La consommation de la puissance lors de l’exécution d’une charge de travail.

Deux concepts de puissance électrique doivent être pris en considération lors de l’évaluation de l’utilisation d’énergie dans un système : la puissance moyenne représentant la puissance moyenne

25

consommée au cours d’exécution de la charge de requête, et le pic représentant la puissance maximale (peak power).

Lorsqu’on évoque des économies de l’énergie, on utilise les termes « efficacité » ou « efficience ».

De manière générale, l’Efficacité Énergétique (EE)ou efficience énergétique désigne l'état de fonctionnement d'un système pour lequel la consommation d’énergie est minimisée pour un service rendu.

Nous pouvons améliorer l’efficacité énergétique en réduisant la puissance, le temps ou les deux à la fois.

2.3- Approches d’EE dans les systèmes informatiques

Aujourd’hui, les enjeux de l’informatique éco-énergétique sont de plus en plus étudiés à tous les niveaux dans les infrastructures informatiques. Compte tenu d’une brève description des méthodes d’évaluation d’énergie dans les systèmes, nous présentons dans cette section un état de l’art des travaux d’EE des systèmes informatiques sur trois niveaux [18] :

(1) matériel,

(2) système d’exploitation et (3) application.

2.3.1- Approches d’efficacité d’énergie au niveau matériel

Un ordinateur de calcul contient plusieurs composants. Pour économiser l’énergie, chaque composant peut être optimisé. Nous allons présenter les techniques d’optimisation proposées pour chaque composant :

1- Pour réduire la consommation d’énergie du CPU, L’idée est le contrôle dynamique de la vitesse d’horloge pour réduire la consommation d’énergie pour un travail particulier comme ils l’ont proposé les auteurs [19]. Celle-ci permet la réduction dela tension électrique qui suit le ralentissement de l’horloge. Mais cette technique engendre l’augmentation de temps d’exécution. Cela à encourager les chercheurs [20]de construit un modèle théorique qui va trouver le moyen le plus économe en énergie pour ordonnancer les tâches tout en respectant les délais d’exécution. Une autre méthode essai de ralentir le CPU à chaque fois qu’il y a une seule tâche élu pour l’exécution, a été développée [21]. Deux algorithmes hors et en ligne sont considérés en respectant les délais, tout en réduisant la vitesse du cycle CPU autant que possible [16].Les informations de la date limite sont adoptées dans le système d’exploitation en temps réel avec la technique DVFS

[22]. La norme ACPI (Advanced Configuration and Power Interface), disponible sur la plupart des systèmes d’exploitation. Le but de cette norme est de réduire la consommation d’énergie d’un ordinateur en mettant hors tension certains éléments : lecteurs CD-ROM, disques durs, écran, etc. 2- La gestion de la mémoire est aussi importante pour atteindre l’efficacité énergétique.Mais ni la

26

économiser l’énergie de façon spectaculaire comme montré par les auteures de [23]. C’est avec la combinaison des deux techniques, 89% d’économie d’énergie, par rapport au cas de base, peut être achevé. Les techniques d’optimisation et les algorithmes proposés se sont concentrés sur les opportunités de basculer la mémoire entière ou une partie d’elle en mode faible consommation, soit pendant ou au moment de l’exécution des processus. D’autres technologies émergentes telles que la mémoire à changement de phase (PCM), transfert de spin et memristor ont également été proposées comme des alternatives de la mémoire principale économe en énergie [24].

3- Les unités de traitement graphique (GPU) sont également devenues une partie essentielle des centres de données hébergeant des applications scientifiques à cause de leur efficacité dans les fonctions à virgule flottante. De plus, les GPUs sont très efficaces sur le plan énergétique par rapport aux processeurs.

Dans les équipements de stockage pour atteindre l’EE Il existe deux techniques de base : ✓ rendre le matériel de stockage économe en énergie

✓ réduire la redondance des données.

Le principal objectif du matériel de stockage éco-énergétique est constitué par les disques SSDs (Solid-State Drive). Les disques SSD utilisent une mémoire Flash, c’est-à-dire une mémoire non volatile ayant des caractéristiques similaires à la mémoire morte effaçable électriquement et programmable (EEPROM). Les SSDs ont des propriétés proportionnelles à l’énergie, du fait que l’énergie utilisée est proportionnelle aux opérations d’E/S par seconde [25]. D’autre part, les

disques durs (HDDs) consomment 85% d’énergie lorsqu’ils sont inactifs [26]. Les SSDs deviennent l’avenir du stockage primaire économe en énergie dans les systèmes.

4- Les périphériques réseau

Constituent une autre ressource énergétique dans les centres de données. La consommation d’énergie dans les périphériques réseau peut être gérée par des techniques de taux de liaison adaptatif (ALR) [27]. Les techniques d’ALR atteignent l’EE par :

✓ les débits de données réduits.

✓ les transitions d’état de puissance inférieure/inactive.

2.3.2- Approches d’EE au niveau système d’exploitation

Les composants du système consommant la majeure partie de l’énergie en trois catégories [27] : • unités de calcul.

• unités de communication. • unités de stockage.

Les techniques éco-énergétique auprès de trois phases d’une conception de système :

Premièrement c’est la conceptualisation et la modélisation ensuite la conception et la mise en œuvre dernièrement la gestion d’exécution.

27

Les systèmes d’exploitation (Operating system OS) ont une consommation d’énergie diverse et peuvent-être optimisés pour consommer moins d’énergie selon les chercheurs. Cette consommation des ordinateurs d’une version d’un système d’exploitation à l’autre (des versions de Windows et linux) est non négligeable selon les méthodes de mesure similaires.

Pour le système d’exploitation Linux les chercheurs ont développé un gestionnaire d’alimentation en temps réel appelé le gouverneur à la demande (LGD). Le gestionnaire surveille en permanence l’utilisation du processeur et définit une fréquence d’horloge qui correspond aux exigences de performances actuelles, ce qui minimise la consommation d’énergie [28].

2.3.3- Approches d’EE au niveau application

L’efficacité énergétique au niveau application est devenue très importantes dans un domaine de recherche parce que [29] :

1- les techniques d’optimisation de bas niveau (matériel et système d’exploitation) dépendent de l’estimation précise de la puissance des applications. Cependant, beaucoup d’informations et de statistiques nécessaires pour ces estimations ne sont disponibles que dans le niveau application. 2- Divers applications peuvent être exécutées de différentes manières pour accomplir la même tâche de calcul. Les applications éco-énergétique, qui adaptent leurs comportements en fonction des états liés à l’alimentation des systèmes sous-jacents, peuvent offrir des possibilités supplémentaires d’économie d’énergie.

SEEDS est un Framework pour aider les ingénieurs des logiciels à développer des applications éco-énergétiques de haut niveau. Une application récente des techniqueséco-énergétique inclut MapReduce [30].

28

Figure 2.1 Classification des approches d’EE dans les systèmes informatiques.

La consommation d’énergie dans les bases de données commence à attirer l’attention de la communauté des chercheurs. L’objectif principal est de concevoir des SGBDs avec l’optimisation de la consommation d’énergie.

2.4- Approches d’EE dans les BDD

La gestion de l’énergie des systèmes de bases de données qu’est un sujet très important dans nos jours. On distingue principalement deux approches principales :

- Approches Orientées Matériels (AOM). -Approches Orientées Logicielles (AOL).

Nous allons détaillés les travaux de chaque approche comme suit :

2.4.1- Approches Orientées Matériels

Les approches matérielles utilisent la désactivation de composants électroniques pendant les périodes d’inactivité et la modification dynamique de la performance des composants matériels pour une meilleure efficacité énergétique qui peut être illustrer par la technique DVFS (Dynamic Voltage and FrequencyScaling) offerte par les CPU [31]. Cependant, les techniques appliquées au niveau du matériel peuvent être divisées en deux catégories :

• Dispositif de traitement • La gestion du stockage.

Approches d’EE dans les systèmes informatiques Niveau matériels CPU Mémoire GPU Stockage Réseau Niveau SE LGD Mobiles Serveurs Niveau application Services Web Compilateurs EDI MapReduce Base de données

29

➢ Dispositif de traitement

Cette catégorie utilise des nouvelles approches pour minimiser la consommation d’énergie des appareils informatiques. Lang et al ont proposé le mécanisme PVFC (Processor Voltage/Frequency Control) pour équilibrer la consommation d’énergie et la performance, par l’exécution d’une tache à une basse tension et fréquence de processeur.

La technique proposée ajuste dynamiquement le niveau DVFS du processeur en fonction des performances du SGBD ou le plan de requête choisi pour l’exécution.

Afin d’économiser l’énergie, ils gèrent le niveau DVFS en fonction du débit de travail et des caractéristiques de la charge de requêtes (en basant sur le nombre d’E/S ou de CPU) [32], cette technique est utiliséepar Xu et al avec un mécanisme de contrôle de rétroaction pour les charges de requêtes d’une base de données.

Oracle et Intel tente de réduire les coûts d’exploitation et de répondre efficacement aux objectifs d’informatique durable (green computing) a donné lieu à une nouvelle version de Oracle ExadataDatabase Machine [33]. La solution proposée met dynamiquement le processeur Intel Xeon et la mémoire dans l’état de puissance disponible le plus bas convenable pour répondre aux exigences de la charge de requêtes.

L’utilisation de disques Smart Solid State (SSSDs) pour traiter les données peuvent-être plus avantageux à la fois en termes de performance et de consommation d’énergie. Les SSSDs se sont des dispositifs de stockage flash qui intègrent une mémoire et un processeur à l’intérieur du dispositif de SSD, et pourrait être utilisé pour exécuter des programmes généraux définis par l’utilisateur. Les premiers résultats de l’exécution d’un sous-ensemble de requêtes SQL (simples requêtes de sélection et d’agrégation) sur un SSSD fournissent jusqu’à 3x de réduction de la consommation d’énergie.

➢ Gestion du stockage

Les approches de gestion de stockage tentent de trouver un bon niveau de consolidation de la charge, l’amélioration des techniques de mise en cache et de pré-chargement et l’optimisation des modes d’alimentation dans les matrices de disques afin de minimiser la dissipation d’énergie [34].

Un modèle de gestion de puissance dynamique qui prend des décisions en temps réel sur le passage des disques à des modes de faible puissance. Le modèle est intégré dans le SGBD et utilisé pour obtenir le compromis optimal entre la consommation d’énergie et le temps de réponse des requêtes. Le rapport montre 60%des économies d’énergie.

L’utilisation de disques SSD comme un périphérique de stockage des bases de données pour améliorer l’EE est une autre direction qui a été étudiée par des travaux récents. Dans [35], les auteurs ont étudié le comportement de la performance et la consommation d’énergie des SSD pour des schémas d’accès typiques pour les applications de base de données à forte intensité d’E/S. Ils montrent, en outre, que la technologie SSD offre un nouveau niveau de performance et d’EE, et suggèrent l’exploitation de

30

leurs nouvelles caractéristiques par les serveurs de base de données. De même, le travail de [36] analyse et évalue les performances de traitement des données et l’EE des SSD.

La mémoire est un autre consommateur d’énergie important dans les systèmes informatiques, en particulier avec l’utilisation croissante des bases de données orientée colonnes où le stockage des données se fait directement dans la mémoire.

Comme pour les composants précédents, la mémoire principale a également des différents états de puissance et de la fréquence à modifier en fonction de son utilisation. Sur cette base, les auteurs ont utilisé la fréquence mise à l’échelle et des modes de mise hors tension des DRAM pour améliorer la consommation d’énergie sans sacrifier les performances. Le travail de [37] propose une architecture de mémoire hybride comprenant à la fois DynamicRandom Access Memory (DRAM) et de la mémoire non volatile (NVM) pour réduire la consommation d’énergie de base de données, grâce à une politique de gestion des données au niveau de l’application qui décide de placer des données sur la DRAM ou la NVM.

Figure 2.2 Classification des approches d’EE orientées matériels.

2.4.2- Approches Orientées Logicielles

Les approches logicielles sont l’autre élément dans les mécanismes d’optimisation de l’EE. A ce niveau les chercheurs recommandent de revoir les techniques d’optimisation des requêtes, les algorithmes d’ordonnancement, la conception physique et les techniques de mise à jour de base de données en tenant compte de l’énergie. La plupart des études concernent deux aspects principaux :

• La définition des modèles de coûts pour prédire l’énergie.

• La proposition des techniques basées sur les modèles de coûts pour réduire l’énergie.

Dans ces approches, un optimiseur basé sur les coûts estime le coût de chaque plan d’exécution possible en appliquant des formules heuristiques utilisant un ensemblede statistiques relatives à la base de données (taille des tables, des indexes, longueur de tuples, les facteurs de sélectivité de jointure et

Approches orientées matériels Dispositif de traitement CPU GPU FPGA Co-Traitement Gestion du stockage HDD SSD Mémoire

31

prédicats de sélection, la taille des résultats intermédiaires, etc.) et au matériel (taille du tampon mémoire, la taille de page, etc.) [38].

2.4.2.1- Définition des modèles de coûts

Une extension du modèle de coût de PostgreSQL pour prédire la consommation d’énergie d’une seule requête exécutée d’une façon isolée (pas de parallélisme inter-requête).

Un profil de puissance statique pour chaque opération de base de données basique est défini dans la phase du traitement des requêtes. Le coût de l’énergie d’un plan peut être calculé à partir des opérations de base de données SQL, comme le coût de la puissance du processeur pour accéder à un tuple, coût du disque pour la lecture/écriture d’une page et par l’intermédiaire de différentes méthodes d’accès et d’opérations de jointure, en utilisant une technique de régression linéaire simple.

Dans le même sens, le travail de [39] propose un framework pour un traitement éco-énergétique des requêtes dans les bases de données. Il étend les plans de requêtes produites par l’optimiseur de requête traditionnelle avec une prédiction de la consommation d’énergie pour certains opérateurs de bases de données spécifiques comme la sélection, projection et la jointure en utilisant la technique de régression linéaire.

2.4.2.2- Techniques basées sur des modèles de coûts

Les modèles de coûts proposés pour prédire l’énergie sont ensuite utilisés dans diversestechniques pour optimiser la consommation d’énergie de base de données. Les auteurs de [40] ont proposé un mécanisme pour améliorer l’EE des requêtes en introduisant des retards explicites, en utilisant l’agrégation des requêtes pour tirer parti des composants de requêtes communs dans la charge. Le retard explicite permet de grouper les requêtes dans une file d’attente en mémoire tampon, ce qui conduit alors à une évaluation plus efficace de l’ensemble du lot par des techniques d’optimisation multi-requêtes.

Le travail de [39] a montré que le traitement d’une requête aussi vite que possible ne s’avère pas

toujours être la façon la plus économe en énergie dans un SGBD. Sur la base de leurs modèles de coût proposé pour prédire l’énergie, ils choisissent des plans de requêtes qui réduisent la consommation d’énergie et répondent aux objectifs de performance traditionnels. Ce choix est fait manuellement. Les résultats montrent que les économies d’énergie peuvent atteindre jusqu’à 23% pour une augmentation de 5% du temps de réponse en ce qui concerne les requêtes équijointure.

Le travail de [41] mène une étude en profondeur dans l’analyse de l’EE d’un serveur de base de

données sous différents paramètres de configuration, en faisant valoir que les avantages obtenus dans les systèmes de base de données sont de petite taille. Cependant, dans leur environnement, ils donnent de l’importance à la puissance du processeur plutôt que la puissance active globale du système. Néanmoins, dans la pratique, il existe des requêtes qui sont intensive en E/S. Considérant que le CPU à la place de l’ensemble des composants peut réduire considérablement la marge d’amélioration d’EE [42].

32

Documents relatifs