Langage de programmation Java
รnergie et puissance รฉlectrique
Pour comprendre les mรฉcanismes dโalimentation et de gestion de lโรฉnergie, il est essentiel de clarifier la terminologie. Le courant รฉlectrique est le flux de charge รฉlectrique mesurรฉ en ampรจres (Ampรจre A dรฉfinie la quantitรฉ de charge รฉlectrique transfรฉrรฉe par un circuit par seconde) bien que la puissance et lโรฉnergie peuvent รชtre dรฉfinies en termes de travail quโun systรจme effectue. La puissance รฉlectrique est le dรฉbit auquel le systรจme effectue une tรขche, tandis que lโรฉnergie reprรฉsente la quantitรฉ totale des travaux effectuรฉs pendant une pรฉriode de temps. Puissance et รฉnergie sont mesurรฉes, respectivement, en watts (W) et watt-heure (Wh). Une tรขche est effectuรฉe ร un dรฉbit de 1W lorsque 1A est transfรฉrรฉ ร travers une diffรฉrence de potentiel รฉlectrique de 1V. Un kilowatt-heure (kWh) est la quantitรฉ dโรฉnergie รฉquivalente ร une puissance de 1 kW (1 000 W) appliquรฉe pendant une heure. Formellement, la puissance et lโรฉnergie peuvent รชtre dรฉfinis comme indiquรฉ dans ci-dessous :
Oรน P est la puissance รฉlectrique, T est une pรฉriode temps, E est la quantitรฉ totale de travaux effectuรฉs durant cette pรฉriode de temps. La diffรฉrence entre la puissance et lโรฉnergie รฉlectrique est trรจs importante car une rรฉduction de la consommation de la puissance รฉlectrique ne rรฉduit toujours pas lโรฉnergie consommรฉe. Par exemple, la consommation de puissance peut รชtre rรฉduite en abaissant les performances du CPU, et dans ce cas, un programme ou une tรขche peut prendre plus de temps pour terminer son exรฉcution en consommant la mรชme quantitรฉ dโรฉnergie. Dโun cรดtรฉ, une rรฉduction dโun pic de consommation de puissance entraรฎne une diminution des coรปts dโapprovisionnement de lโinfrastructure, comme les coรปts liรฉs aux capacitรฉs des onduleurs (UPS), les unitรฉs de distribution dโalimentation (PDU), des gรฉnรฉrateurs รฉlectriques, les systรจmes de refroidissement, et des รฉquipements de distribution dโรฉnergie. Dโun autre cรดtรฉ, une baisse de la consommation dโรฉnergie rรฉduit les factures dโรฉlectricitรฉ. La consommation dโรฉnergie peut รชtre rรฉduite temporairement via les techniques de gestion dynamique de puissance รฉlectrique (Dynamic Power Management (DPM)) ou de faรงon permanente via une gestion statique de puissance รฉlectrique (SPM). DPM utilise la connaissance, en temps rรฉel, de lโutilisation des ressources et des charges de travail pour optimiser la consommation dโรฉnergie. Toutefois, il ne diminue pas nรฉcessairement les pics de la consommation de puissance รฉlectrique. En revanche, SPM impose lโutilisation des composants matรฉriels les plus efficaces, tels que les processeurs, les disques de stockage, les pรฉriphรฉriques rรฉseau, UPS, et les alimentations รฉlectriques. Ces changements structurels rรฉduisent gรฉnรฉralement lโรฉnergie consommรฉe et les pics de la consommation de puissance Beloglazov (2013).
Consommation statique et dynamique de la puissance รฉlectrique
La majeure partie de la consommation de puissance รฉlectrique dans les circuits CMOS (Complementary Metal-Oxyde-Semiconductor) comprend une puissance รฉlectrique statique et dynamique. La consommation de puissance statique est causรฉe par des courants de fuite qui sont prรฉsents dans nโimporte quel circuit actif indรฉpendamment des scรฉnarios dโusage et de la frรฉquence de lโhorloge. Cette consommation de puissance statique est, principalement, dรฉterminรฉe par le type de transistors et de la technologie des procรฉdรฉs. La rรฉduction de la consommation de puissance statique nรฉcessite des amรฉliorations dans la conception de bas niveau du systรจme. La consommation de puissance รฉlectrique dynamique est crรฉรฉe par lโactivitรฉ des circuits (les commutateurs des transistors, les changements des valeurs dans les registres, etc.) et dรฉpend, principalement, dโun scรฉnario dโusage, de la frรฉquence de lโhorloge et des opรฉrations dโE/S. La source de la consommation de puissance รฉlectrique dynamique est le courant des court-circuit et les capacitances commutรฉes Beloglazov (2013). Le Courant de court-circuit gรฉnรจre seulement 10 ร 15% de la consommation รฉlectrique totale et jusquโร prรฉsent, aucun moyen nโa รฉtรฉ trouvรฉ pour rรฉduire cette valeur sans compromettre les performances.
La capacitance commutรฉe est la principale source de consommation dynamique de puissance รฉlectrique ; par consรฉquent, la consommation dynamique de puissance peut รชtre dรฉfinie comme suit : Pd = aCV2 f (1.3) Oรน a est lโactivitรฉ de commutation, C est la capacitance physique, V est la tension dโalimentation, et f est la frรฉquence dโhorloge. Les valeurs dโactivitรฉ de commutation et la capacitance sont dรฉterminรฉes par la conception de bas niveau du systรจme. La rรฉduction combinรฉe de la tension dโalimentation et la frรฉquence dโhorloge rรฉside dans les racines dโune technique DPM largement utilisรฉe appelรฉe lโadaptation dynamique de la tension et de la frรฉquence ยซย Dynamic Voltage and Frequency Scaling (DVFS)ย ยป. Lโidรฉe principale de cette technique est de rรฉduire, intentionnellement, les performances du processeur, lorsquโil nโest pas totalement utilisรฉ, en diminuant la tension et la frรฉquence du CPU. Dans le cas idรฉal, il devrait en rรฉsulter une rรฉduction cubique de la consommation รฉlectrique dynamique. DVFS est soutenu par la plupart des processeurs modernes, y compris mobile, ordinateurs de bureau, et les serveurs Pouwelse et al. (2001).
Dรฉpendance ยซย utilisation CPU/consommation de puissanceย ยป Le processeur (CPU) est lโรฉlรฉment le plus รฉnergivore du serveur. Un modรจle de CPU efficace avec une gestion dโรฉnergie efficace peut donc jouer un rรดle important dans lโefficacitรฉ globale. La consommation du processeur dรฉpend de la tension et de la frรฉquence de lโhorloge. La gestion dโรฉnergie au niveau du CPU ou du coeur repose donc sur lโadaptation dynamique de la tension et de la frรฉquence (DVFS) ou le fait dโรฉteindre des coeurs Beloglazov (2013). Les donnรฉes fournies par Intel Labs Minas et Ellison (2009) Beloglazov (2013) confirment que le CPU est lโรฉlรฉment le plus gourmand en puissance รฉlectrique suivi par la mรฉmoire et les pertes dues ร lโinefficacitรฉ dโalimentation (voir Figure1.3). Les donnรฉes montrent, aussi, que le CPU ne domine plus la consommation รฉlectrique dans un serveur. Ceci rรฉsulte de lโamรฉlioration continue de lโefficacitรฉ de puissance รฉlectrique du CPU associรฉe ร des techniques dโรฉconomie de puissance รฉlectrique (comme le DVFS) qui permettent au CPU de fonctionner dans des modes ร faible consommation. Dans ces modes, un CPU consomme une fraction de la puissance totale tout en prรฉservant la possibilitรฉ dโexรฉcuter des programmes. Par consรฉquent, les CPUs des ordinateurs de bureau et des serveurs actuels peuvent consommer moins de 30% de leurs puissances totales dans des รฉtats de faible activitรฉ, ce qui conduit ร des intervalles dynamiques de plus de 70% de leurs puissances รฉlectriques totales (forte activitรฉ) Venkatachalam et Franz (2005) Beloglazov (2013).
En revanche, les intervalles de puissances รฉlectrique des autres composants sont beaucoup plus รฉtroits : moins de 50% pour les mรฉmoires vice dynamiques (DRAM), 25% pour les lecteurs de disques, 15% pour les commutateurs de rรฉseau, et nรฉgligeable pour le autres composants Fan et al. (2007a) Beloglazov (2013). La raison en est que seule le CPU prend en charge des modes actifs de faible consommation, alors que les autres composants ne peuvent รชtre que complรจtement ou partiellement mis hors tension. Toutefois, la dรฉgradation des performances dโune transition entre les modes actifs et inactifs est importante. Par exemple, un lecteur de disque en mode sommeil profond consomme presque pas de puissance รฉlectrique, mais une transition vers le mode actif encourt une latence mille fois plus รฉlevรฉe que la latence dโaccรจs rรฉgulier. En rรฉsumรฉ, le CPU se distingue comme รฉtant le composant le plus influent sur la consommation de puissance รฉlectrique. Par consรฉquent, tous les techniques qui cherchent ร amรฉliorer la consommation รฉlectrique, se basent principalement sur la rรฉduction du taux dโutilisation des CPUs. Pour รฉlaborer de nouvelles politiques pour DPM et comprendre leurs impacts, il est nรฉcessaire de crรฉer un modรจle de consommation dynamique du puissance รฉlectrique. Un tel modรจle devrait รชtre en mesure de prรฉdire la valeur effective de la consommation รฉlectrique par un systรจme basรฉ sur quelques caractรฉristiques dโun systรจme en cours dโexรฉcution. Une des faรงons dโy parvenir est dโutiliser les fonctions de surveillance de puissance รฉlectrique qui sont intรฉgrรฉes dans les serveurs informatiques modernes.
Ces fonctionnalitรฉs permettent le suivi de la consommation de puissance par un serveur en temps rรฉel et la collecte de statistiques prรฉcises de la consommation รฉlectrique. Dโaprรจs les donnรฉes, il est possible dโobtenir un modรจle de consommation dโรฉnergie pour un systรจme particulier. Cependant, cette approche nรฉcessite la collecte de donnรฉes pour chaque systรจme ciblรฉ. Fan et al. (2007a) ont trouvรฉ une forte corrรฉlation entre lโutilisation du processeur et de la consommation totale de puissance รฉlectrique par un serveur. Lโidรฉe derriรจre le modรจle proposรฉ est que la consommation รฉlectrique par un serveur croรฎt linรฉairement avec la croissance du taux dโutilisation du CPU de la valeur de la consommation dโรฉnergie en mode veille jusquโร la puissance consommรฉe lorsque le serveur est pleinement utilisรฉe. Cette relation peut รชtre exprimรฉe comme suit : P(u) = Pidle + (Pbusy ? Pidle)u (1.4) Tel que P est la consommation de puissance รฉlectrique estimรฉe, Pidle est la consommation รฉlectrique dโun serveur inactif et Pbusy dโun serveur pleinement utilisรฉ, et u est le taux dโutilisation actuel du CPU. Les auteurs ont รฉgalement proposรฉ un modรจle non linรฉaire empirique : P(u) = Pidle + (Pbusy ? Pidle)(2u ? ur) (1.5) Oรน r est paramรจtre de calibrage qui minimise lโerreur quadratique et doit รชtre obtenue expรฉrimentalement : pour chaque catรฉgorie de machines, un ensemble dโexpรฉriences de calibrages doit รชtre effectuรฉ pour affiner ce modรจle. Des expรฉriences approfondies sur plusieurs milliers de noeuds avec diffรฉrents types de charges de travail (voir Figure 1.5) ont montrรฉ que les modรจles dรฉrivรฉs peuvent prรฉdire avec exactitude la consommation รฉlectrique par des systรจmes de serveurs avec un taux dโerreur infรฉrieure ร 5% pour le modรจle linรฉaire et 1% pour le modรจle empirique.
|
Table des matiรจres
Table des matiรจres
Liste des figures
Liste des tableaux
Introduction gรฉnรฉrale
1 Consommation dโรฉnergie et qualitรฉ de service dans le Cloud Computing
1.1 Introduction
1.2 Consommation dโรฉnergie dans le Cloud Computing
1.2.1 รnergie et puissance รฉlectrique
1.2.2 Consommation statique et dynamique de la puissance รฉlectrique
1.2.3 Dรฉpendance ยซย utilisation CPU/consommation de puissanceย ยป
1.2.4 Dรฉpendance ยซย consommation de puissance/consommation dโรฉnergieย ยป
1.3 Qualitรฉ de service dans le Cloud Computing
1.3.1 Dรฉfinition du SLA (Service Level Agreement)
1.4 Le paradoxe ยซย Amรฉlioration de la qualitรฉ de service/Rรฉduction de la
consommation dโรฉnergieย ยป
1.5 Conclusion
2 Virtualisation et migration des entitรฉs dans le Cloud Computing
2.1 Introduction
2.2 Virtualisation dans le Cloud Computing
2.2.1 Types de virtualisation
2.2.2 Hyperviseurs
2.2.3 Rรดle de la virtualisation dans le Cloud Computing
2.2.4 Avantages de la virtualisation
2.3 Migration des entitรฉs dans le Cloud Computing
2.3.1 Types de migration
2.3.2 Avantages et inconvรฉnients de la migration dans le Cloud Computing
2.4 Conclusion
3 Etat de lโart sur les approches de migration des machines virtuelles dans le Cloud Computing
3.1 Introduction
3.2 Classification des approches de migration des VMs dans le Cloud
Computing
3.2.1 Premiรจre catรฉgorie : Optimisation du processus de migration
3.2.2 Deuxiรจme catรฉgorie : Optimisation de la consommation dโรฉnergie et la qualitรฉ de service
3.3 Aperรงu de lโapproche proposรฉe dans cette thรจse
3.4 Etudes comparatives
3.5 Conclusion
4 Description et modรฉlisation de la stratรฉgie proposรฉe de migration
4.1 Introduction
4.2 Prรฉliminaires et vue dโensemble
4.2.1 Problรจme de correspondance/allocation stable
4.2.2 Types du problรจme de correspondance stable
4.2.3 Procรฉdure dโacceptation diffรฉrรฉe
4.2.4 Polarisation des correspondances stables
4.2.5 Thรฉorรจme de Coase
4.3 Architecture du Cloud Computing pour la stratรฉgie de migration proposรฉe
4.4 Stratรฉgie proposรฉe de migration des machines virtuelles
4.4.1 Phase de surveillance
4.4.2 Phase de prรฉ-nรฉgociation ou de prรฉparation
4.4.3 Phase de nรฉgociation
4.4.4 Phase de sรฉlรฉction des VMs
4.5 Conclusion
5 Implรฉmentation et interprรฉtation des rรฉsultats
5.1 Introduction
5.2 Environnement de dรฉveloppement
5.2.1 Langage de programmation Java
5.2.2 Le simulateur CloudSim
5.3 Implรฉmentation de lโapproche proposรฉe dans CloudSim
5.4 Expรฉrimentations et rรฉsultats
5.4.1 Lโimpact du nombre de machines physiques et de lโutilisation du thรฉorรจme de Coase
5.4.2 Lโimpact du nombre de machines virtuelles et de lโutilisation du thรฉorรจme de Coase
5.4.3 Lโimpact du nombre de cloudlets
5.4.4 Discussion
5.5 Conclusion
Conclusion gรฉnรฉrale
Bibliographie
Tรฉlรฉcharger le rapport complet