SlideShare uma empresa Scribd logo
1 de 41
Let’s talk a bit about:
Green Software
greenlab.di.uminho.pt | ruipereira@di.uminho.pt
Rui Pereira
Going Green
2
+ =
Global energy system is unsustainable
3
Green Computing
4
 Caught the attention of many companies allowing them to save:
close to 50% of the energy costs of an organization can be attributed to the IT
departments
[PICMET, 2009]
up to 90% of excessive energy used by hardware can be attributed to
inefficient software
[The GHG Protocol Report, 2013]
Green Computing
5
 Everyday users also feel the impact
9 out of 10 users have low battery anxiety; long battery life
was the most desired feature in 2017
[The Wall Street Journal, 2018]
Green Software
 Reducing energy consumption through software analysis and optimization
 Problem:
 How to analyze
 How to interpret
 How to improve
6
Green Software
 Problems (extended to programmers):
 How to analyze
 How to interpret
 How to improve
7
What do programmers know about software energy consumption?
[IEEE Software’16]
An empirical study of practitioners’ perspectives on green software
engineering
[ICSE’16]
Mining questions about software energy consumption
[MSR’14]
Green Software
 Two main problems for energy efficient software development:
8
Energy efficiency: a new concern for application software
Developers
[Communications of the ACM’17]
Lack of knowledge Lack of tools
Energy vs. Power
9
 Power (w) – rate (or effort) at which that work is done
 Energy (J) – amount of work done
 Power can change constantly while Energy is the accumulation
Energy = Power x Seconds
Power
Energy
100W360,000 J = x 3,600s
Is faster greener?
10
slower
Is faster greener?
Energy-aware software: Challenges, opportunities, and strategies
[Journal of Computational Science’13]
An experimental survey of energy management across the stack
[OOPSLA’14]
Understanding energy behaviors of thread management constructs
[OOPSLA’14]
Power and energy implications of the number of threads used
[PPMG’15]
Using the greenup, powerup, and speedup metrics to evaluate software
energy efficiency
[IGSC’15]
Haskell in green land: Analyzing the energy behavior of a purely functional
language
[SANER’16]
11
What is greener?
Energy Efficiency Across
Programming Languages
12
13
Understanding the energy efficiency of programming languages
14
Is a faster language always a more energy efficient one?
Which are the most energy efficient languages?
How much energy consumption is attributed to CPU?
What paradigms are most energy efficient?
How much energy does memory usage consume?
Comparing Programming Languages
15
C Java Haskell Fortran
= = =
* Formerly known as The Great Computer Language Shootout
16
Results
https://sites.google.com/view/energy-efficiency-languages
17
Normalized Results
Average
Joules ms
Compiled 120 5103
VM 576 20623
Interpreted 2365 87614
Average
Joules ms
Imperative 125 5585
OO 879 32975
Functional 1367 42740
“Scripting” 2320 88322
57J
4604J
2s
167s
18
Normalized Results
Average
Joules ms
Compiled 120 5103
VM 576 20623
Interpreted 2365 87614
Average
Joules ms
Imperative 125 5585
OO 879 32975
Functional 1367 42740
“Scripting” 2320 88322
19
Normalized Results
66Mb
1309Mb
Average
Joules ms Mb
Compiled 120 5103 125
VM 576 20623 285
Interpreted 2365 87614 426
Average
Joules ms Mb
Imperative 125 5585 116
OO 879 32975 249
Functional 1367 42740 251
“Scripting” 2320 88322 421
20
Energy vs. Time
21
Energy vs. Memory
 (Peak Memory) Spearman rank-order correlation p = 0.2091
+1 = perfect positive -1 = perfect negative0 = no relationship
0.3 = weak uphill
p = 0.2091
 (Continuous Memory) Spearman rank-order correlation p = 0.744
+1 = perfect positive -1 = perfect negative0 = no relationship
0.7 = strong uphill
p = 0.744
22
Energy vs. Time vs. Memory
23
Energy vs. Time vs. Memory (Pareto Optimization)
24
Energy Efficiency Across
Java Collections
25
Understanding the energy efficiency of Java collections
26
Which collections are the most energy inefficient?
Can we use our data to suggest energy efficient alternatives?
Can we quantify energy consumption of collections and their methods?
Java Collections Framework (JCF)
27
ConcurrentSkipListSet ArrayList ConcurrentHashMap
CopyOnWriteArraySet AttributeList ConcurrentSkipListMap
HashSet CopyOnWriteArrayList HashMap
LinkedHashSet LinkedList Hashtable
TreeSet RoleList IdentityHashMap
RoleUnresolvedList LinkedHashMap
Stack Properties
Vector SimpleBindings
TreeMap
UIDefaults
WeakHashMap
Sets Lists Maps Design – Data Structures
 Population sizes:
 25,000
 250,000
 1,000,000
