SlideShare a Scribd company logo
1 of 33
Locating Energy Hotspots in
Source Code
Rui Pereira
Universidade do Minho & INESC Tec/HASLab
ACM SRC @ ICSE’17
ruipereira@di.uminho.pt
26/05/2017 greenlab.di.uminho.pt
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 energy used by ICT hardware can be attributed to software”
- [The Greenhouse Gas Protocol Report, 2013]
Green Software
 Reducing energy consumption through software analysis and optimization
 Problem:
 How to analyze
 How to interpret
 How to improve
5
Green Software
 Problems (extended to programmers):
 How to analyze
 How to interpret
 How to improve
6
Mining questions about software energy consumption
- [MSR’14]
Integrated energy-directed test suite optimization
- [ISTA’14]
Seeds: A software engineer’s energy-optimization decision
support framework - [ICSE’14]
Energy vs. Power
7
 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
SPELL - Spectrum-based Energy Leak Localization
8
Spectrum-based Fault Localization (SFL)
9
Spectrum-based Fault Localization (SFL)
10
Error vector
Oracle
Low
High
Energy
Energy
Energy
Energy
Problem: Energy cannot be defined as binary values
SPELL
11
Validation
greenlab.di.uminho.pt 12
 (RQ1) – Does SPELL indicate reliable information?
 (RQ2) – Do developers actually find SPELL information useful?
Empirical Validation
greenlab.di.uminho.pt
Optimizing energy leaks with developers
Industrial
Post-doc
PhD
SPELL
13
SPELL – initial results
14
 Developers found the information to be very useful
 Spent on average 43% less time
 Produced more energy efficient programs (26% less energy on average)
 In progress:
 SPELL vs. Profilers (Looks promising!)
 Find Open-source Software and notify developers of possible hotspots and see what they say
SPELL – Plugin?
15
Code flagging Sunburst representation Suggestions?
SPELL – Accomplished Goals
16
Conclusions
17
Find more info @ our page: http://greenlab.di.uminho.pt/
Language independent
 Multi level analysis
 Multi hardware component analysis
 Points to hot spots in source code
18
Thank you
Locating Energy Hotspots in
Source Code
Rui Pereira
Universidade do Minho & INESC Tec/HASLab
ACM SRC @ ICSE’17
ruipereira@di.uminho.pt
26/05/2017 greenlab.di.uminho.pt
Cheat slides
20
Is faster greener?
21
Understanding energy behaviors of thread management constructs
- [OOPSLA’14]
Energy-aware software: Challenges, opportunities and strategies
- [Journal of Computational Science’13]
Haskell in green land: Analyzing the energy behavior of a purely
functional language - [SANER’16]
An experimental survey of energy management across the stack
- [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]
slower
Is faster greener?
22
What is greener?
jRAPL/RAPL
23
What is jRAPL?
 Framework for profiling Java programs running on RAPL
24
What is RAPL?
 Running Average Power Limit
 Designed by intel for i5/i7 architectures (SandyBridge, IvyBridge, Haswell, etc)
 Monitors energy consumption info for Machine-Specific Registers (MSRs)
 Allows very precise and fine-grain measurements through function calls
 DRAM/GPU
 CPU
 Package
How do we use jRAPL?
25
Energy?
t0
t∞
a = getEnergy()
b = getEnergy()
b - a
 http://kliu20.github.io/jRAPL/
SPELL
26
27 Example
28 Example
ϕ - Component Category Similarty
37 + 61 + 0 + 42
1 + 2 + 0 + 1
75 + 102 + 0 + 34
140
4
211
=
29 Example
ϕ - Component Category Similarty
Component c1
min(37,140)+min(38,166)+min(36,129)+min(37,164)+min(39,209)
max(37,140)+max(38,166)+max(36,129)+max(37,164)+max(39,209)
= 0.2314
𝝰1 =
𝝰2 =
𝝰3 =
min(1,4)+min(3,7)+min(1,3)+min(3,7)+min(2,11)
max(1,4)+max(3,7)+max(1,3)+max(3,7)+max(2,11)
= 0.3125
min(75,211)+min(77,259)+min(73,218)+min(74,222)+min(75,295)
max(75,211)+max(77,259)+max(73,218)+max(74,222)+max(75,295)
= 0.3104
30 Example
𝜓 - Global Similarity
31 Example
𝜓 - Global Similarity
(37 x 0.34) x 1 x 75 = 943.5
Component c1 Test t1
(61 x 0.34) x 2 x 102 = 4230.96
Component c2Test t1
(0 x 0) x 0 x 0 = 0
Component c3 Test t1
(42 x 0.34) x 1 x 34 = 485.52
Component c3 Test t1
= 5659.98
32 Example
𝜓 - Global Similarity
Component c1
min(943.5,5659.98)+...+min(1989,14310.6)
max(943.5,5659.98)+...+max(1989,14310.6)
= 0.2466
𝜓1 =
Example

