Mesure et modélisation de l énergie logicielle



Documents pareils
Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Vulgarisation Java EE Java EE, c est quoi?

Elasticité logicielle pour optimiser l empreinte énergétique

Architecture distribuée

Energy Optimization System (EOS) Pour les stations d épurations

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

CURRICULUM VITAE. Informations Personnelles

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Curriculum Vitae 1 er février 2008

réduisez la facture électrique

Chapitre 4: Introduction au Cloud computing

Architecture de la grille

Java pour le Web. Cours Java - F. Michel

Cycle Innovation & Connaissance 12 petit déjeuner Mardi 15 mai Cloud Computing & Green IT : nuages ou éclaircies?

Projet de Veille Technologique

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Laboratoire 4 Développement d un système intelligent

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Export et Import de modèles ICAR sous Trnsys 17

LA PROTECTION DES DONNÉES

Initiation à JAVA et à la programmation objet.

Le Cloud Compu+ng modèle et évalua+on de performances

DG-ADAJ: Une plateforme Desktop Grid

Liste de conférences et revues Thème Com A

Courses available for exchange students 4 th year

CQP Développeur Nouvelles Technologies (DNT)

Chapitre 2 : Abstraction et Virtualisation

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Mesurer la consommation électrique des serveurs dans les data-centers: besoins & challenges Code-Watchers!

LE CLOUD COMPUTINGI des établissements d enseignement supérieur et de recherche en région Ile-de-France

Environnements de développement (intégrés)

Powerbat Portail web de services énergétiques

Entraînement au concours ACM-ICPC

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24

La carte à puce. Jean-Philippe Babau

Change the game with smart innovation

Custom Events. IDC France.

Prise en compte des ressources dans les composants logiciels parallèles

Java - la plateforme

Sécurité des entrepôts de données dans le Cloud Un SaaS pour le cryptage des données issues d un ETL

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Une architecture conceptuelle pour le déploiement d applications à grande échelle

Métriques de performance pour les algorithmes et programmes parallèles

Tout le matériel (actif) qui sert à produire: boulons, capteurs, automates, vérins, câblage, éclairage, etc.

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Université Abou-Bekr Belkaid Tlemcen Faculté des Sciences Economiques et de Gestion. BENBOUZIANE Mohamed

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Formation Symantec Veritas Cluster Server 6.x pour Unix

Présentation d'un MOM open-source

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

données en connaissance et en actions?

Maîtrise énergétique des centres de données

Leader belge en énergies renouvelables. Etudes de financement, conception, installation, exploitation et maintenance

Une Architecture de Bureaux Graphiques Distants Sécurisée et Distribuée

Les outils de la transition énergétique ISO 50001

Introduction. Gestion de la consommation énergétique. Contexte du cloud computing Instrumentation et contrôle

Portage d applications sur le Cloud IaaS Portage d application

Entreprise. Gestion énergétique de votre parc informatique

jeudi 19 septembre 2013, Bournezeau Services et Solutions en Carrière

Green it consulting nouveau leader de l informatique écologique

FOURNIR DES SERVICES NUMÉRIQUES DANS LE SECTEUR PUBLIC

Introduction au Cloud Computing

Une banque peut-elle être engagée et responsable?

Vers une Gestion Ecologique du Parc Informatique. Pierre et Sophie CHOPLAIN, Société PCI CUME ET Groupe Logiciel, 24/03/2011

Présentation de SOFI 2.0

D2.2 Définition des mécanismes minimaux d un runtime tolérant aux pannes dans les infrastructures Petascale

Condition Monitoring pour une gestion efficace du coût de possession.

Jean-Nicolas Piotrowski, Dirigeant Fondateur d ITrust

LA PROTECTION DES DONNÉES

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Accompagnement sur mesure ou solution vpack pré-packagée

Analyse de performance, monitoring

Formations qualifiantes pour demandeurs d emploi

Graphes d attaques Une exemple d usage des graphes d attaques pour l évaluation dynamique des risques en Cyber Sécurité

Limitations of the Playstation 3 for High Performance Cluster Computing

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

L'automatisation open source pour SI complexes

Sécurisation du stockage de données sur le Cloud Michel Kheirallah

Table ronde gestion de l énergie : réseaux, stockages, consommations

Atelier Progress Rollbase

Schneider Electric Alliance Le programme de partenariat pour les Intégrateurs de Systèmes. Ensemble, nous réalisons plus!

Présentation de la Grille EGEE

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Squale Le portail qualimétrie open-source

Votre infrastructure informatique toujours sous contrôle

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Guide de déploiement d'applications FormPublisher

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

White Paper - Livre Blanc

Semestre HPC. Violaine Louvet. Institut Camille Jordan - CNRS louvet@math.univ-lyon1.fr. Labex MILyon, Printemps 2016

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

Gestion contextualisée de la sécurité : implémentation MDS@Runtime avec FraSCAti

Transcription:

