Slide 1

Slide 1 text

Event-Based Scheduling for Energy-Efficient Quality of Service (eQoS) in Mobile Web Applications Yuhao Zhu, Matthew Halpern, Vijay Janapa Reddi Department of Electrical and Computer Engineering The University of Texas at Austin HPCA — Feb. 9th, 2015

Slide 2

Slide 2 text

Responsiveness

Slide 3

Slide 3 text

Responsiveness ▸100 ms latency is the limit for having users feel the system is reacting responsively [Miller 1968; Card et al. 1991]

Slide 4

Slide 4 text

Responsiveness ▸100 ms latency is the limit for having users feel the system is reacting responsively [Miller 1968; Card et al. 1991] ▸64% of mobile users will not revisit a slow Web app [Source: Akamai]

Slide 5

Slide 5 text

Responsiveness ▸100 ms latency is the limit for having users feel the system is reacting responsively [Miller 1968; Card et al. 1991] ▸64% of mobile users will not revisit a slow Web app [Source: Akamai] ▸Amazon found every 100 ms of latency costs them 1% in sales per year [Source: Amazon]

Slide 6

Slide 6 text

Responsiveness Energy-Efficiency

Slide 7

Slide 7 text

Responsiveness Energy-Efficiency Conflicting requirements

Slide 8

Slide 8 text

eQoS: Making a Calculated Trade-off 3 Performance degradation QoS Experience

Slide 9

Slide 9 text

eQoS: Making a Calculated Trade-off 3 Performance degradation QoS Experience Imperceptible

Slide 10

Slide 10 text

eQoS: Making a Calculated Trade-off 3 Performance degradation QoS Experience Imperceptible Tolerable

Slide 11

Slide 11 text

eQoS: Making a Calculated Trade-off 3 Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 12

Slide 12 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 13

Slide 13 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 14

Slide 14 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 15

Slide 15 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 16

Slide 16 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 17

Slide 17 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 18

Slide 18 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 19

Slide 19 text

eQoS: Making a Calculated Trade-off 3 Energy Savings Performance degradation QoS Experience Imperceptible Tolerable Unusable

Slide 20

Slide 20 text

Interacting with an App 4

Slide 21

Slide 21 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4

Slide 22

Slide 22 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4

Slide 23

Slide 23 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area

Slide 24

Slide 24 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing Interactions

Slide 25

Slide 25 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing Interactions

Slide 26

Slide 26 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing pressing Interactions

Slide 27

Slide 27 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing pressing Interactions

Slide 28

Slide 28 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing pressing moving Interactions

Slide 29

Slide 29 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing pressing moving Interactions Events

Slide 30

Slide 30 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area typing pressing moving Interactions Events keypress click touchmove

Slide 31

Slide 31 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area Events keypress click touchmove

Slide 32

Slide 32 text

Interacting with an App 4 http://yuhaozhu.com/googlemaps.mp4 bay area Events keypress click touchmove 1487 Events

Slide 33

Slide 33 text

Mobile Web Applications are Event-Driven 5

Slide 34

Slide 34 text

Mobile Web Applications are Event-Driven 5 Event FIFO Queue

Slide 35

Slide 35 text

Mobile Web Applications are Event-Driven 5 Event FIFO Queue Head Tail

Slide 36

Slide 36 text

Mobile Web Applications are Event-Driven 5 Touch Screen Event Event FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue

Slide 37

Slide 37 text

Mobile Web Applications are Event-Driven 5 Touch Screen Event Event FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue Event Loop

Slide 38

Slide 38 text

Mobile Web Applications are Event-Driven 5 Touch Screen Event Event FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue Fetch for Execution Event Loop

Slide 39

Slide 39 text

Mobile Web Applications are Event-Driven 5 Touch Screen Event Event FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue Fetch for Execution Event Loop

Slide 40

Slide 40 text

Mobile Web Applications are Event-Driven 5 Event FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue Fetch for Execution Event Loop

Slide 41

Slide 41 text

