GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing

GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing

PLDI 2016 Presentation

3c332dfc0b438785cb10c5234652dd66?s=128

Yuhao Zhu

June 15, 2016
Tweet

Transcript

  1. GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing Yuhao Zhu

    The University of Texas at Austin with Vijay Janapa Reddi PLDI 2016 1
  2. 2 Web: Mobile Overtaking Desktop

  3. 0 30 60 90 120 2011 2012 2013 2014 2015

    2016 2 Source: BIA/Kelsey Search Volume (B) Web: Mobile Overtaking Desktop
  4. 0 30 60 90 120 2011 2012 2013 2014 2015

    2016 2 Source: BIA/Kelsey Search Volume (B) Mobile Desktop Web: Mobile Overtaking Desktop
  5. 0 30 60 90 120 2011 2012 2013 2014 2015

    2016 2 Source: BIA/Kelsey Search Volume (B) Mobile Desktop Web: Mobile Overtaking Desktop
  6. 3 Web ≈ Mobile Web

  7. Energy Concern Among Mobile Developers 4 [ICSE 2016] Manotas et

    al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  8. Energy Concern Among Mobile Developers 4 Percentage (%) 0 25

    50 75 100 Mobile Desktop Data Center Never/Rarely Sometimes Often/Almost Always “My applications have requirements about energy usage.” [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  9. Energy Concern Among Mobile Developers 4 Percentage (%) 0 25

    50 75 100 Mobile Desktop Data Center Never/Rarely Sometimes Often/Almost Always “My applications have requirements about energy usage.” [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  10. Energy Concern Among Mobile Developers 4 Percentage (%) 0 25

    50 75 100 Mobile Desktop Data Center Never/Rarely Sometimes Often/Almost Always “My applications have requirements about energy usage.” [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  11. Developers are Willing to Make Trade-offs 5 [ICSE 2016] Manotas

    et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  12. Developers are Willing to Make Trade-offs 5 Percentage (%) 0

    25 50 75 100 Mobile Never/Rarely Sometimes Often/Almost Always “I'm willing to sacrifice performance, etc. for reduced energy usage.” [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  13. Developers are Willing to Make Trade-offs 5 Percentage (%) 0

    25 50 75 100 Mobile Never/Rarely Sometimes Often/Almost Always “I'm willing to sacrifice performance, etc. for reduced energy usage.” [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
  14. Energy-efficiency 6

  15. Quality-of-service Energy-efficiency 6

  16. Quality-of-service Energy-efficiency Conflicting requirements 6

  17. Quality-of-service Energy-efficiency Conflicting requirements 7 GreenWeb Programming language support for

    balancing energy-efficiency and QoS in mobile Web computing
  18. 8 GreenWeb Programming language support for balancing energy-efficiency and QoS

    in mobile Web computing
  19. GreenWeb 8 GreenWeb Programming language support for balancing energy-efficiency and

    QoS in mobile Web computing
  20. 9 GreenWeb: Language for Energy-Efficiency ▸ Language abstractions for expressing

    QoS
  21. 9 ▸ Runtime that saves energy while meeting the QoS

    constraints GreenWeb: Language for Energy-Efficiency ▸ Language abstractions for expressing QoS
  22. 9 ▸ Runtime that saves energy while meeting the QoS

    constraints ▸ Result in 60% energy savings on real hardware/software implementations GreenWeb: Language for Energy-Efficiency ▸ Language abstractions for expressing QoS
  23. 9 ▸ Runtime the QoS constraints ▸ Result hardware/software implementations

    GreenWeb: Language for Energy-Efficiency ▸ Language abstractions for expressing QoS
  24. 10 What is QoS in mobile Web?

  25. 11 Understanding Mobile Web QoS

  26. 11 Performance QoS Experience Understanding Mobile Web QoS

  27. 11 Performance QoS Experience [OSDI 1996] Y. Endo et al.,

    “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS
  28. 11 Performance QoS Experience [OSDI 1996] Y. Endo et al.,

    “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow
  29. 11 Performance QoS Experience Unusable [OSDI 1996] Y. Endo et

    al., “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow
  30. 11 Performance QoS Experience Unusable Tolerable [OSDI 1996] Y. Endo

    et al., “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow
  31. 11 Performance QoS Experience Unusable Tolerable [OSDI 1996] Y. Endo

    et al., “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow Diminishing Returns
  32. 11 Performance QoS Experience Unusable Tolerable Imperceptible [OSDI 1996] Y.

    Endo et al., “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow Diminishing Returns
  33. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  34. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  35. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  36. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  37. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS “Negative” Energy consumption Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  38. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  39. 12 Performance QoS Experience Unusable Tolerable Imperceptible Understanding Mobile Web

    QoS Energy [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
  40. 13 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web

    QoS
  41. 13 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web

    QoS ▸ Performance metric ▹ Frame latency vs. Frame throughput
  42. 13 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web

    QoS ▸ Performance metric ▹ Frame latency vs. Frame throughput QoS Type
  43. 13 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web

    QoS ▸ Performance metric ▹ Frame latency vs. Frame throughput ▸ Threshold performance values ▹ Imperceptible target vs. Usable target QoS Type
  44. 13 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web

    QoS ▸ Performance metric ▹ Frame latency vs. Frame throughput ▸ Threshold performance values ▹ Imperceptible target vs. Usable target QoS Type QoS Target
  45. 14 Expressing Mobile Web QoS

  46. <html> <head> <script> function animateMove() { /* Animation code omitted

    */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> 14 Expressing Mobile Web QoS
  47. <html> <head> <script> function animateMove() { /* Animation code omitted

    */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> 14 Expressing Mobile Web QoS element
  48. <html> <head> <script> function animateMove() { /* Animation code omitted

    */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> 14 Expressing Mobile Web QoS element event
  49. <html> <head> <script> function animateMove() { /* Animation code omitted

    */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> 14 Expressing Mobile Web QoS element event
  50. <html> <head> <script> function animateMove() { /* Animation code omitted

    */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> 14 Expressing Mobile Web QoS Expressing QoS at an event granularity element event
  51. <script> function animateMove() { /* Animation code omitted */ }

    </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation element event
  52. <script> function animateMove() { /* Animation code omitted */ }

    </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation element event div { } ontouchend
  53. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation element event div { } ontouchend: throughput, low;
  54. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation element event div { } ontouchend: throughput, low;
  55. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation element event div { } ontouchend: throughput, low;
  56. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } element event div { } ontouchend: throughput, low;
  57. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } Implementation independent element event div { } ontouchend: throughput, low;
  58. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } Implementation independent element event div { } ontouchend: throughput, low;
  59. { : Type, Target} <script> function animateMove() { /* Animation

    code omitted */ } </script> </head> <body> <div ontouchend=“animateMove()”> <div/> <!— other elements --> </body> </html> <style> </style> <html> <head> 15 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } Implementation independent Non-interfering w.r.t. functionality element event div { } ontouchend: throughput, low;
  60. 16 Original application GreenWeb- annotated application GreenWeb Annotation Process Manual

    Annotation
  61. 16 Original application GreenWeb- annotated application GreenWeb Annotation Process Automatic

    Annotation?
  62. 16 Original application GreenWeb- annotated application GreenWeb Annotation Process Automatic

    Annotation? ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations
  63. 16 GreenWeb- annotated application GreenWeb Annotation Process Automatic Annotation? ▸

    AutoGreen: automatically reasons about and inserts GreenWeb annotations DOM Tree
  64. ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations 17

    GreenWeb- annotated application GreenWeb Annotation Process
  65. ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations 17

    GreenWeb- annotated application GreenWeb Annotation Process Callback Instrumentation
  66. ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations 17

    GreenWeb- annotated application GreenWeb Annotation Process QoS Information Event Profiling Callback Instrumentation
  67. ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations 17

    GreenWeb- annotated application GreenWeb Annotation Process QoS Information Event Profiling Annotation Generation Callback Instrumentation
  68. ▸ Language abstractions for expressing QoS 18 ▸ Runtime the

    QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency
  69. ▸ Language abstractions 18 ▸ Runtime that saves energy while

    meeting the QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency
  70. 19 GreenWeb Runtime Overview

  71. 19 GreenWeb Runtime Overview Frame Event

  72. 19 GreenWeb Runtime Overview Frame Event QoS Annotations

  73. 19 GreenWeb Runtime Overview Frame Event Enforcing event-level QoS at

    the frame-level energy-efficiently Runtime Objective QoS Annotations
  74. QoS type: latency QoS target: 16 ms 19 GreenWeb Runtime

    Overview Frame Event Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective
  75. QoS type: latency QoS target: 16 ms 19 GreenWeb Runtime

    Overview Frame Event Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective
  76. QoS type: latency QoS target: 16 ms 19 GreenWeb Runtime

    Overview Frame Event Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective
  77. QoS type: latency QoS target: 16 ms 19 GreenWeb Runtime

    Overview Frame Event 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective
  78. QoS type: latency QoS target: 16 ms throughput 19 GreenWeb

    Runtime Overview Frame Event 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective
  79. QoS type: latency QoS target: 16 ms throughput 19 GreenWeb

    Runtime Overview Frame Event Frame Frame 16 ms 16 ms 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective
  80. 19 GreenWeb Runtime Overview Frame Event Frame Frame Time Event

    16 ms 16 ms 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective QoS target: 2 s
  81. 19 GreenWeb Runtime Overview Frame Event Frame Frame Time Event

    Frame 16 ms 16 ms 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Runtime Objective 2 s QoS target: 2 s
  82. 19 GreenWeb Runtime Overview Frame Event Frame Frame Time Event

    Frame 16 ms 16 ms 16 ms Enforcing event-level QoS at the frame-level energy-efficiently { Runtime Objective 2 s QoS target: 2 s
  83. 19 GreenWeb Runtime Overview Frame Event Frame Frame Time Event

    Frame 16 ms 16 ms 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Frame Association { Runtime Objective 1 2 s
  84. 19 GreenWeb Runtime Overview Frame Event Frame Frame Time Event

    Frame 16 ms 16 ms 16 ms Enforcing event-level QoS at the frame-level energy-efficiently Frame Association Frame Scheduling { Runtime Objective 1 2 2 s
  85. 20 Frame Association Scripting Style Layout Paint Composite Frame Event

  86. 21 Frame Association S S L P C Frame Event

  87. 21 Frame Association S S L P C Frame Browser

    Process Renderer Process GPU Process Event
  88. 21 Frame Association S S L P C Frame Browser

    Process Renderer Process GPU Process Event Main Thread Compositor Thread
  89. 21 Frame Association S S L P C Frame Browser

    Process Renderer Process GPU Process Event Main Thread Compositor Thread IPC Inter-thread Message
  90. 22 Frame Association S S L P C Frame Browser

    Process Renderer Process GPU Process Event Frame S S L P C
  91. 22 Frame Association S S L P C Frame Browser

    Process Renderer Process GPU Process Event Frame S S L P C Distribute QoS information along with the communication messages
  92. Choices of Energy-saving Techniques 23 GreenWeb can support a range

    of energy saving techniques
  93. Choices of Energy-saving Techniques 23 GreenWeb can support a range

    of energy saving techniques ▹Dynamic resolution scaling [MobiCom 2015] ▹Power-saving display colors [MobiSys 2012] ▹Selective resource loading [NSDI 2015]
  94. Choices of Energy-saving Techniques 23 GreenWeb can support a range

    of energy saving techniques ▹Dynamic resolution scaling [MobiCom 2015] ▹Power-saving display colors [MobiSys 2012] ▹Selective resource loading [NSDI 2015] ▹ACMP-based hardware mechanism
  95. ACMP-based Hardware Substrate 24

  96. ACMP-based Hardware Substrate 24 ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture

  97. Energy Consumption Performance Big Core Small Core ACMP-based Hardware Substrate

    24 ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture
  98. Energy Consumption Performance Big Core Small Core ACMP-based Hardware Substrate

    24 ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture Frequency Levels
  99. Energy Consumption Performance Big Core Small Core ACMP-based Hardware Substrate

    24 ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture ▸ Already used in commodity devices (e.g., Samsung Galaxy S6) Frequency Levels
  100. Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime

    25
  101. Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime

    25 ▸ Provide just enough energy to meet QoS constraints
  102. Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime

    25 ▸ Provide just enough energy to meet QoS constraints div {ontouchend: latency, 16 ms}
  103. Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime

    25 ▸ Provide just enough energy to meet QoS constraints 16 ms div {ontouchend: latency, 16 ms}
  104. Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime

    25 ▸ Provide just enough energy to meet QoS constraints 16 ms div {ontouchend: latency, 16 ms}
  105. Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime

    25 ▸ Provide just enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015]
  106. Energy Consumption Performance ACMP-based GreenWeb Runtime 26 ▸ Provide just

    enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015] Execution Time = [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =
  107. Energy Consumption Performance ACMP-based GreenWeb Runtime 26 ▸ Provide just

    enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015] Execution Time = Tmemory + [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =
  108. Tcpu Energy Consumption Performance ACMP-based GreenWeb Runtime 26 ▸ Provide

    just enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015] Execution Time = Tmemory + [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =
  109. Energy Consumption Performance ACMP-based GreenWeb Runtime 26 ▸ Provide just

    enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015] Execution Time = Tmemory + Ncycles / f [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =
  110. Energy Consumption Performance ACMP-based GreenWeb Runtime 26 ▸ Provide just

    enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015] Execution Time = Tmemory + Ncycles / f [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =
  111. Energy Consumption Performance ACMP-based GreenWeb Runtime 26 ▸ Provide just

    enough energy to meet QoS constraints ▸ Event-based scheduling [HPCA 2015] Execution Time = Tmemory + Ncycles / f [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy = Execution Time x Power
  112. ▸ Language abstractions 27 ▸ Runtime that saves energy while

    meeting the QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency
  113. ▸ Language abstractions 27 ▸ Runtime the QoS constraints ▸

    Result in 60% energy savings on real hardware/software implementations GreenWeb: Language for Energy-Efficiency
  114. Real Hardware/Software Setup 28 ODroid XU+E development board, which contains

    an Exynos 5410 SoC used in Samsung Galaxy S4.
  115. Real Hardware/Software Setup 28 ODroid XU+E development board, which contains

    an Exynos 5410 SoC used in Samsung Galaxy S4. Implementation incorporated into Chrome running on Android.
  116. Real Hardware/Software Setup 28 ODroid XU+E development board, which contains

    an Exynos 5410 SoC used in Samsung Galaxy S4. Implementation incorporated into Chrome running on Android. UI-level record and replay for reproducibility. [ISPASS’15]
  117. Evaluation ▸Baseline Mechanisms ▹Highest performance (Perf) — Standard to guarantee

    responsiveness ▹Interactive governor (Interactive) — Android default 29 29
  118. Evaluation ▸Baseline Mechanisms ▹Highest performance (Perf) — Standard to guarantee

    responsiveness ▹Interactive governor (Interactive) — Android default 29 ▸Metrics ▹Energy Saving ▹QoS Violation 29
  119. Evaluation ▸Baseline Mechanisms ▹Highest performance (Perf) — Standard to guarantee

    responsiveness ▹Interactive governor (Interactive) — Android default 29 ▸Metrics ▹Energy Saving ▹QoS Violation 29 ▸Applications ▹Top webpages (e.g., www.amazon.com) ▹Web Apps based on popular frameworks (e.g., Todo List)
  120. 30 Norm. Energy 0.0 0.3 0.5 0.8 1.0 CamanJS Craigslist

    Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN GreenWeb Interactive Perf Evaluation Results
  121. 31 Norm. Energy 0.0 0.3 0.5 0.8 1.0 CamanJS Craigslist

    Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN GreenWeb Interactive Perf Evaluation Results
  122. 32 Norm. Energy 0.0 0.3 0.5 0.8 1.0 CamanJS Craigslist

    Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN GreenWeb Interactive Perf Evaluation Results
  123. 33 Evaluation Results QoS Violations (%) 0.0 0.8 1.5 2.3

    3.0 CamanJS Craigslist Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN Norm. Energy 0.0 0.3 0.5 0.8 1.0 CamanJS Craigslist Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN GreenWeb Interactive Perf
  124. Norm. Energy 0.0 0.3 0.5 0.8 1.0 CamanJS Craigslist Paperjs

    Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN GreenWeb Interactive Perf 34 Evaluation Results QoS Violations (%) 0.0 0.8 1.5 2.3 3.0 CamanJS Craigslist Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN No QoS Violations
  125. Norm. Energy 0.0 0.3 0.5 0.8 1.0 CamanJS Craigslist Paperjs

    Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN GreenWeb Interactive Perf 34 Evaluation Results QoS Violations (%) 0.0 0.8 1.5 2.3 3.0 CamanJS Craigslist Paperjs Goo Google Todo CNet BBC LZMA-JS Amazon W3School MSN 29.2% - 66.0% energy savings, 0.8% more QoS violations No QoS Violations
  126. 35 GreenWeb Programming language support for balancing energy-efficiency and QoS

    in mobile Web computing
  127. 35 GreenWeb Programming language support for balancing energy-efficiency and QoS

    in mobile Web computing Abstraction Express QoS constraints
  128. 35 GreenWeb Programming language support for balancing energy-efficiency and QoS

    in mobile Web computing Abstraction Express QoS constraints Runtime Satisfy QoS specifications using energy saving techniques
  129. 35 GreenWeb Programming language support for balancing energy-efficiency and QoS

    in mobile Web computing Abstraction Express QoS constraints Runtime Satisfy QoS specifications using energy saving techniques Effect Significant energy savings
  130. 36 wattwiseweb.org

  131. 37 GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing Yuhao

    Zhu The University of Texas at Austin with Vijay Janapa Reddi PLDI 2016