Mesure et modélisation de l énergie logicielle Adel Noureddine, Romain Rouvoy, Lionel Seinturier Green Days @ Lille 29 novembre 2013

Plan Contexte! Problèmes et limitations! Mesure énergétique des logiciels avec Jalen! Benchmarking de la variation énergétique

Énergie, c est quoi le problème?

Prix du pétrole Energy Information Administration and Bureau of Labor Statistics, 2013

Consommation des TICs 1600 2007-2008 1200 800 400 0 7% Consommation électrique (GW) 2% Empreinte carbone (MtCO2e)

Consommation des TICs 2020 1600 1200 Consommation et empreinte x2 800 400 14% 0 Consommation électrique (GW) Empreinte carbone (MtCO2e)

Il faut optimiser la consommation énergétique des ordinateurs et des logiciels.

Il faut optimiser la consommation énergétique des ordinateurs et des logiciels. Mesurer Optimiser

Ça n existe pas déjà?

Problèmes et limitations Mesure l énergie? Granularité Modification OS ou application Utilisation d un wattmètre Wattmètres Matérielle PowerScope Processus OS ptop Processus OS pour le réseau Energy Checker Code source Application Profilers OS Processus Profilers logiciels Code source Dépend du profiler

Problèmes et limitations Mesure l énergie? Granularité Modification OS ou application Utilisation d un wattmètre Wattmètres Matérielle PowerScope Processus OS ptop Processus OS pour le réseau Energy Checker Code source Application Profilers OS Processus Profilers logiciels Code source Dépend du profiler Idéal Code source

Mesure énergétique des logiciels! et ce que nous faisons avec!

Approches

Mesure du code source

Mesure du code source Application Matériel & OS

Mesure du code source Application Matériel & OS Utilisant des resources matériels

Mesure du code source Modèles énergétiques Consommation énergétique du matériel Application Matériel & OS Utilisant des resources matériels Documentation des fabricants

Mesure du code source Modèles énergétiques Utilisation des resources par le logiciel Consommation énergétique du matériel Application Matériel & OS Utilisant des resources matériels Documentation des fabricants

Mesure du code source Modèles énergétiques Utilisation des resources par le logiciel Utilisation des resources par le code source Consommation énergétique du matériel Application Matériel & OS Utilisant des resources matériels Documentation des fabricants

Mesure du code source Modèles énergétiques Consommation énergétique du process Utilisation des resources par le logiciel Utilisation des resources par le code source Consommation énergétique du matériel Application Matériel & OS Utilisant des resources matériels Documentation des fabricants

Mesure du code source Consommation énergétique du code source du logiciel Modèles énergétiques Consommation énergétique du process Utilisation des resources par le logiciel Utilisation des resources par le code source Consommation énergétique du matériel Application Matériel & OS Utilisant des resources matériels Documentation des fabricants

Benchmarking du code

Benchmarking du code Librairie logicielle

Benchmarking du code Librairie logicielle Détection des classes et méthodes de la librairie

Benchmarking du code Génération de benchmarks pour chaque méthode et paramètre Librairie logicielle Détection des classes et méthodes de la librairie

Benchmarking du code Exécution des benchmarks et mesure de l énergie avec Jalen Mesure niveau code source Génération de benchmarks pour chaque méthode et paramètre Librairie logicielle Détection des classes et méthodes de la librairie

Benchmarking du code Agrégation des résultats et génération du modèle énergétique Exécution des benchmarks et mesure de l énergie avec Jalen Mesure niveau code source Génération de benchmarks pour chaque méthode et paramètre Librairie logicielle Détection des classes et méthodes de la librairie

Jalen: mesure énergétique au niveau code source

Jalen architecture

Jalen architecture Machine virtuelle Java Application Java Matériel et OS

Jalen architecture Machine virtuelle Java Application Java Jalen Matériel et OS

Jalen architecture Consommation énergétique du code source du logiciel Machine virtuelle Java Application Java Jalen Matériel et OS

Échantillonnage statistique

Échantillonnage statistique Jalen Application Java Méthode 1 Méthode n

Échantillonnage statistique Jalen Application Java Méthode 1 Méthode n Données collectées : statistiques sur les méthodes, entrées/sorties, utilisation des APIs, etc.

Échantillonnage statistique Jalen Application Java Méthode 1 Méthode n Données collectées : statistiques sur les méthodes, entrées/sorties, utilisation des APIs, etc. Calculs et corrélation (collecte de mesures et modèles)

Échantillonnage statistique Jalen Application Java Méthode 1 Méthode n Données collectées : statistiques sur les méthodes, entrées/sorties, utilisation des APIs, etc. Calculs et corrélation (collecte de mesures et modèles) Consommation énergétique du code source du logiciel

Échantillonnage statistique Jalen Application Java Méthode 1 Méthode n Boucle de monitoring de l application Données collectées : statistiques sur les méthodes, entrées/sorties, utilisation des APIs, etc. Calculs et corrélation (collecte de mesures et modèles) Consommation énergétique du code source du logiciel

