seeds the software engineer s energy optimization
play

SEEDS: THE SOFTWARE ENGINEER'S ENERGY- OPTIMIZATION DECISION - PowerPoint PPT Presentation

The road to: SEEDS: THE SOFTWARE ENGINEER'S ENERGY- OPTIMIZATION DECISION SUPPORT FRAMEWORK James Clause University of Delaware Energy usage is an increasingly important concern REDUCING ENERGY USAGE Software Engineer Source Code


  1. The road to: SEEDS: THE SOFTWARE ENGINEER'S ENERGY- OPTIMIZATION DECISION SUPPORT FRAMEWORK James Clause University of Delaware

  2. Energy usage is an increasingly important concern

  3. REDUCING ENERGY USAGE Software Engineer Source Code Compiler Operating System Hardware cpu, disk, etc.

  4. REDUCING ENERGY USAGE Software Engineer Source Code Energy Reducing Transformations Compiler Batch operations Operating System Hardware Dynamic Voltage Frequency Scaling cpu, disk, etc.

  5. REDUCING ENERGY USAGE Get software engineers Software Engineer involved! Source Code Energy Reducing Transformations Compiler Batch operations Operating System Hardware Dynamic Voltage Frequency Scaling cpu, disk, etc.

  6. HOW DO SOFTWARE ENGINEERINGS THINK ABOUT ENERGY DURING DEVELOPMENT? An Empirical Study of Practitioners’ Perspectives on Green Software Engineering Irene Manotas * , Chris0an Bird † , Rui Zhang ß , David Shepherd Ω , Ciera Jaspan ∂ , Caitlin Sadowski ∂ , Lori Pollock * , and James Clause * * University of Delaware, † Microsoft Research, ß IBM Research-Almaden, Ω ABB Corporate Research, ∂ Google, Inc.

  7. METHODOLOGY Conduct Interviews Code & Analyze Interviews Interview Selective Interview 14 Guide Transcripts Codes 18 Participants 3 Coders Topical Concordance Create Distribute 454 247 3860 Data 36 Question 1500 Respondents Respondents Survey Invitations Create/Distribute Surveys

  8. METHODOLOGY Conduct Interviews Code & Analyze Interviews Interview Selective Interview 14 Guide Transcripts Codes 18 Participants 3 Coders Topical Concordance Create Distribute 454 247 3860 Data 36 Question 1500 Respondents Respondents Survey Invitations Create/Distribute Surveys

  9. METHODOLOGY Conduct Interviews Code & Analyze Interviews Interview Selective Interview 14 Guide Transcripts Codes 18 Participants 3 Coders Topical Concordance Create Distribute 454 247 3860 Data 36 Question 1500 Respondents Respondents Survey Invitations Create/Distribute Surveys

  10. METHODOLOGY Conduct Interviews Code & Analyze Interviews Interview Selective Interview 14 Guide Transcripts Codes 18 Participants 3 Coders Topical Concordance Create Distribute 454 247 3860 Data 36 Question 1500 Respondents Respondents Survey Invitations Create/Distribute Surveys

  11. METHODOLOGY Conduct Interviews Code & Analyze Interviews Interview Selective Interview 14 Guide Transcripts Codes 18 Participants 3 Coders Topical Concordance Create Distribute 454 247 3860 Data 36 Question 1500 Respondents Respondents Survey Invitations Create/Distribute Surveys

  12. WHERE IS ENERGY USAGE A CONCERN?

  13. WHERE IS ENERGY USAGE A CONCERN? My applications have requirements about energy usage. My applications have requirements about energy usage. (S1) All 62% 15% 24% Mobile 38% 20% 43% Traditional 60% 16% 24% Embedded 64% 11% 26% Data Center 73% 13% 14% Response Never Rarely Sometimes Often Almost Always

  14. WHERE IS ENERGY USAGE A CONCERN? My applications have requirements about energy usage. My applications have requirements about energy usage. (S1) All 62% 15% 24% Mobile 38% 20% 43% Traditional 60% 16% 24% Embedded 64% 11% 26% Data Center 73% 13% 14% Response Never Rarely Sometimes Often Almost Always

  15. WHERE IS ENERGY USAGE A CONCERN? My applications have requirements about energy usage. My applications have requirements about energy usage. (S1) All 62% 15% 24% Mobile 38% 20% 43% Traditional 60% 16% 24% Embedded 64% 11% 26% Data Center 73% 13% 14% Response Never Rarely Sometimes Often Almost Always

  16. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES?

  17. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? Prac;;oners care

  18. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? I'm willing to sacrifice performance, usability, etc. for 20% 47% 33% reduced energy usage. (S2) Response Never Rarely Sometimes Often Almost Always Prac;;oners care

  19. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? Prac;;oners care

  20. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? Prac;;oners care, but they lack informa;on

  21. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? I have accurate intuitions about the 19% 51% 30% energy usage of my code Response Strongly Disagree Disagree Undecided Agree Strongly Agree “I care about memory usage, CPU usage, I understand those. 
 I don’t have the same intuition about energy.” Prac;;oners care , but they lack informa;on

  22. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? Prac;;oners care, but they lack informa;on

  23. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? Prac;;oners care, but they lack informa;on and tool support

  24. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? I could learn how to improve energy usage by: Using tools 10% 21% 69% Talking to other developers 1% 13% 86% Looking at other code 13% 21% 66% Reading documentation 9% 21% 70% Response Strongly Disagree Disagree Undecided Agree Strongly Agree Prac;;oners care , but they lack informa;on and tool support

  25. WHAT ARE EXPERIENCED PRACTITIONERS’ PERSPECTIVES? Prac;;oners care, but they lack informa;on and tool support

  26. GIVING SOFTWARE ENGINEERS THE INFORMATION THEY NEED TO BE SUCCESSFUL How Do Code Obfuscations Impact Energy Consumption? Cagri Sahin, Philip Tornquist, Ryan McKenna, Zachary Pearson, and James Clause University of Delaware

  27. INCREASING PIRACY RATES Number of Pirates Past → Future

  28. INCREASING PIRACY RATES Number of Pirates Past → Future

  29. INCREASING PIRACY RATES Number of Pirates Past → Future • Overall, 40% of software is pirated resulting in losses of $63+ billion • For mobile applications, piracy rates can approach 90%

  30. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand.

  31. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand. Pirates Developers

  32. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand. Pirates Developers Users

  33. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand. Pirates Developers Users

  34. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand. Pirates Developers Users

  35. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand. Pirates Developers Users

  36. CODE OBFUSCATION Semantics-preserving transformations that make 
 code more difficult for humans (pirates) to understand. Pirates Developers Users Developers must balance protecting their applications and preserving battery power, but they lack the necessary information.

  37. EMPIRICAL STUDY 11 Applications 15 Usage Scenarios Obfuscated 198 Subjects Data 8850 Power Post Application and Energy Usage Data Collection Profiles (3.2 GB) Processing Creation 11 Applications 4 Obfuscators 5 Configurations

  38. EMPIRICAL STUDY 11 Applications 15 Usage Scenarios Obfuscated 198 Subjects Data 8850 Power Post Application and Energy Usage Data Collection Profiles (3.2 GB) Processing Creation 11 Applications 4 Obfuscators 5 Configurations Obfuscated 
 Application Creation • Apply obfuscations to each application

  39. EMPIRICAL STUDY 11 Applications 15 Usage Scenarios Obfuscated 198 Subjects Data 8850 Power Post Application and Energy Usage Data Collection Profiles (3.2 GB) Processing Creation 11 Applications 4 Obfuscators 5 Configurations Obfuscated 
 Application Creation Data Collection • Apply obfuscations to • Replay each usage each application scenario • 30 repetitions for each obfuscated application and original application • 177+ hours of continuous execution time (over one week)

  40. EMPIRICAL STUDY 11 Applications 15 Usage Scenarios Obfuscated 198 Subjects Data 8850 Power Post Application and Energy Usage Data Collection Profiles (3.2 GB) Processing Creation 11 Applications 4 Obfuscators 5 Configurations Obfuscated 
 Application Creation Data Collection Post Processing • Apply obfuscations to • Replay each usage • Discard samples before each application scenario and after the execution • 30 repetitions for each • Convert power profiles obfuscated application to energy usage data and original application • 177+ hours of continuous execution time (over one week)

  41. POWER MEASUREMENT • Nexus 4-based custom energy measurement platform (EMP) 
 • Two Arduino Unos with current sensing boards 
 • Samples current (mA) and voltage (V) drawn from battery and USB 
 • No measurement overheads

  42. ARE THE IMPACTS NOTICEABLE?

  43. 
 
 
 ARE THE IMPACTS NOTICEABLE? 1. Calculate the percentage of battery charge consumed by a scenario. 
 1000 E % charge = 2100 mA h × 3600 × 100 3 . 8 V ×

Recommend


More recommend