Java Collections Framework (JCF)
28
 Design – Methods add add clear
addAll addAll containsKey
clear add(index) containsValue
contains addAll(index) entrySet
containsAll clear get
iterateAll contains iterateAll
iterator containsAll keySet
remove get put
removeAll indexOf putAll
retainAll iterator remove
toArray lastIndexOf values
listIterator
listIterator(index)
remove
removeAll
remove(index)
retainAll
set
sublist
toArray
Sets Lists Maps
Results (Lists - 25k population)
29
jStanley: Placing a Green Thumb on Java Collections
30
 Between 2% - 17% energy reduction
 Average of 6.7% energy reduction
https://greensoftwarelab.github.io/jStanley/
Mobile Energy Patterns
31
Energy efficiency of apps is important
32
 Analyzed 1,780+ Android and iOS open source applications
 Reviewed Git commits, issues, and PR for “energy”, “power”, or “battery” (6,000+)
 Manual analysis of the changes
 Catalog of 22 Energy Patterns
https://tqrg.github.io/energy-patterns/
Mobile Energy Patterns (3 of 22)
33
Where do I begin?
34
Quick changes
35
How do I measure energy?
36
 Qualcomm Trepn Profiler
 Monsoon ($$$)
 ODroid XU-3 ($)
 Intel Running Average Power Limiter (RAPL)
 ODroid XU-3 ($)
GreenHub Initiative
37
38
 Media coverage: Featured in more than 30+ websites
39
 28,000+ unique devices
 1,000M+ samples
40
 Explore the dataset: https://greenhub.di.ubi.pt/storage/dataset.zip
https://sites.google.com/view/energy-efficiency-languages
Mobile Energy Patterns
https://tqrg.github.io/energy-patterns

Mais conteúdo relacionado

Mais procurados

Documento11propuesta
Documento11propuestaDocumento11propuesta
Documento11propuesta
Oscar Trenado
 
Strategies for energy efficient resource management of hybrid programming models
Strategies for energy efficient resource management of hybrid programming modelsStrategies for energy efficient resource management of hybrid programming models
Strategies for energy efficient resource management of hybrid programming models
Ecway Technologies
 

Mais procurados (14)

Optimization of Resource Allocation Strategy Using Modified PSO in Cloud Envi...
Optimization of Resource Allocation Strategy Using Modified PSO in Cloud Envi...Optimization of Resource Allocation Strategy Using Modified PSO in Cloud Envi...
Optimization of Resource Allocation Strategy Using Modified PSO in Cloud Envi...
 
Documento11propuesta
Documento11propuestaDocumento11propuesta
Documento11propuesta
 
Strategies for energy efficient resource management of hybrid programming models
Strategies for energy efficient resource management of hybrid programming modelsStrategies for energy efficient resource management of hybrid programming models
Strategies for energy efficient resource management of hybrid programming models
 
PhD Pre-Thesis
PhD Pre-ThesisPhD Pre-Thesis
PhD Pre-Thesis
 
Ahmed Absi slides bigbwa
Ahmed Absi slides  bigbwaAhmed Absi slides  bigbwa
Ahmed Absi slides bigbwa
 
MACHINE LEARNING ON MAPREDUCE FRAMEWORK
MACHINE LEARNING ON MAPREDUCE FRAMEWORKMACHINE LEARNING ON MAPREDUCE FRAMEWORK
MACHINE LEARNING ON MAPREDUCE FRAMEWORK
 
Optimization in power system
Optimization in power systemOptimization in power system
Optimization in power system
 
Ijciet 10 01_162
Ijciet 10 01_162Ijciet 10 01_162
Ijciet 10 01_162
 
Presented by Ahmed Abdulhakim Al-Absi - Scaling map reduce applications acro...
Presented by Ahmed Abdulhakim Al-Absi -  Scaling map reduce applications acro...Presented by Ahmed Abdulhakim Al-Absi -  Scaling map reduce applications acro...
Presented by Ahmed Abdulhakim Al-Absi - Scaling map reduce applications acro...
 