Échantillonnage statistique Jalen Application Java Méthode 1 Méthode n Boucle de monitoring de l application Boucle de monitoring au niveau code Données collectées : statistiques sur les méthodes, entrées/sorties, utilisation des APIs, etc. Calculs et corrélation (collecte de mesures et modèles) Consommation énergétique du code source du logiciel

Arbre d appels

Arbre d appels Méthode 1 Méthode 2

Arbre d appels Méthode 1 Méthode 2 Méthode 3 Méthode 4

Arbre d appels Méthode 1 Méthode 2 Méthode 3 Méthode 4 Méthode 5

Arbre d appels Méthode 1 Méthode 2 Méthode 3 Méthode 4 Méthode 5 Méthode JDK 1 Méthode JDK 2

Arbre d appels Méthode 1 Méthode 2 Résultats filtrées Méthode 3 Méthode 4 Méthode 5 Méthode JDK 1 Méthode JDK 2

Arbre d appels Méthode 1 Méthode 2 Méthode 3 Méthode 4 Méthode 5 Méthode JDK 1 Méthode JDK 2

Benchmarking du code :! Jalen Unit

Benchmarking du code Agrégation des résultats et génération du modèle énergétique Exécution des benchmarks et mesure de l énergie avec Jalen Jalen Génération de benchmarks pour chaque méthode et paramètre Librairie logicielle Détection des classes et méthodes de la librairie

Jalen Code source sur : github.com/adelnoureddine/jalen! Agent Java, utilisation : java -javaagent:jalen.jar -jar program.jar! Caractéristiques matérielles définies dans le fichier config.properties

Demo

Ce qu on fait avec Étudier l impact de l implémentation d algorithmes et de méthodes! Détecter où l énergie est consommée dans les logiciels et au niveau code source! Modéliser la variation énergétique des librairies à la suite de la modification des paramètres d entrées

Des graphes, des chiffres!

Tours de Hanoi: I/O - Print Avec print Sans Print 0 4500 9000 13500 18000 Energie (joule)

Tours de Hanoi: I/O - Print Avec print Sans Print x13 0 4500 9000 13500 18000 Energie (joule)

Serveur web Jetty

Serveur web Jetty Nombre d invocations 45000 33750 22500 11250 Nombre d'invocations Energie (joule) 2100 1575 1050 525 Energie (joule) 0 BlockingArrayQueue.poll JarFileResource.exists JarFileResource.newConnection ManagedSelector.select ChannelEndPoint.flush ServerConnector.accept ManagedSelector.wakeup ChannelEndPoint.shutdownOutput FileResource.normalizeURI FileResource.isDirectory 0

Énergie par invocation 0,6 0,45 Energie (joule) 0,3 0,15 0 BlockingArrayQueue.poll JarFileResource.exists JarFileResource.newConnection ManagedSelector.select ChannelEndPoint.flush ServerConnector.accept ManagedSelector.wakeup ChannelEndPoint.shutdownOutput FileResource.normalizeURI FileResource.isDirectory

Benchmarking de la variation énergétique

Algorithme de chiffrement RSA 1800 1350 Energie (joule) 900 450 0 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328 3584 3840 4096 Taille de la clé de chiffrement RSA

Algorithme de chiffrement RSA 1200 java.math.biginteger.oddmodpow java.math.biginteger.montreduce Autres 900 Energie (joule) 600 300 0 1024 1280 1536 1792 2048 2304 2560 2816 3072 3328 3584 3840 4096 Taille de la clé de chiffrement RSA

La méthode Joiner.join de Guava 4000 com.google.common.base.joiner$2.appendto 3000 Energie (joule) 2000 1000 0 2 6 10 14 18 22 26 30 34 38 42 46 50 Nombre de chaînes de caractères

En conclusion Problématique de l énergie dans les logiciels! Modèles pour mesure la consommation au niveau le plus fin (application, code source)! Développement d un «microscope énergétique» : Jalen! Étude de la variation énergétique en utilisant des benchmarks avec Jalen Unit

Publications Adel Noureddine, Romain Rouvoy, and Lionel Seinturier. Inferring Automatically the Energy Consumption of Software Libraries. In Software Engineering Aspects of Green Computing track of the 29th Annual ACM Symposium on Applied Computing (SAC'14). Gyeongju, South Korea, March 2014.! Adel Noureddine, Aurélien Bourdon, Romain Rouvoy, and Lionel Seinturier. Runtime Monitoring of Software Energy Hotspots. In the 27th International Conference on Automated Software Engineering (ASE'12). Pages 160-169. Essen, Germany, September 2012. Acceptance rate: 15%.! Adel Noureddine, Aurélien Bourdon, Romain Rouvoy, and Lionel Seinturier. A Preliminary Study of the Impact of Software Engineering on GreenIT. In the First International Workshop on Green and Sustainable Software (GREENS'12/ICSE'12). Zurich, Switzerland, June 2012. Acceptance rate: 41%.