Mobile Web Applications are Event-Driven 5 Event FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue Fetch for Execution Event Loop Optimize for eQoS at an event-granularity

Slide 42

Slide 42 text

▸ Key idea: Execute events with just-enough energy to meet user QoS expectation ▹ Develop a runtime system that leverages the large scheduling space of heterogeneous CPUs 6 Executive Summary

Slide 43

Slide 43 text

▸ Key idea: Execute events with just-enough energy to meet user QoS expectation ▹ Develop a runtime system that leverages the large scheduling space of heterogeneous CPUs 6 Executive Summary Event-level Characterization

Slide 44

Slide 44 text

▸ Key idea: Execute events with just-enough energy to meet user QoS expectation ▹ Develop a runtime system that leverages the large scheduling space of heterogeneous CPUs Runtime Mechanics to Exploit Latency Slack 6 Executive Summary Event-level Characterization

Slide 45

Slide 45 text

▸ Key idea: Execute events with just-enough energy to meet user QoS expectation ▹ Develop a runtime system that leverages the large scheduling space of heterogeneous CPUs Runtime Mechanics to Exploit Latency Slack Heterogeneous Resource Utilization 6 Executive Summary Event-level Characterization

Slide 46

Slide 46 text

▸ Key idea: Execute events with just-enough energy to meet user QoS expectation ▹ Develop a runtime system that leverages the large scheduling space of heterogeneous CPUs Runtime Mechanics to Exploit Latency Slack Heterogeneous Resource Utilization 6 Executive Summary Event-level Characterization

Slide 47

Slide 47 text

Exploit the Slack in Events 7 150 100 50 0 Event Latency (ms) Events

Slide 48

Slide 48 text

Exploit the Slack in Events 8 150 100 50 0 Event Latency (ms) Events

Slide 49

Slide 49 text

Exploit the Slack in Events 8 Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 50

Slide 50 text

Exploit the Slack in Events 8 keyup Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 51

Slide 51 text

Exploit the Slack in Events 8 keyup Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 52

Slide 52 text

Exploit the Slack in Events 8 keyup Large Slack Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 53

Slide 53 text

Exploit the Slack in Events 8 keyup Large Slack change Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 54

Slide 54 text

Exploit the Slack in Events 8 keyup Large Slack change Small Slack Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 55

Slide 55 text

Exploit the Slack in Events 8 keyup Large Slack change Small Slack click Unusable QoS 150 100 50 0 Event Latency (ms) Events

Slide 56

Slide 56 text

Exploit the Slack in Events 8 keyup Large Slack change Small Slack click Unusable QoS ▸ Wide distribution of event latencies. Events exhibit different slacks. ▹ How to exploit different slacks for different events? 150 100 50 0 Event Latency (ms) Events

Slide 57

Slide 57 text

Event-Based Scheduler (EBS) Overview 9 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event

Slide 58

Slide 58 text

Event-Based Scheduler (EBS) Overview 9 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Thread Scheduling

Slide 59

Slide 59 text

Event-Based Scheduler (EBS) Overview 9 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Thread Scheduling

Slide 60

Slide 60 text

Event-Based Scheduler (EBS) Overview 9 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Thread-based Scheduler Thread Scheduling

Slide 61

Slide 61 text

Event-Based Scheduler (EBS) Overview 9 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Thread-based Scheduler Thread Scheduling Throughput Fairness

Slide 62

Slide 62 text

Event-Based Scheduler (EBS) Overview 10 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event

Slide 63

Slide 63 text

Event-Based Scheduler (EBS) Overview 10 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Mobile applications

Slide 64

Slide 64 text

Event-Based Scheduler (EBS) Overview 10 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Mobile applications Event Queue

Slide 65

Slide 65 text

Event-Based Scheduler (EBS) Overview 10 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Event-based Scheduler Mobile applications Event Queue

Slide 66

Slide 66 text

Event-Based Scheduler (EBS) Overview 10 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event Event-based Scheduler Mobile applications eQoS Event Queue

Slide 67

Slide 67 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Event Queue

Slide 68

Slide 68 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Event Queue Big/Little Hardware