Demand-driven Gaussian window optimization for executing preferred population...
Demand-driven Gaussian window optimization for executing preferred population...Demand-driven Gaussian window optimization for executing preferred population...
Demand-driven Gaussian window optimization for executing preferred population...
 
Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...
Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...
Analysis of Dynamic Latched Comparator with Reduced Delay and Energy for High...
 
Garbage collection auto tuning for java map reduce on multi-cores
Garbage collection auto tuning for java map reduce on multi-coresGarbage collection auto tuning for java map reduce on multi-cores
Garbage collection auto tuning for java map reduce on multi-cores
 
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
GMC: Greening MapReduce Clusters Considering both Computation Energy and Cool...
 
Optimization for-power-sy-8631549
Optimization for-power-sy-8631549Optimization for-power-sy-8631549
Optimization for-power-sy-8631549
 

Semelhante a Let's Talk a Bit About: Green Software

The Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy ConsumptionThe Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy Consumption
GreenLabAtDI
 
A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...
butest
 
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
ijesajournal
 
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
ijesajournal
 
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
ijesajournal
 

Semelhante a Let's Talk a Bit About: Green Software (20)

Green Computing as an Engineering Discipline
Green Computing as an Engineering DisciplineGreen Computing as an Engineering Discipline
Green Computing as an Engineering Discipline
 
The Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy ConsumptionThe Influence of the Java Collection Framework on Overall Energy Consumption
The Influence of the Java Collection Framework on Overall Energy Consumption
 
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
Exploring Emerging Technologies in the Extreme Scale HPC Co-Design Space with...
 
Programming Modes and Performance of Raspberry-Pi Clusters
Programming Modes and Performance of Raspberry-Pi ClustersProgramming Modes and Performance of Raspberry-Pi Clusters
Programming Modes and Performance of Raspberry-Pi Clusters
 
Providing a multi-objective scheduling tasks by Using PSO algorithm for cost ...
Providing a multi-objective scheduling tasks by Using PSO algorithm for cost ...Providing a multi-objective scheduling tasks by Using PSO algorithm for cost ...
Providing a multi-objective scheduling tasks by Using PSO algorithm for cost ...
 
A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...
 
Green indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeGreen indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in code
 
ijeat.pdf
ijeat.pdfijeat.pdf
ijeat.pdf
 
Reengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachReengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approach
 
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
OpenACC and Open Hackathons Monthly Highlights May  2023.pdfOpenACC and Open Hackathons Monthly Highlights May  2023.pdf
OpenACC and Open Hackathons Monthly Highlights May 2023.pdf
 
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
 
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
 
A novel methodology for task distribution
A novel methodology for task distributionA novel methodology for task distribution
A novel methodology for task distribution
 
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
A NOVEL METHODOLOGY FOR TASK DISTRIBUTION IN HETEROGENEOUS RECONFIGURABLE COM...
 
Harnessing deep learning algorithms to predict software refactoring
Harnessing deep learning algorithms to predict software refactoringHarnessing deep learning algorithms to predict software refactoring
Harnessing deep learning algorithms to predict software refactoring
 
Sparkr sigmod
Sparkr sigmodSparkr sigmod
Sparkr sigmod
 
Top Viewed Articles from Academia in 2019- International Journal of Distribu...
 Top Viewed Articles from Academia in 2019- International Journal of Distribu... Top Viewed Articles from Academia in 2019- International Journal of Distribu...
Top Viewed Articles from Academia in 2019- International Journal of Distribu...
 
AI Sustainability Mascots 23-f.pptx
AI Sustainability Mascots 23-f.pptxAI Sustainability Mascots 23-f.pptx
AI Sustainability Mascots 23-f.pptx
 
OpenACC Monthly Highlights Summer 2019
OpenACC Monthly Highlights Summer 2019OpenACC Monthly Highlights Summer 2019
OpenACC Monthly Highlights Summer 2019
 
Reusability Framework for Cloud Computing
Reusability Framework for Cloud ComputingReusability Framework for Cloud Computing
Reusability Framework for Cloud Computing
 

Mais de GreenLabAtDI

Products go Green: Worst-Case Energy Consumption in Software Product Lines
Products go Green: Worst-Case Energy Consumption in Software Product LinesProducts go Green: Worst-Case Energy Consumption in Software Product Lines
Products go Green: Worst-Case Energy Consumption in Software Product Lines
GreenLabAtDI
 
Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...
Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...
Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...
GreenLabAtDI
 
PresentationMeasuring and Visualizing Energy Consumption within Software Code
PresentationMeasuring and Visualizing Energy Consumption within Software CodePresentationMeasuring and Visualizing Energy Consumption within Software Code
PresentationMeasuring and Visualizing Energy Consumption within Software Code
GreenLabAtDI
 

