3. Ivano Malavolta
Our platform for experimenting
on software
– energy efficiency
– performance
A PLATFORM
A MASTER COURSE
The Green Lab
Students measure
real software products
A COLLABORATION PLATFORM
Industry-driven experiments
7. Ivano Malavolta
Total number of views:
3,362,297,996
Total energy consumed: ~672 GWh in less than 7 years
x27,000 for 7 years!
ICT is unsustainable
Total energy per view:
0.2 kWh
https://www.youtube.com/watch?v=9bZkp7q19f0
http://shrinkthatfootprint.com/average-household-electricity-consumption
8. Ivano Malavolta
CPU: 500 - 2,000 mW
GSM: 800 mW
Display: 400 mW
GPS: 176 mW
Gyroscope: 130 mW
Microphone: 101 mW
Bluetooth: 100 mW
Accelerometer: 21 mW
Battery charge efficiency: 90%
Where does this energy go?
9. Ivano Malavolta
Energy loss:
• Low utilization
• Cooling
• Lighting
PUE = "Good" PUE = 1.4 = 30% loss
Where does this energy go?
Min utilization rate: 10%
Max utilization rate: 80%
10. Ivano Malavolta
”The number of transistors in a
circuit doubles about every 2 years"
(Moore's law)
Is hardware efficient?
11. Ivano Malavolta
"The energy efficiency of hardware
doubles every 1.5 years"
(Koomey's law)
Is hardware efficient?
13. Ivano Malavolta
Nathan P. Myhrvold, Microsoft, ACM 1997
Why is software consuming more and more?
1. Software is a gas
Software always expands to fit whatever container it is stored in
2. Software grows until it becomes limited by Moore's Law
The initial growth of software is rapid, like gas expanding, but is
inevitably limited by the rate of increase in hardware speed
3. Software growth makes Moore's Law possible
People buy new hardware because the software requires it
4. Software is only limited by human ambition and expectation
We'll always find new algorithms, new applications, and new
users
15. Ivano Malavolta
Research questions
• .NET Platform supporting Governance,
Risk and Compliance (GRC) processes.
• Thousands of users worldwide
• ~11.000 eLOCs
• Personalized questionnaires
• Dashboard and reports for results overview
The KPMG case
16. Ivano Malavolta
Collaboration between academia
and industry
We want to consume
less energy
Introduction to
Qubus
We are interested in releases
and deployment strategies
Validation of general
characteristics
Qubus 6.2.3 or Qubus 6.5.7?
Centralized or Distributed?
Empirical
experiment
Clarifications and
refinements
Results
discussion
Preliminary
experiment
definition
The KPMG case
17. Ivano Malavolta
Research questions
How can we improve the energy efficiency of Qubus?
• Which release is more energy efficient?
• Qubus 6.2.3 VS Qubus 6.5.7
• Which deployment strategy is more energy efficient?
• Centralized VS Distributed
VS
18. Ivano Malavolta
Old - C Old - D New - C New - D
Results Scenario 1
Old - C Old - D New - C New - D
Scenario 2
Know precisely the usage scenarios of
your software applications!
Using a higher number of machines does NOT
always imply higher energy consumption
Energyconsumption
20. Ivano Malavolta
Average Daily Hours per Mobile App Visitor by Age
Source: comScore Mobile Metrix, U.S., Age 18+, June 2017
Why mobile apps?
21. Ivano Malavolta
The journey of a Progressive Web
Application (PWA)
1. The user accesses the website as
usual
https://goo.gl/KIZydg
22. Ivano Malavolta
The journey of a PWA
1. The user accesses the website as
usual
2. After the 3rd-4th visit, the website
asks to be installed
https://goo.gl/KIZydg
23. Ivano Malavolta
The journey of a PWA
1. The user accesses the website as
usual
2. After the 3rd-4th visit, the website
asks to be installed
3. From now on, the app lives in the
home screen, runs full-screen, can
receive push notifications
https://goo.gl/KIZydg
24. Ivano Malavolta
Service workers
Implemented in JavaScript
Multithreading
→ runs in a separate thread w.r.t.
the main thread
Used for:
• push notifications
• background operations
• content caching
– offline functionality
25. Ivano Malavolta
PWAs have been advertised as:
• performance boosters
• network savers
• providers of better UX
However…
26. Ivano Malavolta
Experiment design
What we measure
Energy consumption of the device in Joules
Factor Treatments
SW status <on, off>
Android device <high-end, low-end>
Network condition <2G, WiFi>
What we control
What we measure
27. Ivano Malavolta
Experiment design
• All possible combinations of treatments
• 8 combinations x 7 PWAs x 8 runs
à
• each run executes a typical usage
scenario (10-15 gestures)
448 runs
SW status Device Network
on low-end 2G
on low-end WiFi
on high-end 2G
on high-end WiFi
off low-end 2G
off low-end WiFi
off high-end 2G
off high-end WiFi
30. Ivano Malavolta
What is software sustainability?
Direct impact
(sustainable software)
Inward looking
SOFTWARE-INTENSIVE
SYSTEM
ENERGY EFFICIENCY
MAINTAINABILITY
STABILITY
Indirect impact
(software for sustainability)
Outward looking
SOFTWARE-INTENSIVE
SYSTEM
TRUSTABILITY
USABILITY
SURVIVABILITY
Is software sustainability only about the system itself?
36. Ivano Malavolta
Wrap up
Ivano Malavolta
Total number of views:
2,307,082,001
Total energy consumed: ~450 GWh in less than 3 years
x 41,000
ICT is unsustainable
Total energy per view:
0.2 kWh
Ivano Malavolta
Research questions
• .NET Platform supporting Governance,
Risk and Compliance (GRC) processes.
• Thousands of users worldwide
• ~11.000 eLOCs
• Personalized questionnaires
• Dashboard and reports for results overview
The KPMG case
Ivano Malavolta
Service workers
Implemented in JavaScript
Multithreading
→ runs in a separate thread w.r.t.
the main thread
Used for:
• push notifications
• background operations
• content caching
– offline functionality
Ivano Malavolta
Design Decision Maps framing Sustainability
Concerns [notation]
Philips Lightning (now Signify)
Design decision maps