Slide 69

Slide 69 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Event Queue Big/Little Hardware Event-Based Scheduler

Slide 70

Slide 70 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Event Queue Big/Little Hardware Event-Based Scheduler Event

Slide 71

Slide 71 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Event Queue Big/Little Hardware Event-Based Scheduler Event

Slide 72

Slide 72 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup QoS Monitor Event Queue Big/Little Hardware Event-Based Scheduler Event

Slide 73

Slide 73 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup QoS Monitor Event Queue Big/Little Hardware Event-Based Scheduler Model Event

Slide 74

Slide 74 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup QoS Monitor Model Constructor Event Queue Big/Little Hardware Event-Based Scheduler Model Event

Slide 75

Slide 75 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup QoS Monitor Model Constructor Event Queue Big/Little Hardware Event-Based Scheduler Model Event

Slide 76

Slide 76 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Detector QoS Monitor Model Constructor Event Queue Big/Little Hardware Event-Based Scheduler Model Event

Slide 77

Slide 77 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Detector QoS Monitor Model Constructor Event Queue Big/Little Hardware Event-Based Scheduler Model Event

Slide 78

Slide 78 text

Event-Based Scheduler (EBS) Overview 11 ▸ Goal: Find the most energy-efficient architectural configuration that meets the QoS target for each event H3 … H2 … H1 change click keyup Detector QoS Monitor Model Constructor Event Queue Big/Little Hardware Event-Based Scheduler Model Recalibrate Event

Slide 79

Slide 79 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config

Slide 80

Slide 80 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Memory Operation CPU Operation Tmemory Ndependent f Event Latency Xie, et al., Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits, PLDI’03

Slide 81

Slide 81 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Memory Operation CPU Operation Tmemory Ndependent f Event Latency Xie, et al., Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits, PLDI’03 Event Latency =

Slide 82

Slide 82 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Memory Operation CPU Operation Tmemory Ndependent f Event Latency Xie, et al., Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits, PLDI’03 Event Latency = Tmemory +

Slide 83

Slide 83 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Memory Operation CPU Operation Tmemory Ndependent f Event Latency Xie, et al., Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits, PLDI’03 Event Latency = Tmemory + Ndependent / f

Slide 84

Slide 84 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Memory Operation CPU Operation Tmemory Ndependent f Event Latency Xie, et al., Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits, PLDI’03 Event Latency = Tmemory + Ndependent / f

Slide 85

Slide 85 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Event Latency = Tmemory + Ndependent / f Event Latency Frequency

Slide 86

Slide 86 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each config Event Latency = Tmemory + Ndependent / f Event Latency Frequency

Slide 87

Slide 87 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate How the Detector Works 13 ▸ Goal: Find the QoS target for each event CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 Feedback

Slide 88

Slide 88 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate How the Detector Works 13 ▸ Goal: Find the QoS target for each event CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 Event Latency (s) Event Intensity (evt/s) Feedback

Slide 89

Slide 89 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate How the Detector Works 13 ▸ Goal: Find the QoS target for each event CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 Event Latency (s) Event Intensity (evt/s) Feedback

Slide 90

Slide 90 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate How the Detector Works 13 ▸ Goal: Find the QoS target for each event CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 Event Latency (s) Event Intensity (evt/s) Feedback

Slide 91

Slide 91 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate How the Detector Works 13 ▸ Goal: Find the QoS target for each event CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 Event Latency (s) Event Intensity (evt/s) NA Feedback

Slide 92

Slide 92 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate How the Detector Works 13 ▸ Goal: Find the QoS target for each event CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 CamanJS Pdf.js Crypto Zlib Paper.js Ember.js GWT Backbone jQuery sina google ebay Doom Rain 10-4 104 106 100 Event Latency (s) Event Intensity (evt/s) NA Feedback [1, 10] s [50, 100] ms [60, 30] fps

Slide 93

Slide 93 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the for the next event

Slide 94

Slide 94 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the for the next event Predicted Latency Frequency Big Core Little Core

