SlideShare a Scribd company logo
1 of 21
Download to read offline
Marco Couto *, Paulo Borba †, Jácome Cunha ‡,
João Paulo Fernandes §, Rui Pereira *, João Saraiva *
* HASLab/INESC TEC, Uni. do Minho
† CIn, Univ. Federal de Pernambuco
‡ NOVA LINCS, Univ. NOVA de Lisboa
§ CISUC, Univ. de Coimbra
marco.l.couto@inesctec.pt, phmb@cin.ufpe.br, jacome@fct.unl.pt, jpf@dei.uc.pt, {ruipereira, saraiva}@di.uminho.pt
PRODUCTS GO GREEN: WORST-
CASE ENERGY CONSUMPTION IN
SOFTWARE PRODUCT LINES
MOTIVATION
Marco Couto @ GSL - HASLab/INESC TEC 2
ENERGY VS. POWER
3
• 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
ENERGY EFFICIENT SOFTWARE
• Programmers problems:
• How to analyze
• How to interpret
• How to improve
• Researchers problem:
• How to provide information to developers
4
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]
THE CHALLENGE
Marco Couto @ GSL - HASLab/INESC TEC 5
STATIC ENERGY ANALYSIS
WHY?
• Dynamic can be too costly
1. Build application + tests
2. Intrument app and/or tests
3. Run tests
4. Gather measurements and analyze them
5. Repeat N times
• ‘M’ apps -> Repeat all ‘M’ times
• Are all cases covered?
• Even worse for SPL
• Naively: ‘F’ products -> F * M repetitions!
• With sampling: Potentialy inaccurate
6Marco Couto @ GSL - HASLab/INESC TEC
‘M’ times
STATIC ENERGY ANALYSIS
HOW?
• How is it done for execution time?
• WCET – Worst Case Execution Time
• Can we do the same for energy?
7Marco Couto @ GSL - HASLab/INESC TEC
STATIC ENERGY EXECUTION TIME ANALYSIS
HOW?
8Marco Couto @ GSL - HASLab/INESC TEC
How exactly does WCET works?
</>
Source Code CFG
Machine Behavior
Dataflow
Bound Computation
Analysis Steps
1
53
2
Bounded CFG
T
Execution Time
Model
ILP Solver
x1 > C0
x1+x2 = C1
x1+x3 = C2
...
max(∑ xi.ti)
IPET Constraints
IPET – IMPLICIT PATH ENUMERATION TECHNIQUE
A.K.A CONSTRAINT GENERATOR
• Each node has:
• A count variable, ‘x’
• A cost variable, ‘t’
• Each edge has:
• A count variable, ‘x’
• 4 Simple but strong premises:
1. Start and end nodes accessed exactly 1 time
2. #x of node i = sum (#x of all pred. of i)
3. #x of node i = sum (#x of all succ. of i)
4. Loops must have na upper bound
9Marco Couto @ GSL - HASLab/INESC TEC
STATIC ENERGY ANALYSIS
HOW?
10Marco Couto @ GSL - HASLab/INESC TEC
How exactly does WCEC works?
</>
Source Code CFG
Machine Behavior
Dataflow
Bound Computation
Analysis Steps
1
53
2
Bounded CFG
E
Energy Model
ILP Solver
x1 > C0
x1+x2 = C1
x1+x3 = C2
...
max(∑ xi.ti)
IPET Constraints
ENERGY MODEL
HOW TO BUILD IT?
Marco Couto @ GSL - HASLab/INESC TEC 11
BUILDING THE ENERGY MODEL
• Two types of instructions:
• Path-Independent:
• x=1;
• i++;
• a=2*b;
• return 0;
• Path-Dependent:
• Allocations: malloc(sizeof(int)) ≠ malloc(sizeof(double))
• System calls: scanf(“%d”, &a) ≠ scanf(“%f”, &a)
• Other functions: strcmp(...), atoi(...), sizeof(...), ...
• Some instructions depend on others:
• ‘int x = z;’ depends on the declaration of z
• ‘printf(“%d”, a);’ assumes a has a previous assigned value
12Marco Couto @ GSL - HASLab/INESC TEC
Estimating Mobile Application Energy Consumption using
Program Analysis - [ICSE’13]
BUILDING THE ENERGY MODEL
• Path-Independent:
• Execute N times
• Repeat M times, measure each time and sum all
• At the end: energy = (sum/M/N) – dependencies
• Path-Dependent:
• Execute N times
• Repeat M times, measure each time
• At the end: energy = max(all measures) – dependencies
13Marco Couto @ GSL - HASLab/INESC TEC
Estimating Mobile Application Energy Consumption using
Program Analysis - [ICSE’13]
SOFTWARE PRODUCT LINES
HOW TO DO ENERGY ANALYSIS IN THIS CASE?
Marco Couto @ GSL - HASLab/INESC TEC 14
STATIC ENERGY ANALYSIS
THIS TIME, FOR SPL!
15Marco Couto @ GSL - HASLab/INESC TEC
C
Source Code CFG
Machine Behavior
Dataflow
Bound Computation
Analysis Steps
1
53
2
Bounded CFG
E Energy Model
ILP SolverCFG
(feature-oriented)
1
53
2
Bounded CFG
(feature-oriented)(feature-oriented)
Intraprocedural Dataflow Analysis for Software Product Lines
- [AOSD '12]
x1 > C0
x1+x2 = C1
x1+x3 = C2
...
max(∑ xi.ti)
IPET Constraints
x1 > C0
x1+x2 = C1
x1+x3 = C2
...
max(∑ xi.ti)
IPET Constraints
(1 per product)
RESULTS
Marco Couto @ GSL - HASLab/INESC TEC 16
PRELIMINARY RESULTS
• A SPL with 7 (exclusive) features
• Pre-processor based SPL
• Varying from ~1753 LOC to ~2938 LOC
• Different approaches for computing the disparity between 2 pictures
17Marco Couto @ GSL - HASLab/INESC TEC
WHAT COMES NEXT
Marco Couto @ GSL - HASLab/INESC TEC 18
WHAT NOW?
• This work was focused on accuracy
• Technique’s performance could be improved...
• Main reason: shared constraints are re-calculated for every product
19Marco Couto @ GSL - HASLab/INESC TEC
A B
CORE
D E
C
{B, C, D}
A B
CORE
D E
C
{A, B, C, D}
...
#Constraints for B
...
#Constraints for C
...
#Constraints for D
...
Constraint
Generator
...
#Constraints for B
...
#Constraints for C
...
#Constraints for D
...
Constraint
Generator
*
*
*Constraints solved more than once!
WHAT NOW?
• WCEC is rather accurate, but…
• Does it happen often?
• Ideas:
• Probability Distributions
• Energy Consumption Value
• Probability Distribution of Energy
• Probabilistic Program Analysis
• Add probabilities to each flow
20Marco Couto @ GSL - HASLab/INESC TEC
A
B
C
CFG
Worst consumption
path for P1: A->B->C
pA(x) pB(x) pA(x)++
probability
energy
All worst case
scenarios
CFG
(feature-oriented)
Prob. Prog.
Analysis
Analysis Steps
{Prod. 1}
- 10 J (20%)
- 42 J (35%)
- 50 J (40%)
- 96 J (5%)
{Prod. 2}
. . .
Marco Couto *, Paulo Borba †, Jácome Cunha ‡,
João Paulo Fernandes §, Rui Pereira *, João Saraiva *
* HASLab/INESC TEC, Uni. do Minho
† CIn, Univ. Federal de Pernambuco
‡ NOVA LINCS, Univ. NOVA de Lisboa
§ CISUC, Univ. de Coimbra
marco.l.couto@inesctec.pt, phmb@cin.ufpe.br, jacome@fct.unl.pt, jpf@dei.uc.pt, {ruipereira, saraiva}@di.uminho.pt
PRODUCTS GO GREEN: WORST-
CASE ENERGY CONSUMPTION IN
SOFTWARE PRODUCT LINES

More Related Content

Similar to Products go Green: Worst-Case Energy Consumption in Software Product Lines

Final Project Report
Final Project ReportFinal Project Report
Final Project Report
Riddhi Shah
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysis
Praveen Narayanan
 
Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...
Zbigniew Jerzak
 

Similar to Products go Green: Worst-Case Energy Consumption in Software Product Lines (20)

High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
 
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale EraRealizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
Realizing Robust and Scalable Evolutionary Algorithms toward Exascale Era
 
The Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingThe Other HPC: High Productivity Computing
The Other HPC: High Productivity Computing
 
DARPA ERI Summit 2018: The End of Moore’s Law & Faster General Purpose Comput...
DARPA ERI Summit 2018: The End of Moore’s Law & Faster General Purpose Comput...DARPA ERI Summit 2018: The End of Moore’s Law & Faster General Purpose Comput...
DARPA ERI Summit 2018: The End of Moore’s Law & Faster General Purpose Comput...
 
Gene's law
Gene's lawGene's law
Gene's law
 
HPC Cluster Computing from 64 to 156,000 Cores 
HPC Cluster Computing from 64 to 156,000 Cores HPC Cluster Computing from 64 to 156,000 Cores 
HPC Cluster Computing from 64 to 156,000 Cores 
 
Final Project Report
Final Project ReportFinal Project Report
Final Project Report
 
Energy saving policies final
Energy saving policies finalEnergy saving policies final
Energy saving policies final
 
Modern Computing: Cloud, Distributed, & High Performance
Modern Computing: Cloud, Distributed, & High PerformanceModern Computing: Cloud, Distributed, & High Performance
Modern Computing: Cloud, Distributed, & High Performance
 
HPC Performance tools, on the road to Exascale
HPC Performance tools, on the road to ExascaleHPC Performance tools, on the road to Exascale
HPC Performance tools, on the road to Exascale
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
 
Programmable Exascale Supercomputer
Programmable Exascale SupercomputerProgrammable Exascale Supercomputer
Programmable Exascale Supercomputer
 
Graph Analysis: New Algorithm Models, New Architectures
Graph Analysis: New Algorithm Models, New ArchitecturesGraph Analysis: New Algorithm Models, New Architectures
Graph Analysis: New Algorithm Models, New Architectures
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysis
 
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdfTutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
 
Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...Optimization of Continuous Queries in Federated Database and Stream Processin...
Optimization of Continuous Queries in Federated Database and Stream Processin...
 
Green scheduling
Green schedulingGreen scheduling
Green scheduling
 
D-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deploymentD-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deployment
 
An Energy Efficient Demand- Response Model for High performance Computing System
An Energy Efficient Demand- Response Model for High performance Computing SystemAn Energy Efficient Demand- Response Model for High performance Computing System
An Energy Efficient Demand- Response Model for High performance Computing System
 
Low Power High-Performance Computing on the BeagleBoard Platform
Low Power High-Performance Computing on the BeagleBoard PlatformLow Power High-Performance Computing on the BeagleBoard Platform
Low Power High-Performance Computing on the BeagleBoard Platform
 

More from GreenLabAtDI

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

More from GreenLabAtDI (12)

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
 
Locating Energy Hotspots in Source Code
Locating Energy Hotspots in Source CodeLocating Energy Hotspots in Source Code
Locating Energy Hotspots in Source Code
 
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
 
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
 

Recently uploaded

%+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
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

%+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...
 
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
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
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
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
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 🔝✔️✔️
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
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
 
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
 
%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
 

Products go Green: Worst-Case Energy Consumption in Software Product Lines

  • 1. Marco Couto *, Paulo Borba †, Jácome Cunha ‡, João Paulo Fernandes §, Rui Pereira *, João Saraiva * * HASLab/INESC TEC, Uni. do Minho † CIn, Univ. Federal de Pernambuco ‡ NOVA LINCS, Univ. NOVA de Lisboa § CISUC, Univ. de Coimbra marco.l.couto@inesctec.pt, phmb@cin.ufpe.br, jacome@fct.unl.pt, jpf@dei.uc.pt, {ruipereira, saraiva}@di.uminho.pt PRODUCTS GO GREEN: WORST- CASE ENERGY CONSUMPTION IN SOFTWARE PRODUCT LINES
  • 2. MOTIVATION Marco Couto @ GSL - HASLab/INESC TEC 2
  • 3. ENERGY VS. POWER 3 • 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
  • 4. ENERGY EFFICIENT SOFTWARE • Programmers problems: • How to analyze • How to interpret • How to improve • Researchers problem: • How to provide information to developers 4 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]
  • 5. THE CHALLENGE Marco Couto @ GSL - HASLab/INESC TEC 5
  • 6. STATIC ENERGY ANALYSIS WHY? • Dynamic can be too costly 1. Build application + tests 2. Intrument app and/or tests 3. Run tests 4. Gather measurements and analyze them 5. Repeat N times • ‘M’ apps -> Repeat all ‘M’ times • Are all cases covered? • Even worse for SPL • Naively: ‘F’ products -> F * M repetitions! • With sampling: Potentialy inaccurate 6Marco Couto @ GSL - HASLab/INESC TEC ‘M’ times
  • 7. STATIC ENERGY ANALYSIS HOW? • How is it done for execution time? • WCET – Worst Case Execution Time • Can we do the same for energy? 7Marco Couto @ GSL - HASLab/INESC TEC
  • 8. STATIC ENERGY EXECUTION TIME ANALYSIS HOW? 8Marco Couto @ GSL - HASLab/INESC TEC How exactly does WCET works? </> Source Code CFG Machine Behavior Dataflow Bound Computation Analysis Steps 1 53 2 Bounded CFG T Execution Time Model ILP Solver x1 > C0 x1+x2 = C1 x1+x3 = C2 ... max(∑ xi.ti) IPET Constraints
  • 9. IPET – IMPLICIT PATH ENUMERATION TECHNIQUE A.K.A CONSTRAINT GENERATOR • Each node has: • A count variable, ‘x’ • A cost variable, ‘t’ • Each edge has: • A count variable, ‘x’ • 4 Simple but strong premises: 1. Start and end nodes accessed exactly 1 time 2. #x of node i = sum (#x of all pred. of i) 3. #x of node i = sum (#x of all succ. of i) 4. Loops must have na upper bound 9Marco Couto @ GSL - HASLab/INESC TEC
  • 10. STATIC ENERGY ANALYSIS HOW? 10Marco Couto @ GSL - HASLab/INESC TEC How exactly does WCEC works? </> Source Code CFG Machine Behavior Dataflow Bound Computation Analysis Steps 1 53 2 Bounded CFG E Energy Model ILP Solver x1 > C0 x1+x2 = C1 x1+x3 = C2 ... max(∑ xi.ti) IPET Constraints
  • 11. ENERGY MODEL HOW TO BUILD IT? Marco Couto @ GSL - HASLab/INESC TEC 11
  • 12. BUILDING THE ENERGY MODEL • Two types of instructions: • Path-Independent: • x=1; • i++; • a=2*b; • return 0; • Path-Dependent: • Allocations: malloc(sizeof(int)) ≠ malloc(sizeof(double)) • System calls: scanf(“%d”, &a) ≠ scanf(“%f”, &a) • Other functions: strcmp(...), atoi(...), sizeof(...), ... • Some instructions depend on others: • ‘int x = z;’ depends on the declaration of z • ‘printf(“%d”, a);’ assumes a has a previous assigned value 12Marco Couto @ GSL - HASLab/INESC TEC Estimating Mobile Application Energy Consumption using Program Analysis - [ICSE’13]
  • 13. BUILDING THE ENERGY MODEL • Path-Independent: • Execute N times • Repeat M times, measure each time and sum all • At the end: energy = (sum/M/N) – dependencies • Path-Dependent: • Execute N times • Repeat M times, measure each time • At the end: energy = max(all measures) – dependencies 13Marco Couto @ GSL - HASLab/INESC TEC Estimating Mobile Application Energy Consumption using Program Analysis - [ICSE’13]
  • 14. SOFTWARE PRODUCT LINES HOW TO DO ENERGY ANALYSIS IN THIS CASE? Marco Couto @ GSL - HASLab/INESC TEC 14
  • 15. STATIC ENERGY ANALYSIS THIS TIME, FOR SPL! 15Marco Couto @ GSL - HASLab/INESC TEC C Source Code CFG Machine Behavior Dataflow Bound Computation Analysis Steps 1 53 2 Bounded CFG E Energy Model ILP SolverCFG (feature-oriented) 1 53 2 Bounded CFG (feature-oriented)(feature-oriented) Intraprocedural Dataflow Analysis for Software Product Lines - [AOSD '12] x1 > C0 x1+x2 = C1 x1+x3 = C2 ... max(∑ xi.ti) IPET Constraints x1 > C0 x1+x2 = C1 x1+x3 = C2 ... max(∑ xi.ti) IPET Constraints (1 per product)
  • 16. RESULTS Marco Couto @ GSL - HASLab/INESC TEC 16
  • 17. PRELIMINARY RESULTS • A SPL with 7 (exclusive) features • Pre-processor based SPL • Varying from ~1753 LOC to ~2938 LOC • Different approaches for computing the disparity between 2 pictures 17Marco Couto @ GSL - HASLab/INESC TEC
  • 18. WHAT COMES NEXT Marco Couto @ GSL - HASLab/INESC TEC 18
  • 19. WHAT NOW? • This work was focused on accuracy • Technique’s performance could be improved... • Main reason: shared constraints are re-calculated for every product 19Marco Couto @ GSL - HASLab/INESC TEC A B CORE D E C {B, C, D} A B CORE D E C {A, B, C, D} ... #Constraints for B ... #Constraints for C ... #Constraints for D ... Constraint Generator ... #Constraints for B ... #Constraints for C ... #Constraints for D ... Constraint Generator * * *Constraints solved more than once!
  • 20. WHAT NOW? • WCEC is rather accurate, but… • Does it happen often? • Ideas: • Probability Distributions • Energy Consumption Value • Probability Distribution of Energy • Probabilistic Program Analysis • Add probabilities to each flow 20Marco Couto @ GSL - HASLab/INESC TEC A B C CFG Worst consumption path for P1: A->B->C pA(x) pB(x) pA(x)++ probability energy All worst case scenarios CFG (feature-oriented) Prob. Prog. Analysis Analysis Steps {Prod. 1} - 10 J (20%) - 42 J (35%) - 50 J (40%) - 96 J (5%) {Prod. 2} . . .
  • 21. Marco Couto *, Paulo Borba †, Jácome Cunha ‡, João Paulo Fernandes §, Rui Pereira *, João Saraiva * * HASLab/INESC TEC, Uni. do Minho † CIn, Univ. Federal de Pernambuco ‡ NOVA LINCS, Univ. NOVA de Lisboa § CISUC, Univ. de Coimbra marco.l.couto@inesctec.pt, phmb@cin.ufpe.br, jacome@fct.unl.pt, jpf@dei.uc.pt, {ruipereira, saraiva}@di.uminho.pt PRODUCTS GO GREEN: WORST- CASE ENERGY CONSUMPTION IN SOFTWARE PRODUCT LINES