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”
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”
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”
Developers are Willing to Make Trade-offs 5 [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”
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”
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”
Quality-of-service Energy-efficiency Conflicting requirements 7 GreenWeb Programming language support for balancing energy-efficiency and QoS in mobile Web computing
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
9 ▸ Runtime the QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency ▸ Language abstractions for expressing QoS
11 Performance QoS Experience [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow
11 Performance QoS Experience Unusable [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.” Understanding Mobile Web QoS Too slow
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
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
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
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.”
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.”
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.”
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.”
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.”
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.”
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.”
16 Original application GreenWeb- annotated application GreenWeb Annotation Process Automatic Annotation? ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations
16 GreenWeb- annotated application GreenWeb Annotation Process Automatic Annotation? ▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations DOM Tree
▸ Language abstractions for expressing QoS 18 ▸ Runtime the QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency
▸ Language abstractions 18 ▸ Runtime that saves energy while meeting the QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency
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
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
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
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
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
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
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]
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
Energy Consumption Performance Big Core Small Core ACMP-based Hardware Substrate 24 ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture Frequency Levels
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
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}
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}
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}
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]
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 =
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 =
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 =
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 =
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 =
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
▸ Language abstractions 27 ▸ Runtime that saves energy while meeting the QoS constraints ▸ Result hardware/software implementations GreenWeb: Language for Energy-Efficiency
▸ Language abstractions 27 ▸ Runtime the QoS constraints ▸ Result in 60% energy savings on real hardware/software implementations GreenWeb: Language for Energy-Efficiency
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.
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]
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
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