Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Static Energy Prediction in Software: A Worst-Case Scenario Approach

178 vues

Publié le

Talk @ 35th InfoBlender HASLab seminar

Publié dans : Logiciels
  • New $31,515 USD profit system revealed. using an automated software that predicts the winners for Soccer, Horse racing and even major sports such as NBA, NFL, NHL, MLB! ★★★ http://ishbv.com/zcodesys/pdf
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Hurry up, Live Webinar starts in 6 minute! it's about the FREE Training Webinar: An insider system that made $23,481 in last 6 weeks! ★★★ http://ishbv.com/zcodesys/pdf
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
  • Soyez le premier à aimer ceci

Static Energy Prediction in Software: A Worst-Case Scenario Approach

  1. 1. Marco Couto marco.l.couto@inesctec.pt STATIC ENERGY PREDICTION IN SOFTWARE: A WORST-CASE SCENARIO APPROACH
  2. 2. MOTIVATION Marco Couto @ GSL - HASLab/INESC TEC 2
  3. 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. 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. 5. THE CHALLENGE Marco Couto @ GSL - HASLab/INESC TEC 5
  6. 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? 6Marco Couto @ GSL - HASLab/INESC TEC ‘M’ times
  7. 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. 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. 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. 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. 11. ENERGY MODEL HOW TO BUILD IT? Marco Couto @ GSL - HASLab/INESC TEC 11
  12. 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. 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. 14. SOFTWARE PRODUCT LINES THE CASE STUDY Marco Couto @ GSL - HASLab/INESC TEC 14
  15. 15. SOFTWARE PRODUCT LINE 15Marco Couto @ GSL - HASLab/INESC TEC “(…) a set of related software products (…) generated from reusable assets.” A B CORE D E C A B CORE D E C {B, C, D} A B CORE D E C {A, E} A B CORE D E C {A, B, C, D} Feature Product configuration
  16. 16. STATIC ENERGY ANALYSIS THIS TIME, FOR SPL! 16Marco 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 Solver x1 > C0 x1+x2 = C1 x1+x3 = C2 ... max(∑ xi.ti) IPET ConstraintsCFG (feature-oriented) 1 53 2 Bounded CFG (feature-oriented)(feature-oriented) Intraprocedural Dataflow Analysis for Software Product Lines - [AOSD '12]
  17. 17. RESULTS Marco Couto @ GSL - HASLab/INESC TEC 17
  18. 18. PRELIMINARY RESULTS • A SPL with 7 (exclusive) features Results submited to SPLC’17 – Software Product Lines Conference, 21st edition: “Products go green: Worst-Case Energy Consumption in Software Product Lines” 18Marco Couto @ GSL - HASLab/INESC TEC
  19. 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. 20. WHAT NOW? • Accuracy can also be improved! • Include a machine behavior analysis • -> different energy consumptions per instruction • Consider lower abstraction level • For now, we analyzed C code • Apply technique to different contexts • Mobile? • Embedded? • ??? 20Marco Couto @ GSL - HASLab/INESC TEC
  21. 21. Marco Couto marco.l.couto@inesctec.pt STATIC ENERGY PREDICTION IN SOFTWARE: A WORST-CASE SCENARIO APPROACH

×