Initial Explorations on Design Pattern Energy Usage (GREENS 12)

321 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
321
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Initial Explorations on Design Pattern Energy Usage (GREENS 12)

  1. 1. INITIAL EXPLORATIONSON DESIGN PATTERNENERGY USAGECagri SahinJames ClauseLori PollockFurkan CayciIrene Lizeth Manotas GutiérrezFouad KiamilevKristina WinbladhComputer and InformationSciences DepartmentElectrical and ComputerEngineering DepartmentUniversity of DelawareThis work was supported in part by an award from the University of Delaware Research Foundation (UDRF).
  2. 2. MOTIVATIONHistorically, software developers have left concernsabout power consumption to lower-level engineers.
  3. 3. MOTIVATIONHistorically, software developers have left concernsabout power consumption to lower-level engineers.Hardwarecpu, disk, etc.
  4. 4. MOTIVATIONHistorically, software developers have left concernsabout power consumption to lower-level engineers.Hardwarecpu, disk, etc.Operatingsystems
  5. 5. MOTIVATIONHistorically, software developers have left concernsabout power consumption to lower-level engineers.Hardwarecpu, disk, etc.OperatingsystemsCompilers
  6. 6. MOTIVATIONWhile this strategy has been successful, it is likely thatencouraging software developers to participate in theprocess can result in more efficient applications.Historically, software developers have left concernsabout power consumption to lower-level engineers.Hardwarecpu, disk, etc.OperatingsystemsCompilers
  7. 7. Powerprofile(w)DesignpropertiesDesignartifactsfoo:25foo:46Robustness ReliabilityMaintainabilityFault toleranceAvailabilityPerformanceActorSystemUse CaseUse casesOperationAttributeClass Name*1OperationAttributeClass Name<<extends>>OperationAttributeClass NameClass diagramsObject Name Object NameSynchronousSimple MessageSequence diagramsOVERALL APPROACH
  8. 8. Powerprofile(w)DesignpropertiesDesignartifactsfoo:25foo:46Robustness ReliabilityMaintainabilityFault toleranceAvailabilityPerformanceActorSystemUse CaseUse casesOperationAttributeClass Name*1OperationAttributeClass Name<<extends>>OperationAttributeClass NameClass diagramsObject Name Object NameSynchronousSimple MessageSequence diagramsOVERALL APPROACH
  9. 9. EXPERIMENTAL DATATable IENERGY USAGE MEASUREMENT OBTAINED BY RUNNING THE BEFORE AND AFTER VERSIONS OF THE DESIGN PATTERNS.Design pattern # Iterations Energy usage # Objects # MessagesBefore (J) After (J) Difference (J) Difference periteration (J)% Change Before After Before AfterCreationalAbstract factory 500 87.78 106.69 18.91 0.0378 21.55 11 13 7 12Builder 750 111.75 113.08 1.33 0.0018 1.19 3 6 18 32Factory method 500 118.13 118.06 0.08 0.0002 0.07 3 3 1 2Prototype 750 99.60 98.68 0.93 0.0012 0.93 7 7 3 9Singleton 250 98.70 99.11 0.42 0.0017 0.42 2 2 7 12StructuralBridge 35 99.78 99.54 0.24 0.0070 0.24 6 11 3 6Composite 175 97.15 102.14 4.99 0.0285 5.14 17 19 10 11Decorator 115 13.92 113.13 99.21 0.8627 712.89 14 24 14 15Flyweight 500 92.89 38.94 53.95 0.1079 58.08 60 6 60 60Proxy 500 104.33 66.28 38.05 0.0761 36.47 5 2 3 6BehavioralCommand 750 98.32 96.53 1.79 0.0024 1.82 7 7 29 29Mediator 250 120.55 109.02 11.53 0.0461 9.56 4 5 23 26Observer 400 61.62 99.95 38.33 0.0958 62.20 3 7 4 8Strategy 500 115.73 115.52 0.21 0.0004 0.18 4 3 9 12Visitor 90 104.89 97.04 7.86 0.0873 7.49 10 14 16 26Joules of the application before and after applying eachdesign pattern. The fifth column, Difference, shows thedifference in total energy usage between the before and afterversions of applying the design patterns. Positive numbersindicate that applying the design pattern increased energyusage, and negative numbers indicate that applying thedesign pattern reduced energy usage. The next column inthe table, Difference per iteration, shows the difference intotal energy usage per iteration (i.e., the difference in thetotal energy usage divided by the number of iterations).Again, positive numbers indicate that the applying the designrelatively small differences in the amounts of energy used(e.g., the energy usage of the before and after versions ofthe application for factory method differ only by 0.08 J).The results shown in the table also support our assumptionthat applying a design pattern impacts energy usage. For all15 design patterns, we detected a difference in the amountof energy used between the before and after versions of theapplication.E. RQ2: ImpactOur motivation for investigating the impact on energy
  10. 10. EXPERIMENTAL DATATable IENERGY USAGE MEASUREMENT OBTAINED BY RUNNING THE BEFORE AND AFTER VERSIONS OF THE DESIGN PATTERNS.Design pattern # Iterations Energy usage # Objects # MessagesBefore (J) After (J) Difference (J) Difference periteration (J)% Change Before After Before AfterCreationalAbstract factory 500 87.78 106.69 18.91 0.0378 21.55 11 13 7 12Builder 750 111.75 113.08 1.33 0.0018 1.19 3 6 18 32Factory method 500 118.13 118.06 0.08 0.0002 0.07 3 3 1 2Prototype 750 99.60 98.68 0.93 0.0012 0.93 7 7 3 9Singleton 250 98.70 99.11 0.42 0.0017 0.42 2 2 7 12StructuralBridge 35 99.78 99.54 0.24 0.0070 0.24 6 11 3 6Composite 175 97.15 102.14 4.99 0.0285 5.14 17 19 10 11Decorator 115 13.92 113.13 99.21 0.8627 712.89 14 24 14 15Flyweight 500 92.89 38.94 53.95 0.1079 58.08 60 6 60 60Proxy 500 104.33 66.28 38.05 0.0761 36.47 5 2 3 6BehavioralCommand 750 98.32 96.53 1.79 0.0024 1.82 7 7 29 29Mediator 250 120.55 109.02 11.53 0.0461 9.56 4 5 23 26Observer 400 61.62 99.95 38.33 0.0958 62.20 3 7 4 8Strategy 500 115.73 115.52 0.21 0.0004 0.18 4 3 9 12Visitor 90 104.89 97.04 7.86 0.0873 7.49 10 14 16 26Joules of the application before and after applying eachdesign pattern. The fifth column, Difference, shows thedifference in total energy usage between the before and afterversions of applying the design patterns. Positive numbersindicate that applying the design pattern increased energyusage, and negative numbers indicate that applying thedesign pattern reduced energy usage. The next column inthe table, Difference per iteration, shows the difference intotal energy usage per iteration (i.e., the difference in thetotal energy usage divided by the number of iterations).Again, positive numbers indicate that the applying the designrelatively small differences in the amounts of energy used(e.g., the energy usage of the before and after versions ofthe application for factory method differ only by 0.08 J).The results shown in the table also support our assumptionthat applying a design pattern impacts energy usage. For all15 design patterns, we detected a difference in the amountof energy used between the before and after versions of theapplication.E. RQ2: ImpactOur motivation for investigating the impact on energy1. Design patterns do impact energy consumption.
  11. 11. EXPERIMENTAL DATATable IENERGY USAGE MEASUREMENT OBTAINED BY RUNNING THE BEFORE AND AFTER VERSIONS OF THE DESIGN PATTERNS.Design pattern # Iterations Energy usage # Objects # MessagesBefore (J) After (J) Difference (J) Difference periteration (J)% Change Before After Before AfterCreationalAbstract factory 500 87.78 106.69 18.91 0.0378 21.55 11 13 7 12Builder 750 111.75 113.08 1.33 0.0018 1.19 3 6 18 32Factory method 500 118.13 118.06 0.08 0.0002 0.07 3 3 1 2Prototype 750 99.60 98.68 0.93 0.0012 0.93 7 7 3 9Singleton 250 98.70 99.11 0.42 0.0017 0.42 2 2 7 12StructuralBridge 35 99.78 99.54 0.24 0.0070 0.24 6 11 3 6Composite 175 97.15 102.14 4.99 0.0285 5.14 17 19 10 11Decorator 115 13.92 113.13 99.21 0.8627 712.89 14 24 14 15Flyweight 500 92.89 38.94 53.95 0.1079 58.08 60 6 60 60Proxy 500 104.33 66.28 38.05 0.0761 36.47 5 2 3 6BehavioralCommand 750 98.32 96.53 1.79 0.0024 1.82 7 7 29 29Mediator 250 120.55 109.02 11.53 0.0461 9.56 4 5 23 26Observer 400 61.62 99.95 38.33 0.0958 62.20 3 7 4 8Strategy 500 115.73 115.52 0.21 0.0004 0.18 4 3 9 12Visitor 90 104.89 97.04 7.86 0.0873 7.49 10 14 16 26Joules of the application before and after applying eachdesign pattern. The fifth column, Difference, shows thedifference in total energy usage between the before and afterversions of applying the design patterns. Positive numbersindicate that applying the design pattern increased energyusage, and negative numbers indicate that applying thedesign pattern reduced energy usage. The next column inthe table, Difference per iteration, shows the difference intotal energy usage per iteration (i.e., the difference in thetotal energy usage divided by the number of iterations).Again, positive numbers indicate that the applying the designrelatively small differences in the amounts of energy used(e.g., the energy usage of the before and after versions ofthe application for factory method differ only by 0.08 J).The results shown in the table also support our assumptionthat applying a design pattern impacts energy usage. For all15 design patterns, we detected a difference in the amountof energy used between the before and after versions of theapplication.E. RQ2: ImpactOur motivation for investigating the impact on energy1. Design patterns do impact energy consumption.2. Impact within a category is inconsistent.
  12. 12. EXPERIMENTAL DATATable IENERGY USAGE MEASUREMENT OBTAINED BY RUNNING THE BEFORE AND AFTER VERSIONS OF THE DESIGN PATTERNS.Design pattern # Iterations Energy usage # Objects # MessagesBefore (J) After (J) Difference (J) Difference periteration (J)% Change Before After Before AfterCreationalAbstract factory 500 87.78 106.69 18.91 0.0378 21.55 11 13 7 12Builder 750 111.75 113.08 1.33 0.0018 1.19 3 6 18 32Factory method 500 118.13 118.06 0.08 0.0002 0.07 3 3 1 2Prototype 750 99.60 98.68 0.93 0.0012 0.93 7 7 3 9Singleton 250 98.70 99.11 0.42 0.0017 0.42 2 2 7 12StructuralBridge 35 99.78 99.54 0.24 0.0070 0.24 6 11 3 6Composite 175 97.15 102.14 4.99 0.0285 5.14 17 19 10 11Decorator 115 13.92 113.13 99.21 0.8627 712.89 14 24 14 15Flyweight 500 92.89 38.94 53.95 0.1079 58.08 60 6 60 60Proxy 500 104.33 66.28 38.05 0.0761 36.47 5 2 3 6BehavioralCommand 750 98.32 96.53 1.79 0.0024 1.82 7 7 29 29Mediator 250 120.55 109.02 11.53 0.0461 9.56 4 5 23 26Observer 400 61.62 99.95 38.33 0.0958 62.20 3 7 4 8Strategy 500 115.73 115.52 0.21 0.0004 0.18 4 3 9 12Visitor 90 104.89 97.04 7.86 0.0873 7.49 10 14 16 26Joules of the application before and after applying eachdesign pattern. The fifth column, Difference, shows thedifference in total energy usage between the before and afterversions of applying the design patterns. Positive numbersindicate that applying the design pattern increased energyusage, and negative numbers indicate that applying thedesign pattern reduced energy usage. The next column inthe table, Difference per iteration, shows the difference intotal energy usage per iteration (i.e., the difference in thetotal energy usage divided by the number of iterations).Again, positive numbers indicate that the applying the designrelatively small differences in the amounts of energy used(e.g., the energy usage of the before and after versions ofthe application for factory method differ only by 0.08 J).The results shown in the table also support our assumptionthat applying a design pattern impacts energy usage. For all15 design patterns, we detected a difference in the amountof energy used between the before and after versions of theapplication.E. RQ2: ImpactOur motivation for investigating the impact on energy1. Design patterns do impact energy consumption.2. Impact within a category is inconsistent.3. At the design level, it’s unclear how to predict the impact.
  13. 13. ISSUES / DISCUSSIONCONCLUSION
  14. 14. ISSUES / DISCUSSION1. Power monitoring tools / infrastructureCONCLUSION
  15. 15. ISSUES / DISCUSSION1. Power monitoring tools / infrastructure2. Experimental subjectsCONCLUSION
  16. 16. ISSUES / DISCUSSION1. Power monitoring tools / infrastructure2. Experimental subjects3. Prediction metricsCONCLUSION
  17. 17. ISSUES / DISCUSSION1. Power monitoring tools / infrastructure2. Experimental subjects3. Prediction metricsCONCLUSIONQuestions?

×