Slide 95

Slide 95 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core

Slide 96

Slide 96 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core

Slide 97

Slide 97 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core ▸ Scheduling overhead (~120 us): ▹ Core migration ▹ Frequency switching

Slide 98

Slide 98 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core

Slide 99

Slide 99 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core

Slide 100

Slide 100 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core ▸ Fine-tune the execution upon over- prediction or under-prediction

Slide 101

Slide 101 text

Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the for the next event QoS Target Predicted Latency Frequency Big Core Little Core ▸ Fine-tune the execution upon over- prediction or under-prediction ▸ Recalibrate if it mispredicts too often

Slide 102

Slide 102 text

Evaluation Methodology ▸ Implemented inside Google Chromium Web browser ▸ Representative hardware platform ▹ Exynos 5410 SoC (A15 + A7) 16

Slide 103

Slide 103 text

Evaluation Methodology ▸ Baseline Mechanisms ▹ Highest performance (Perf) — Standard to guarantee responsiveness ▹ Minimal energy (Energy) — Minimize energy consumption ▹ Interactive governor (Interactive) — Android default ▹ On-demand governor (Ondemand) 17

Slide 104

Slide 104 text

Evaluation Methodology ▸ Baseline Mechanisms ▹ Highest performance (Perf) — Standard to guarantee responsiveness ▹ Minimal energy (Energy) — Minimize energy consumption ▹ Interactive governor (Interactive) — Android default ▹ On-demand governor (Ondemand) 17

Slide 105

Slide 105 text

Evaluation Methodology ▸ Baseline Mechanisms ▹ Highest performance (Perf) — Standard to guarantee responsiveness ▹ Minimal energy (Energy) — Minimize energy consumption ▹ Interactive governor (Interactive) — Android default ▹ On-demand governor (Ondemand) 17 PH Imperceptible 0 PI PU PL QoSU QoSI Tolerable Unusable -ESU ESI EST Quality-of-Service (QoS) Energy Savings (ES) Performance Degradation ▸ Scheduling Scenarios

Slide 106

Slide 106 text

Evaluation Methodology ▸ Baseline Mechanisms ▹ Highest performance (Perf) — Standard to guarantee responsiveness ▹ Minimal energy (Energy) — Minimize energy consumption ▹ Interactive governor (Interactive) — Android default ▹ On-demand governor (Ondemand) 17 PH Imperceptible 0 PI PU PL QoSU QoSI Tolerable Unusable -ESU ESI EST Quality-of-Service (QoS) Energy Savings (ES) Performance Degradation ▸ Scheduling Scenarios ▹ Scheduling for imperceptibility

Slide 107

Slide 107 text

Evaluation Methodology ▸ Baseline Mechanisms ▹ Highest performance (Perf) — Standard to guarantee responsiveness ▹ Minimal energy (Energy) — Minimize energy consumption ▹ Interactive governor (Interactive) — Android default ▹ On-demand governor (Ondemand) 17 PH Imperceptible 0 PI PU PL QoSU QoSI Tolerable Unusable -ESU ESI EST Quality-of-Service (QoS) Energy Savings (ES) Performance Degradation ▸ Scheduling Scenarios ▹ Scheduling for imperceptibility ▹ Scheduling for tolerability

Slide 108

Slide 108 text

Evaluation Methodology ▸ Baseline Mechanisms ▹ Highest performance (Perf) — Standard to guarantee responsiveness ▹ Minimal energy (Energy) — Minimize energy consumption ▹ Interactive governor (Interactive) — Android default ▹ On-demand governor (Ondemand) 17 PH Imperceptible 0 PI PU PL QoSU QoSI Tolerable Unusable -ESU ESI EST Quality-of-Service (QoS) Energy Savings (ES) Performance Degradation ▸ Scheduling Scenarios ▹ Scheduling for imperceptibility ▹ Scheduling for tolerability

Slide 109

Slide 109 text

Evaluation Results 18 QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Ondemand Energy

Slide 110

Slide 110 text

19 QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy Evaluation Results No QoS Violations