More Related Content

What's hot

Resume [Kyle Kendall]
Resume [Kyle Kendall]Resume [Kyle Kendall]
Resume [Kyle Kendall]Kyle Kendall
 
Air 2014 energy_efficiency_forum
Air 2014 energy_efficiency_forumAir 2014 energy_efficiency_forum
Air 2014 energy_efficiency_forumStantec
 
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...Asoka Technologies
 
Rhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical EngineerRhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical EngineerRhushikesh Ghotkar
 
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)Giuseppe Procaccianti
 
Koenig - Andersen Corp Supply Chain Case Study
Koenig - Andersen Corp Supply Chain Case StudyKoenig - Andersen Corp Supply Chain Case Study
Koenig - Andersen Corp Supply Chain Case StudyEnvironmental Initiative
 
Air 2014 barcelona
Air 2014 barcelonaAir 2014 barcelona
Air 2014 barcelonaStantec
 
Big Data Technologies & Applications
Big Data Technologies & ApplicationsBig Data Technologies & Applications
Big Data Technologies & ApplicationsBYTE Project
 
Practical Experiences with Smart-Homes Modeling and Simulation
Practical Experiences with Smart-Homes Modeling and SimulationPractical Experiences with Smart-Homes Modeling and Simulation
Practical Experiences with Smart-Homes Modeling and SimulationSimulationX
 
Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...
Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...
Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...Lynx Project
 
Air 2015 aaae
Air 2015 aaaeAir 2015 aaae
Air 2015 aaaeStantec
 
Fyp Project Pitch
Fyp Project Pitch Fyp Project Pitch
Fyp Project Pitch udheyakumare
 

What's hot (15)

Resume [Kyle Kendall]
Resume [Kyle Kendall]Resume [Kyle Kendall]
Resume [Kyle Kendall]
 
Air 2014 energy_efficiency_forum
Air 2014 energy_efficiency_forumAir 2014 energy_efficiency_forum
Air 2014 energy_efficiency_forum
 
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
 
Rhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical EngineerRhushikesh Ghotkar Mechanical Engineer
Rhushikesh Ghotkar Mechanical Engineer
 
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
 
Koenig - Andersen Corp Supply Chain Case Study
Koenig - Andersen Corp Supply Chain Case StudyKoenig - Andersen Corp Supply Chain Case Study
Koenig - Andersen Corp Supply Chain Case Study
 
GREEB
GREEBGREEB
GREEB
 
Air 2014 barcelona
Air 2014 barcelonaAir 2014 barcelona
Air 2014 barcelona
 
Aeij
AeijAeij
Aeij
 
Big Data Technologies & Applications
Big Data Technologies & ApplicationsBig Data Technologies & Applications
Big Data Technologies & Applications
 
Practical Experiences with Smart-Homes Modeling and Simulation
Practical Experiences with Smart-Homes Modeling and SimulationPractical Experiences with Smart-Homes Modeling and Simulation
Practical Experiences with Smart-Homes Modeling and Simulation
 
Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...
Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...
Lynx industry use case. Pilot 3: Compliance Assurance for Geothermal Energy P...
 
Air 2015 aaae
Air 2015 aaaeAir 2015 aaae
Air 2015 aaae
 
Can the Cloud Be Green?
Can the Cloud Be Green?Can the Cloud Be Green?
Can the Cloud Be Green?
 
Fyp Project Pitch
Fyp Project Pitch Fyp Project Pitch
Fyp Project Pitch
 

Similar to Locating Energy Hotspots in Source Code Using SPELL

Let's Talk a Bit About: Green Software
Let's Talk a Bit About: Green SoftwareLet's Talk a Bit About: Green Software
Let's Talk a Bit About: Green SoftwareGreenLabAtDI
 
Towards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming LanguagesTowards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming LanguagesGreenLabAtDI
 
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 ConsumptionGreenLabAtDI
 
Self-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy EfficiencySelf-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy EfficiencyPatricia Lago
 
Rui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-ThesisRui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-ThesisGreenLabAtDI
 
Marco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationMarco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationGreenLabAtDI
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesJácome Cunha
 