Mais de GreenLabAtDI (9)

Products go Green: Worst-Case Energy Consumption in Software Product Lines
Products go Green: Worst-Case Energy Consumption in Software Product LinesProducts go Green: Worst-Case Energy Consumption in Software Product Lines
Products go Green: Worst-Case Energy Consumption in Software Product Lines
 
Static Energy Prediction in Software: A Worst-Case Scenario Approach
Static Energy Prediction in Software: A Worst-Case Scenario ApproachStatic Energy Prediction in Software: A Worst-Case Scenario Approach
Static Energy Prediction in Software: A Worst-Case Scenario Approach
 
Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...
Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...
Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional L...
 
Green Software Lab
Green Software LabGreen Software Lab
Green Software Lab
 
GreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
GreenDroid: A Tool for Analysing Power Consumption in the Android EcosystemGreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
GreenDroid: A Tool for Analysing Power Consumption in the Android Ecosystem
 
Marco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationMarco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis Presentation
 
Rui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-ThesisRui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-Thesis
 
Detecting Anomalous Energy Consumption in Android Applications
Detecting Anomalous Energy Consumption in Android ApplicationsDetecting Anomalous Energy Consumption in Android Applications
Detecting Anomalous Energy Consumption in Android Applications
 
PresentationMeasuring and Visualizing Energy Consumption within Software Code
PresentationMeasuring and Visualizing Energy Consumption within Software CodePresentationMeasuring and Visualizing Energy Consumption within Software Code
PresentationMeasuring and Visualizing Energy Consumption within Software Code
 

Último

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Último (20)

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