Slide 111

Slide 111 text

20 QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy Evaluation Results No QoS Violations

Slide 112

Slide 112 text

21 QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9 Evaluation Results

Slide 113

Slide 113 text

22 QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9 Evaluation Results

Slide 114

Slide 114 text

23 QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9 Evaluation Results Energy (J) 0.0 1.0 2.0 3.0 4.0 emberjs gwt jquery backbone paperjs sina google ebay

Slide 115

Slide 115 text

24 Energy (J) 0.0 1.0 2.0 3.0 4.0 emberjs gwt jquery backbone paperjs sina google ebay 8.2 7.7 Evaluation Results QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9

Slide 116

Slide 116 text

25 Energy (J) 0.0 1.0 2.0 3.0 4.0 emberjs gwt jquery backbone paperjs sina google ebay 8.2 7.7 Evaluation Results QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9

Slide 117

Slide 117 text

26 Energy (J) 0.0 1.0 2.0 3.0 4.0 emberjs gwt jquery backbone paperjs sina google ebay 8.2 7.7 Evaluation Results QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9

Slide 118

Slide 118 text

26 Energy (J) 0.0 1.0 2.0 3.0 4.0 emberjs gwt jquery backbone paperjs sina google ebay 8.2 7.7 Evaluation Results QoS Violations (%) 0.0 1.5 3.0 4.5 6.0 emberjs gwt jquery backbone paperjs sina google ebay EBS Perf Interactive Energy 9.4 17.8 58.1 6.9 37.9% - 41.2% energy savings, 0.1% more QoS violations

Slide 119

Slide 119 text

What Have We Learnt So Far 27 ▸ User interactivity and human perceptibility are important because it has economic ramifications and impacts user device choice, as well as end-user satisfaction

Slide 120

Slide 120 text

What Have We Learnt So Far 27 PH Imperceptible 0 PI PU PL QoSU QoSI Tolerable Unusable -ESU ESI EST Quality-of-Service (QoS) Energy Savings (ES) Performance Degradation ▸ Need a systematic way of understanding and QoS-energy trade-offs. To that end we advocate eQoS to strike a balance between user satisfaction and energy reduction ▸ User interactivity and human perceptibility are important because it has economic ramifications and impacts user device choice, as well as end-user satisfaction

Slide 121

Slide 121 text

What Have We Learnt So Far 27 PH Imperceptible 0 PI PU PL QoSU QoSI Tolerable Unusable -ESU ESI EST Quality-of-Service (QoS) Energy Savings (ES) Performance Degradation ▸ Need a systematic way of understanding and QoS-energy trade-offs. To that end we advocate eQoS to strike a balance between user satisfaction and energy reduction ▸ Develop the event-based scheduling (EBS) mechanism that exploits the fundamental event-driven execution pattern of mobile applications to achieve better eQoS ▸ User interactivity and human perceptibility are important because it has economic ramifications and impacts user device choice, as well as end-user satisfaction Heterogeneous Hardware Event Queue H3 … H2 … H1 Dispatch PI, PU Detector QoS Monitor Model Constructor Recalibrate Event-Based Scheduler Event Info Models onkeyup=“H1 () {…}” keyup onchange=“H2 () {…}” change Event execution feedback onclick=“H3 () {…}” click

Slide 122

Slide 122 text

Mobile is One Example 28 Web Mobile

Slide 123

Slide 123 text

Mobile is One Example 28 Web Mobile Internet-of-Things Sensor networks Cloud

Slide 124

Slide 124 text

Mobile is One Example 28 Web Mobile Internet-of-Things Sensor networks Cloud Event-based processing is a fundamental computation pattern.

Slide 125

Slide 125 text

Mobile is One Example 28 Web Mobile Internet-of-Things Sensor networks Cloud Event-based processing is a fundamental computation pattern.

Slide 126

Slide 126 text

▸ Another talk @ Best of CAL session ▸ Wednesday after the keynote ▸ How computer architects can improve Web technologies

Slide 127

Slide 127 text

Thank you