Towards Software Sustainability Assessment
Towards Software Sustainability AssessmentTowards Software Sustainability Assessment
Towards Software Sustainability AssessmentPatricia Lago
 
Supermicro and The Green Grid (TGG)
Supermicro and The Green Grid (TGG)Supermicro and The Green Grid (TGG)
Supermicro and The Green Grid (TGG)Rebekah Rodriguez
 
Green Computing Seminar
Green Computing SeminarGreen Computing Seminar
Green Computing SeminarNikunj_Agrawal
 
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...TELKOMNIKA JOURNAL
 
Green Computing Emerging Issues in IT
Green Computing Emerging Issues in ITGreen Computing Emerging Issues in IT
Green Computing Emerging Issues in ITijtsrd
 
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 codeCAST
 
An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...
An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...
An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...IJECEIAES
 
An energy optimization with improved QOS approach for adaptive cloud resources
An energy optimization with improved QOS approach for adaptive cloud resources An energy optimization with improved QOS approach for adaptive cloud resources
An energy optimization with improved QOS approach for adaptive cloud resources IJECEIAES
 
An optimized cost-based data allocation model for heterogeneous distributed ...
An optimized cost-based data allocation model for  heterogeneous distributed ...An optimized cost-based data allocation model for  heterogeneous distributed ...
An optimized cost-based data allocation model for heterogeneous distributed ...IJECEIAES
 
Wind Data USA 2017 brochure
Wind Data USA 2017 brochureWind Data USA 2017 brochure
Wind Data USA 2017 brochureHeather Smith
 

Similar to Locating Energy Hotspots in Source Code Using SPELL (20)

Let's Talk a Bit About: Green Software
Let's Talk a Bit About: Green SoftwareLet's Talk a Bit About: Green Software
Let's Talk a Bit About: Green Software
 
Towards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming LanguagesTowards a Green Ranking for Programming Languages
Towards a Green Ranking for Programming Languages
 
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
 
Self-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy EfficiencySelf-adaptation Approaches for Energy Efficiency
Self-adaptation Approaches for Energy Efficiency
 
Rui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-ThesisRui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-Thesis
 
Marco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationMarco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis Presentation
 
Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
 
20141203 sen plago
20141203 sen plago20141203 sen plago
20141203 sen plago
 
Towards Software Sustainability Assessment
Towards Software Sustainability AssessmentTowards Software Sustainability Assessment
Towards Software Sustainability Assessment
 
Supermicro and The Green Grid (TGG)
Supermicro and The Green Grid (TGG)Supermicro and The Green Grid (TGG)
Supermicro and The Green Grid (TGG)
 
Green Computing Seminar
Green Computing SeminarGreen Computing Seminar
Green Computing Seminar
 
Green it
Green itGreen it
Green it
 
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in...
 
Green Computing Emerging Issues in IT
Green Computing Emerging Issues in ITGreen Computing Emerging Issues in IT
Green Computing Emerging Issues in IT
 
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
 
An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...
An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...
An Energy Aware Resource Utilization Framework to Control Traffic in Cloud Ne...
 
FINAL
FINALFINAL
FINAL
 
An energy optimization with improved QOS approach for adaptive cloud resources
An energy optimization with improved QOS approach for adaptive cloud resources An energy optimization with improved QOS approach for adaptive cloud resources
An energy optimization with improved QOS approach for adaptive cloud resources
 
An optimized cost-based data allocation model for heterogeneous distributed ...
An optimized cost-based data allocation model for  heterogeneous distributed ...An optimized cost-based data allocation model for  heterogeneous distributed ...
An optimized cost-based data allocation model for heterogeneous distributed ...
 
Wind Data USA 2017 brochure
Wind Data USA 2017 brochureWind Data USA 2017 brochure
Wind Data USA 2017 brochure
 

More from 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 LinesGreenLabAtDI
 
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 ApproachGreenLabAtDI
 
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
 
Green Software Lab
Green Software LabGreen Software Lab
Green Software LabGreenLabAtDI
 
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 EcosystemGreenLabAtDI
 
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 CodeGreenLabAtDI
 

