A Preliminary Study of the Impact of Software Engineering...
Transcript of A Preliminary Study of the Impact of Software Engineering...
A Preliminary Study of the Impact of Software Engineering on GreenIT
PROJECT TEAM
ADAM Inria Lille – Nord Europe
Université Lille 1 – LIFL – CNRS
AURÉLIEN BOURDON ADEL NOUREDDINE ROMAIN ROUVOY LIONEL SEINTURIER
Co
nte
xt
Information Technologies
French ministries. IT & Sustainable Development report
French electricity consumption
13%
A Preliminary Study of the Impact of Software Engineering on GreenIT 2
Co
nte
xt
Information Technologies
French ministries. IT & Sustainable Development report
French electricity consumption
13%
?
A Preliminary Study of the Impact of Software Engineering on GreenIT 3
Co
nte
xt
Information Technologies
French ministries. IT & Sustainable Development report
French electricity consumption
13%
?
Research Opportunities
A Preliminary Study of the Impact of Software Engineering on GreenIT 4
Co
nte
xt
Information Technologies
French ministries. IT & Sustainable Development report
French electricity consumption
13%
?
Research Opportunities
A Preliminary Study of the Impact of Software Engineering on GreenIT 5
Co
nte
xt
Information Technologies
French ministries. IT & Sustainable Development report
French electricity consumption
13%
?
Research Opportunities
A Preliminary Study of the Impact of Software Engineering on GreenIT 6
Energy Monitoring Framework
A Preliminary Study of the Impact of Software Engineering on GreenIT
Can we monitor the
consumption
of an application?
Ac
cu
racy
8 A Preliminary Study of the Impact of Software Engineering on GreenIT
Can we monitor the
consumption
of an application?
0.5% error margin
Ac
cu
racy
9 A Preliminary Study of the Impact of Software Engineering on GreenIT
Overh
ead
What is the
monitoring
overhead?
10 A Preliminary Study of the Impact of Software Engineering on GreenIT
Overh
ead
What is the
monitoring
overhead?
0.2W overhead
11 A Preliminary Study of the Impact of Software Engineering on GreenIT
Bre
akd
ow
n
How does it differ
from a powermeter?
12 A Preliminary Study of the Impact of Software Engineering on GreenIT
Bre
akd
ow
n
How does it differ
from a powermeter?
Disk
CPU
Disk stress
13 A Preliminary Study of the Impact of Software Engineering on GreenIT
Su
mm
ary
• 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 A Preliminary Study of the Impact of Software Engineering on GreenIT
Empirical Case Studies
A Preliminary Study of the Impact of Software Engineering on GreenIT
Gre
en
s 2
012
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 1st International Workshop on Green and Sustainable Software
(GREENS'12/ICSE'12)
16 A Preliminary Study of the Impact of Software Engineering on GreenIT
Lan
gu
ag
e F
oo
tpri
nt
1 10 100 1000 10000 100000
C
C, O2
C, O3
C++
C++, O2
C++, O3
Java
Pascal
Prolog
Ocaml
Ocaml opt
Python
Perl
Tower of Hanoi (recursive, logarithm scale)
17 A Preliminary Study of the Impact of Software Engineering on GreenIT
Lan
gu
ag
e F
oo
tpri
nt
1 10 100 1000 10000 100000
C
C, O2
C, O3
C++
C++, O2
C++, O3
Java
Pascal
Prolog
Ocaml
Ocaml opt
Python
Perl
Tower of Hanoi (recursive, logarithm scale)
18 A Preliminary Study of the Impact of Software Engineering on GreenIT
Lan
gu
ag
e F
oo
tpri
nt
1 10 100 1000 10000 100000
C
C, O2
C, O3
C++
C++, O2
C++, O3
Java
Pascal
Prolog
Ocaml
Ocaml opt
Python
Perl
Tower of Hanoi (recursive, logarithm scale)
19 A Preliminary Study of the Impact of Software Engineering on GreenIT
AS
E 2
012
Where is spent
the energy
inside my app?
A. Noureddine, A. Bourdon, R. Rouvoy, and L. Seinturier. Runtime Monitoring of Software Energy
Hotspots. In 27th International Conference on Automated Software Engineering (ASE'12)
20 A Preliminary Study of the Impact of Software Engineering on GreenIT
Ca
se
stu
dy
• 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 A Preliminary Study of the Impact of Software Engineering on GreenIT
Cla
ss
-level co
nsu
mp
tio
n
io/AbstractBuffer 39%
io/ByteArrayBuffer
24% server/Request
4%
util/Utf8Appendable 4%
io/View 3%
server/HttpConnection
2%
io/BufferCache 2%
Others 22%
A Preliminary Study of the Impact of Software Engineering on GreenIT
Cla
ss
-level co
nsu
mp
tio
n
io/AbstractBuffer 39%
io/ByteArrayBuffer
24% server/Request
4%
util/Utf8Appendable 4%
io/View 3%
server/HttpConnection
2%
io/BufferCache 2%
Others 22%
7 classes out of 146
~80% energy
A Preliminary Study of the Impact of Software Engineering on GreenIT
0%
2%
4%
6%
8%
10%
12%
14%
16%
0
10000
20000
30000
40000
50000
60000
CPU Energy % Number of InvocationsT
op
10 c
on
su
min
g m
eth
od
s
24 A Preliminary Study of the Impact of Software Engineering on GreenIT
0%
2%
4%
6%
8%
10%
12%
14%
16%
0
10000
20000
30000
40000
50000
60000
CPU Energy % Number of Invocations
Top10 > 50% (of 726, 1.3%)
To
p10 c
on
su
min
g m
eth
od
s
25 A Preliminary Study of the Impact of Software Engineering on GreenIT
0
1
2
3
4
5
6M
eth
od
co
nsu
mp
tio
n
26 A Preliminary Study of the Impact of Software Engineering on GreenIT
Rela
ted
Wo
rk
27 A Preliminary Study of the Impact of Software Engineering on GreenIT
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 ✔ ✔
QUESTIONS
A Preliminary Study of the Impact of Software Engineering on GreenIT
Life Cycle Assessment (LCA) for a common PC
-30
-15
0
15
30
45
Manufacturing Distribution Use End of Life
Ec
o-I
nd
ica
tor’
99
po
ints
Human Health Ecosystem Quality Resources
Duan & al. Life cycle assessment study of a Chinese desktop personal computer
29 A Preliminary Study of the Impact of Software Engineering on GreenIT
Event Bus API
Listeners
CPU Graphic
Memory File
All Console
Network Console
Sensors
Memory
CPU
Network Formulae
Memory
CPU
Network
Publish
Subscribe
30 A Preliminary Study of the Impact of Software Engineering on GreenIT
Scala
bilit
y
31 A Preliminary Study of the Impact of Software Engineering on GreenIT
Scala
bilit
y
Monitoring 1 application Monitoring 170 applications
32 A Preliminary Study of the Impact of Software Engineering on GreenIT
Sta
te o
f th
e A
rt
JouleMeter
EnergyChecker
PowerTop
pTop Development is over
Not easy to support platform
interoperability
No reusable libraries
Manual calibration
Requires external device
33 A Preliminary Study of the Impact of Software Engineering on GreenIT