SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Ivano Malavolta
VRIJE
UNIVERSITEIT
AMSTERDAM
Ivano Malavolta
Assistant professor
Vrije Universiteit Amsterdam
Software
sustainability
and Green IT
Ivano Malavolta
Hello
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
Ivano Malavolta
amsterdamyoungacademy.nl
Ivano Malavolta
Software sustainability?
1
Ivano Malavolta
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
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?
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%
Ivano Malavolta
”The number of transistors in a
circuit doubles about every 2 years"
(Moore's law)
Is hardware efficient?
Ivano Malavolta
"The energy efficiency of hardware
doubles every 1.5 years"
(Koomey's law)
Is hardware efficient?
Ivano Malavolta
"Software gets slower more
rapidly than hardware gets faster"
(Wirth's law)
Ok, so what about software?
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
Ivano Malavolta
Energy efficiency
in the back-end2
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
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
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
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
Ivano Malavolta
Energy efficiency
in the front-end3
Ivano Malavolta
Average Daily Hours per Mobile App Visitor by Age
Source: comScore Mobile Metrix, U.S., Age 18+, June 2017
Why mobile apps?
Ivano Malavolta
The journey of a Progressive Web
Application (PWA)
1. The user accesses the website as
usual
https://goo.gl/KIZydg
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
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
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
PWAs have been advertised as:
• performance boosters
• network savers
• providers of better UX
However…
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
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
Ivano Malavolta
Results
Low-end High-end
Smaller difference in the high-end device
Service workers DO NOT influence the energy
consumption of a PWA running on a mobile device
Ivano Malavolta
Taking decisions about
software sustainability4
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?
Ivano Malavolta
ECO
NO
M
IC
SO
CIAL
ENVIRO
NM
ENTAL
TECHNICAL
SO
FTW
ARE
IM
M
ED
IATE
IM
PAC
T
EN
AB
LIN
G
IM
PAC
T
SYSTEM
IC
IM
PAC
T
Lago, P. © 2016-2018 SoSA: A Software Sustainability
Assessment Method. Available at: https://goo.gl/HuY6tf
Condori-Fernandez, N., & Lago, P. (2018). Characterizing the
contribution of quality requirements to software sustainability,
Journal of Systems and Software, 137, 289-305.
Why should we
care?
Sustainability is multi-dimensional
A new perspective on
sustainability
Ivano Malavolta
ECO
NO
M
IC
SO
CIAL
ENVIRO
NM
ENTAL
TECHNICAL
SO
FTW
ARE
IM
M
ED
IATE
IM
PAC
T
EN
AB
LIN
G
IM
PAC
T
SYSTEM
IC
IM
PAC
T
Why should we
care?
A new perspective on
sustainability
Lago, P. © 2016-2018 SoSA: A Software Sustainability
Assessment Method. Available at: https://goo.gl/HuY6tf
Condori-Fernandez, N., & Lago, P. (2018). Characterizing the
contribution of quality requirements to software sustainability,
Journal of Systems and Software, 137, 289-305.
Ivano Malavolta
Design Decision Maps framing Sustainability
Concerns [notation]
Philips Lightning (now Signify)
Design decision maps
Ivano Malavolta
Decision maps + planned effects + monitoring
KPMG Qubus platform
Ivano Malavolta
Amsterdam Smart City
Decision maps for scoping the sustainability of a project
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
Ivano Malavolta
Acknowledgements
Some slides of this presentation have been inspired by talks by:
• Patricia Lago
• Giuseppe Procaccianti
• Roberto Verdecchia

Más contenido relacionado

La actualidad más candente

System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes
Roberta Tassi
 

La actualidad más candente (20)

Business Case for Sustainability Presentation
Business Case for Sustainability Presentation Business Case for Sustainability Presentation
Business Case for Sustainability Presentation
 
Design, an easy tool to integrate the Circular Economy
Design, an easy tool to integrate the Circular EconomyDesign, an easy tool to integrate the Circular Economy
Design, an easy tool to integrate the Circular Economy
 
What Is Sustainability
What Is SustainabilityWhat Is Sustainability
What Is Sustainability
 
Green Computing
Green ComputingGreen Computing
Green Computing
 
The commodisation of design tools
The commodisation of design toolsThe commodisation of design tools
The commodisation of design tools
 
Green Computing
Green ComputingGreen Computing
Green Computing
 
Visual Frameworks to Drive Innovation Processes
Visual Frameworks to Drive Innovation ProcessesVisual Frameworks to Drive Innovation Processes
Visual Frameworks to Drive Innovation Processes
 
Service Design Introduction
Service Design IntroductionService Design Introduction
Service Design Introduction
 
Design thinking applied in Smart City context
Design thinking applied in Smart City contextDesign thinking applied in Smart City context
Design thinking applied in Smart City context
 
CS8078-Green Computing Notes Unit-2
CS8078-Green Computing Notes Unit-2CS8078-Green Computing Notes Unit-2
CS8078-Green Computing Notes Unit-2
 
System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes System Thinking: Design Tools to Drive Innovation Processes
System Thinking: Design Tools to Drive Innovation Processes
 
Using IBM Design Thinking in Everyday Job
Using IBM Design Thinking in Everyday JobUsing IBM Design Thinking in Everyday Job
Using IBM Design Thinking in Everyday Job
 
Design Toolbox — teaching design, its processes & methods
Design Toolbox — teaching design, its processes & methodsDesign Toolbox — teaching design, its processes & methods
Design Toolbox — teaching design, its processes & methods
 
CS8078-Green Computing Notes Unit-3
CS8078-Green Computing Notes Unit-3CS8078-Green Computing Notes Unit-3
CS8078-Green Computing Notes Unit-3
 
The fourth way: design thinking meets futures thinking | anna roumiantseva | ...
The fourth way: design thinking meets futures thinking | anna roumiantseva | ...The fourth way: design thinking meets futures thinking | anna roumiantseva | ...
The fourth way: design thinking meets futures thinking | anna roumiantseva | ...
 
The role of service design in organizations
The role of service design in organizations The role of service design in organizations
The role of service design in organizations
 
Sydney JTBD meetup - the 4 forces of progress
Sydney JTBD meetup - the 4 forces of progressSydney JTBD meetup - the 4 forces of progress
Sydney JTBD meetup - the 4 forces of progress
 
Green computing ppt
Green computing pptGreen computing ppt
Green computing ppt
 
Green computing
Green computing Green computing
Green computing
 
Virtual sdgc20 | oct 22 23, 2020 | full stack service designers
Virtual sdgc20 | oct 22 23, 2020 | full stack service designersVirtual sdgc20 | oct 22 23, 2020 | full stack service designers
Virtual sdgc20 | oct 22 23, 2020 | full stack service designers
 

Similar a Software sustainability and Green IT

Switch Automation Case study v2.0
Switch Automation Case study v2.0Switch Automation Case study v2.0
Switch Automation Case study v2.0
Oleh Mykhaylovych
 

Similar a Software sustainability and Green IT (20)

Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perception
 
How to (Help to) Save Our Planet with Green Coding
How to (Help to) Save Our Planet with Green CodingHow to (Help to) Save Our Planet with Green Coding
How to (Help to) Save Our Planet with Green Coding
 
Energy hub disaster tech innovation program
Energy hub disaster tech innovation programEnergy hub disaster tech innovation program
Energy hub disaster tech innovation program
 
IRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of thingsIRJET-Garbage Monitoring and Management using Internet of things
IRJET-Garbage Monitoring and Management using Internet of things
 
Are service workers draining my battery? [Talk at AmsterdamJS 2017]
Are service workers draining my battery? [Talk at AmsterdamJS 2017]Are service workers draining my battery? [Talk at AmsterdamJS 2017]
Are service workers draining my battery? [Talk at AmsterdamJS 2017]
 
Seldon @ PAPIs Connect, Valencia, 2016-03-14
Seldon @ PAPIs Connect, Valencia, 2016-03-14Seldon @ PAPIs Connect, Valencia, 2016-03-14
Seldon @ PAPIs Connect, Valencia, 2016-03-14
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
 
Beyond the IOPS: Flash Storage Essentials for Performance & Uptimes
Beyond the IOPS: Flash Storage Essentials for Performance & UptimesBeyond the IOPS: Flash Storage Essentials for Performance & Uptimes
Beyond the IOPS: Flash Storage Essentials for Performance & Uptimes
 
AI and Machine Learning for the Connected Home with Stephen Galsworthy
AI and Machine Learning for the Connected Home with Stephen GalsworthyAI and Machine Learning for the Connected Home with Stephen Galsworthy
AI and Machine Learning for the Connected Home with Stephen Galsworthy
 
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
 
ravindra_job
ravindra_jobravindra_job
ravindra_job
 
UberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for BeginnersUberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for Beginners
 
“Shift-Left.” Performance And Architecture Validation with Continuous Integra...
“Shift-Left.” Performance And Architecture Validation with Continuous Integra...“Shift-Left.” Performance And Architecture Validation with Continuous Integra...
“Shift-Left.” Performance And Architecture Validation with Continuous Integra...
 
"Shift-Left." Performance And Architecture Validation with Continuous Integra...
"Shift-Left." Performance And Architecture Validation with Continuous Integra..."Shift-Left." Performance And Architecture Validation with Continuous Integra...
"Shift-Left." Performance And Architecture Validation with Continuous Integra...
 
Minh nguyen 2021 (2)
Minh nguyen 2021 (2)Minh nguyen 2021 (2)
Minh nguyen 2021 (2)
 
DIYguru Labview Course Syllabus
DIYguru Labview Course SyllabusDIYguru Labview Course Syllabus
DIYguru Labview Course Syllabus
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower Scientists
 
SPARK16 Presentation: IoT, Data, and New Business Models are Disrupting Build...
SPARK16 Presentation: IoT, Data, and New Business Models are Disrupting Build...SPARK16 Presentation: IoT, Data, and New Business Models are Disrupting Build...
SPARK16 Presentation: IoT, Data, and New Business Models are Disrupting Build...
 
Four Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance TestingFour Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance Testing
 
Switch Automation Case study v2.0
Switch Automation Case study v2.0Switch Automation Case study v2.0
Switch Automation Case study v2.0
 

Más de Ivano Malavolta

Más de Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reporting
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Software sustainability and Green IT

  • 1. Ivano Malavolta VRIJE UNIVERSITEIT AMSTERDAM Ivano Malavolta Assistant professor Vrije Universiteit Amsterdam Software sustainability and Green IT
  • 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?
  • 12. Ivano Malavolta "Software gets slower more rapidly than hardware gets faster" (Wirth's law) Ok, so what about software?
  • 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
  • 28. Ivano Malavolta Results Low-end High-end Smaller difference in the high-end device Service workers DO NOT influence the energy consumption of a PWA running on a mobile device
  • 29. Ivano Malavolta Taking decisions about software sustainability4
  • 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?
  • 31. Ivano Malavolta ECO NO M IC SO CIAL ENVIRO NM ENTAL TECHNICAL SO FTW ARE IM M ED IATE IM PAC T EN AB LIN G IM PAC T SYSTEM IC IM PAC T Lago, P. © 2016-2018 SoSA: A Software Sustainability Assessment Method. Available at: https://goo.gl/HuY6tf Condori-Fernandez, N., & Lago, P. (2018). Characterizing the contribution of quality requirements to software sustainability, Journal of Systems and Software, 137, 289-305. Why should we care? Sustainability is multi-dimensional A new perspective on sustainability
  • 32. Ivano Malavolta ECO NO M IC SO CIAL ENVIRO NM ENTAL TECHNICAL SO FTW ARE IM M ED IATE IM PAC T EN AB LIN G IM PAC T SYSTEM IC IM PAC T Why should we care? A new perspective on sustainability Lago, P. © 2016-2018 SoSA: A Software Sustainability Assessment Method. Available at: https://goo.gl/HuY6tf Condori-Fernandez, N., & Lago, P. (2018). Characterizing the contribution of quality requirements to software sustainability, Journal of Systems and Software, 137, 289-305.
  • 33. Ivano Malavolta Design Decision Maps framing Sustainability Concerns [notation] Philips Lightning (now Signify) Design decision maps
  • 34. Ivano Malavolta Decision maps + planned effects + monitoring KPMG Qubus platform
  • 35. Ivano Malavolta Amsterdam Smart City Decision maps for scoping the sustainability of a project
  • 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
  • 37. Ivano Malavolta Acknowledgements Some slides of this presentation have been inspired by talks by: • Patricia Lago • Giuseppe Procaccianti • Roberto Verdecchia