More from GreenLabAtDI (6)

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
 
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
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Locating Energy Hotspots in Source Code Using SPELL

  • 1. Locating Energy Hotspots in Source Code Rui Pereira Universidade do Minho & INESC Tec/HASLab ACM SRC @ ICSE’17 ruipereira@di.uminho.pt 26/05/2017 greenlab.di.uminho.pt
  • 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 energy used by ICT hardware can be attributed to software” - [The Greenhouse Gas Protocol Report, 2013]
  • 5. Green Software  Reducing energy consumption through software analysis and optimization  Problem:  How to analyze  How to interpret  How to improve 5
  • 6. Green Software  Problems (extended to programmers):  How to analyze  How to interpret  How to improve 6 Mining questions about software energy consumption - [MSR’14] Integrated energy-directed test suite optimization - [ISTA’14] Seeds: A software engineer’s energy-optimization decision support framework - [ICSE’14]
  • 7. Energy vs. Power 7  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
  • 8. SPELL - Spectrum-based Energy Leak Localization 8
  • 10. Spectrum-based Fault Localization (SFL) 10 Error vector Oracle Low High Energy Energy Energy Energy Problem: Energy cannot be defined as binary values
  • 12. Validation greenlab.di.uminho.pt 12  (RQ1) – Does SPELL indicate reliable information?  (RQ2) – Do developers actually find SPELL information useful?
  • 13. Empirical Validation greenlab.di.uminho.pt Optimizing energy leaks with developers Industrial Post-doc PhD SPELL 13
  • 14. SPELL – initial results 14  Developers found the information to be very useful  Spent on average 43% less time  Produced more energy efficient programs (26% less energy on average)  In progress:  SPELL vs. Profilers (Looks promising!)  Find Open-source Software and notify developers of possible hotspots and see what they say
  • 15. SPELL – Plugin? 15 Code flagging Sunburst representation Suggestions?
  • 17. Conclusions 17 Find more info @ our page: http://greenlab.di.uminho.pt/ Language independent  Multi level analysis  Multi hardware component analysis  Points to hot spots in source code
  • 19. Locating Energy Hotspots in Source Code Rui Pereira Universidade do Minho & INESC Tec/HASLab ACM SRC @ ICSE’17 ruipereira@di.uminho.pt 26/05/2017 greenlab.di.uminho.pt
  • 21. Is faster greener? 21 Understanding energy behaviors of thread management constructs - [OOPSLA’14] Energy-aware software: Challenges, opportunities and strategies - [Journal of Computational Science’13] Haskell in green land: Analyzing the energy behavior of a purely functional language - [SANER’16] An experimental survey of energy management across the stack - [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] slower Is faster greener?
  • 24. What is jRAPL?  Framework for profiling Java programs running on RAPL 24 What is RAPL?  Running Average Power Limit  Designed by intel for i5/i7 architectures (SandyBridge, IvyBridge, Haswell, etc)  Monitors energy consumption info for Machine-Specific Registers (MSRs)  Allows very precise and fine-grain measurements through function calls  DRAM/GPU  CPU  Package
  • 25. How do we use jRAPL? 25 Energy? t0 t∞ a = getEnergy() b = getEnergy() b - a  http://kliu20.github.io/jRAPL/
  • 28. 28 Example ϕ - Component Category Similarty 37 + 61 + 0 + 42 1 + 2 + 0 + 1 75 + 102 + 0 + 34 140 4 211 =
  • 29. 29 Example ϕ - Component Category Similarty Component c1 min(37,140)+min(38,166)+min(36,129)+min(37,164)+min(39,209) max(37,140)+max(38,166)+max(36,129)+max(37,164)+max(39,209) = 0.2314 𝝰1 = 𝝰2 = 𝝰3 = min(1,4)+min(3,7)+min(1,3)+min(3,7)+min(2,11) max(1,4)+max(3,7)+max(1,3)+max(3,7)+max(2,11) = 0.3125 min(75,211)+min(77,259)+min(73,218)+min(74,222)+min(75,295) max(75,211)+max(77,259)+max(73,218)+max(74,222)+max(75,295) = 0.3104
  • 30. 30 Example 𝜓 - Global Similarity
  • 31. 31 Example 𝜓 - Global Similarity (37 x 0.34) x 1 x 75 = 943.5 Component c1 Test t1 (61 x 0.34) x 2 x 102 = 4230.96 Component c2Test t1 (0 x 0) x 0 x 0 = 0 Component c3 Test t1 (42 x 0.34) x 1 x 34 = 485.52 Component c3 Test t1 = 5659.98
  • 32. 32 Example 𝜓 - Global Similarity Component c1 min(943.5,5659.98)+...+min(1989,14310.6) max(943.5,5659.98)+...+max(1989,14310.6) = 0.2466 𝜓1 =

Editor's Notes

  1. Come to a better realization of what we have been doing to the environment
  2. Patterns, habits, structures algorithms
  3. 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
  4. Number Language component
  5. The most ideal way of validating
  6. Control group
  7. Control group
  8. Control group
  9. 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.
  10. 𝝰