SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
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

Más contenido relacionado

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

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 ...EUDAT
 
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 EraMasaharu Munetomo
 
The Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingThe Other HPC: High Productivity Computing
The Other HPC: High Productivity ComputingUniversity of Washington
 
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...zionsaint
 
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 inside-BigData.com
 
Final Project Report
Final Project ReportFinal Project Report
Final Project ReportRiddhi Shah
 
Modern Computing: Cloud, Distributed, & High Performance
Modern Computing: Cloud, Distributed, & High PerformanceModern Computing: Cloud, Distributed, & High Performance
Modern Computing: Cloud, Distributed, & High Performanceinside-BigData.com
 
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 RepairClaire Le Goues
 
Programmable Exascale Supercomputer
Programmable Exascale SupercomputerProgrammable Exascale Supercomputer
Programmable Exascale SupercomputerSagar Dolas
 
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 ArchitecturesJason Riedy
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysisPraveen Narayanan
 
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.pdfDuy-Hieu Bui
 
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
 
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 deploymentRakuten Group, Inc.
 
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 SystemJason Liu
 
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 Platforma3labdsp
 

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

Más de GreenLabAtDI

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
 
Locating Energy Hotspots in Source Code
Locating Energy Hotspots in Source CodeLocating Energy Hotspots in Source Code
Locating Energy Hotspots in Source CodeGreenLabAtDI
 
Green Computing as an Engineering Discipline
Green Computing as an Engineering DisciplineGreen Computing as an Engineering Discipline
Green Computing as an Engineering DisciplineGreenLabAtDI
 
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
 
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
 
Marco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationMarco Couto's Msc Thesis Presentation
Marco Couto's Msc Thesis PresentationGreenLabAtDI
 
Rui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-ThesisRui Pereira's PhD Pre-Thesis
Rui Pereira's PhD Pre-ThesisGreenLabAtDI
 
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 ApplicationsGreenLabAtDI
 
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
 

Más de 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
 

Último

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
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
+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
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
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
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
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 🔝✔️✔️Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
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.
 

Último (20)

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 ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
+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...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
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
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female 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 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
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 ...
 

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