A Preliminary Study of the Impact of Software Engineering on GreenIT AURÉLIEN BOURDON ADEL NOUREDDINE ROMAIN ROUVOY LIONEL SEINTURIER prenom.nom@inria.fr PROJECT TEAM ADAM Inria Lille Nord Europe Université Lille 1 LIFL CNRS
Context Information Technologies 13 % French electricity consumption French ministries. IT & Sustainable Development report 2
Context Information Technologies 13 % French electricity consumption? French ministries. IT & Sustainable Development report 3
Context Information Technologies 13 % French electricity consumption? French ministries. IT & Sustainable Development report Research Opportunities 4
Context Information Technologies 13 % French electricity consumption? French ministries. IT & Sustainable Development report Research Opportunities 5
Context Information Technologies 13 % French electricity consumption? French ministries. IT & Sustainable Development report Research Opportunities 6
Energy Monitoring Framework
Accuracy Can we monitor the consumption of an application? 8
Accuracy 0.5% error margin Can we monitor the consumption of an application? 9
Overhead What is the monitoring overhead? 10
Overhead 0.2W overhead What is the monitoring overhead? 11
Breakdown How does it differ from a powermeter? 12
Breakdown Disk stress How does it differ Disk from a powermeter? CPU 13
Summary Accurate process-level estimation Support for CPU, Disk, Ethernet, RAM No hardware investment required Limited overhead Large-scale deployment Microscope «à la carte» On-demand configuration & adaptation Published in ICSE/Greens 12 & ASE 12 Transfert in progress Freely available as OSS [1] GreenCodeLab + ADEME [1] http://adam.lille.inria.fr/pmwiki.php/topics/green
Empirical Case Studies
Greens 2012 What is the cost of programming languages? A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. A Preliminary Study of the Impact of Software Engineering on GreenIT. In 1 st International Workshop on Green and Sustainable Software (GREENS'12/ICSE'12) 16
Language Footprint Tower of Hanoi (recursive, logarithm scale) Perl Python Ocaml opt Ocaml Prolog Pascal Java C++, O3 C++, O2 C++ C, O3 C, O2 C 1 10 100 1000 10000 100000 17
Language Footprint Tower of Hanoi (recursive, logarithm scale) Perl Python Ocaml opt Ocaml Prolog Pascal Java C++, O3 C++, O2 C++ C, O3 C, O2 C 1 10 100 1000 10000 100000 18
Language Footprint Tower of Hanoi (recursive, logarithm scale) Perl Python Ocaml opt Ocaml Prolog Pascal Java C++, O3 C++, O2 C++ C, O3 C, O2 C 1 10 100 1000 10000 100000 19
ASE 2012 Where is spent the energy inside my app? A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. Runtime Monitoring of Software Energy Hotspots. In 27 th International Conference on Automated Software Engineering (ASE'12) 20
Case study Complex application: > 88,000 SLOC Apache JMeter to stress Jetty s examples One minute, 20 threads, loop count of 500 146 monitored classes & 726 methods 21
Class-level consumption io/buffercache 2% server/httpconn ection 2% io/view 3% util/utf8appenda ble 4% server/request 4% Others 22% io/bytearraybuff er 24% io/abstractbuffer 39%
Class-level consumption 7 classes out of 146 ~80% energy io/buffercache 2% Others 22% server/httpconn ection 2% io/view 3% util/utf8appenda ble 4% server/request 4% io/bytearraybuff er 24% io/abstractbuffer 39%
Top10 consuming methods 60000 50000 40000 30000 20000 10000 0 CPU Energy % Number of Invocations 16% 14% 12% 10% 8% 6% 4% 2% 0% 24
Top10 consuming methods 60000 50000 40000 30000 20000 10000 0 CPU Energy % Number of Invocations 16% 14% 12% 10% 8% 6% 4% 2% 0% Top10 > 50% (of 726, 1.3%) 25
Method consumption 6 5 4 3 2 1 0 26
Related Work Measure Energy Granularity OS or Software Non-Intrusive Software meter Power meters Hardware PowerScope Process OS ptop Process OS for network Energy Checker Code Software OS utilities Process Software profilers Code Depends on profiler E-Surgeon Code 27
QUESTIONS
Eco-Indicator 99 points Life Cycle Assessment (LCA) for a common PC 45 30 15 0-15 -30 Manufacturing Distribution Use End of Life Human Health Ecosystem Quality Resources Duan & al. Life cycle assessment study of a Chinese desktop personal computer 29
All Console CPU Graphic Memory File Network Console Listeners API Event Bus Publish Subscribe CPU CPU Memory Memory Network Sensors Network Formulae 30
Scalability 31
Scalability Monitoring 1 application Monitoring 170 applications 32
State of the Art PowerTop No reusable libraries JouleMeter Not easy to support platform interoperability ptop Development is over Manual calibration EnergyChecker Requires external device 33