Let's Talk a Bit About: Green Software

  • 1. Let’s talk a bit about: Green Software greenlab.di.uminho.pt | ruipereira@di.uminho.pt Rui Pereira
  • 3. Global energy system is unsustainable 3
  • 4. Green Computing 4  Caught the attention of many companies allowing them to save: close to 50% of the energy costs of an organization can be attributed to the IT departments [PICMET, 2009] up to 90% of excessive energy used by hardware can be attributed to inefficient software [The GHG Protocol Report, 2013]
  • 5. Green Computing 5  Everyday users also feel the impact 9 out of 10 users have low battery anxiety; long battery life was the most desired feature in 2017 [The Wall Street Journal, 2018]
  • 6. Green Software  Reducing energy consumption through software analysis and optimization  Problem:  How to analyze  How to interpret  How to improve 6
  • 7. Green Software  Problems (extended to programmers):  How to analyze  How to interpret  How to improve 7 What do programmers know about software energy consumption? [IEEE Software’16] An empirical study of practitioners’ perspectives on green software engineering [ICSE’16] Mining questions about software energy consumption [MSR’14]
  • 8. Green Software  Two main problems for energy efficient software development: 8 Energy efficiency: a new concern for application software Developers [Communications of the ACM’17] Lack of knowledge Lack of tools
  • 9. Energy vs. Power 9  Power (w) – rate (or effort) at which that work is done  Energy (J) – amount of work done  Power can change constantly while Energy is the accumulation Energy = Power x Seconds Power Energy 100W360,000 J = x 3,600s
  • 10. Is faster greener? 10 slower Is faster greener? Energy-aware software: Challenges, opportunities, and strategies [Journal of Computational Science’13] An experimental survey of energy management across the stack [OOPSLA’14] Understanding energy behaviors of thread management constructs [OOPSLA’14] Power and energy implications of the number of threads used [PPMG’15] Using the greenup, powerup, and speedup metrics to evaluate software energy efficiency [IGSC’15] Haskell in green land: Analyzing the energy behavior of a purely functional language [SANER’16]
  • 13. 13
  • 14. Understanding the energy efficiency of programming languages 14 Is a faster language always a more energy efficient one? Which are the most energy efficient languages? How much energy consumption is attributed to CPU? What paradigms are most energy efficient? How much energy does memory usage consume?
  • 15. Comparing Programming Languages 15 C Java Haskell Fortran = = = * Formerly known as The Great Computer Language Shootout
  • 17. 17 Normalized Results Average Joules ms Compiled 120 5103 VM 576 20623 Interpreted 2365 87614 Average Joules ms Imperative 125 5585 OO 879 32975 Functional 1367 42740 “Scripting” 2320 88322 57J 4604J 2s 167s
  • 18. 18 Normalized Results Average Joules ms Compiled 120 5103 VM 576 20623 Interpreted 2365 87614 Average Joules ms Imperative 125 5585 OO 879 32975 Functional 1367 42740 “Scripting” 2320 88322
  • 19. 19 Normalized Results 66Mb 1309Mb Average Joules ms Mb Compiled 120 5103 125 VM 576 20623 285 Interpreted 2365 87614 426 Average Joules ms Mb Imperative 125 5585 116 OO 879 32975 249 Functional 1367 42740 251 “Scripting” 2320 88322 421
  • 21. 21 Energy vs. Memory  (Peak Memory) Spearman rank-order correlation p = 0.2091 +1 = perfect positive -1 = perfect negative0 = no relationship 0.3 = weak uphill p = 0.2091  (Continuous Memory) Spearman rank-order correlation p = 0.744 +1 = perfect positive -1 = perfect negative0 = no relationship 0.7 = strong uphill p = 0.744
  • 22. 22 Energy vs. Time vs. Memory
  • 23. 23 Energy vs. Time vs. Memory (Pareto Optimization)
  • 24. 24
  • 26. Understanding the energy efficiency of Java collections 26 Which collections are the most energy inefficient? Can we use our data to suggest energy efficient alternatives? Can we quantify energy consumption of collections and their methods?
  • 27. Java Collections Framework (JCF) 27 ConcurrentSkipListSet ArrayList ConcurrentHashMap CopyOnWriteArraySet AttributeList ConcurrentSkipListMap HashSet CopyOnWriteArrayList HashMap LinkedHashSet LinkedList Hashtable TreeSet RoleList IdentityHashMap RoleUnresolvedList LinkedHashMap Stack Properties Vector SimpleBindings TreeMap UIDefaults WeakHashMap Sets Lists Maps Design – Data Structures  Population sizes:  25,000  250,000  1,000,000
  • 28. Java Collections Framework (JCF) 28  Design – Methods add add clear addAll addAll containsKey clear add(index) containsValue contains addAll(index) entrySet containsAll clear get iterateAll contains iterateAll iterator containsAll keySet remove get put removeAll indexOf putAll retainAll iterator remove toArray lastIndexOf values listIterator listIterator(index) remove removeAll remove(index) retainAll set sublist toArray Sets Lists Maps
  • 29. Results (Lists - 25k population) 29
  • 30. jStanley: Placing a Green Thumb on Java Collections 30  Between 2% - 17% energy reduction  Average of 6.7% energy reduction https://greensoftwarelab.github.io/jStanley/
  • 32. Energy efficiency of apps is important 32  Analyzed 1,780+ Android and iOS open source applications  Reviewed Git commits, issues, and PR for “energy”, “power”, or “battery” (6,000+)  Manual analysis of the changes  Catalog of 22 Energy Patterns https://tqrg.github.io/energy-patterns/
  • 33. Mobile Energy Patterns (3 of 22) 33
  • 34. Where do I begin? 34
  • 36. How do I measure energy? 36  Qualcomm Trepn Profiler  Monsoon ($$$)  ODroid XU-3 ($)  Intel Running Average Power Limiter (RAPL)  ODroid XU-3 ($)
  • 38. 38  Media coverage: Featured in more than 30+ websites
  • 39. 39  28,000+ unique devices  1,000M+ samples
  • 40. 40  Explore the dataset: https://greenhub.di.ubi.pt/storage/dataset.zip

Notas do Editor

  1. Patterns, habits, structures algorithms
  2. Aware of the energy consumption problem, many times seeking help in resolving this, misconceptions within the programming community as to what causes highenergy consumption, how to solve them a heavy lack of support and knowledge for energy-aware development
  3. Most comment perception to the EC problem = performance issue (reduction in time = reduction in energy) I would suggest this as a good starting point if someone were to ask me how to optimize, as do others. But the opposite has been also observed, where an increase in time brought about a decrease in energy.
  4. Developing comparable programs written in different languages is both complex and time consuming. 27 languages and 10 tasks
  5. Top 5 keep their ranks. OCAML HASKELL RACKET PYTHON Scriptings
  6. OCAML HASKELL RACKET PYTHON
  7. optimizing for energy is not necessarily the same as optimizing for performance. Pascal is 10% more energy efficient than Chapel, yet Chapel is 55% faster.
  8. Energy harvesting device Wearable device we use a multi-objective optimization algorithm to sort these languages, known as Pareto optimization
  9. we use a multi-objective optimization algorithm to sort these languages, known as Pareto optimization