Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Event-Based Scheduling for Energy-Efficient Quality of Service (eQoS) in Mobile Web Applications

Yuhao Zhu
February 09, 2015

Event-Based Scheduling for Energy-Efficient Quality of Service (eQoS) in Mobile Web Applications

HPCA 2015

Yuhao Zhu

February 09, 2015
Tweet

More Decks by Yuhao Zhu

Other Decks in Education

Transcript

  1. 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
  2. Responsiveness ▸100 ms latency is the limit for having users

    feel the system is reacting responsively [Miller 1968; Card et al. 1991]
  3. 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]
  4. 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]
  5. Mobile Web Applications are Event-Driven 5 Touch Screen Event Event

    FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. ▸ 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
  12. ▸ 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
  13. ▸ 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
  14. ▸ 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
  15. ▸ 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
  16. Exploit the Slack in Events 7 150 100 50 0

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

    Event Latency (ms) Events
  18. Exploit the Slack in Events 8 keyup Unusable QoS 150

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

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

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

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

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

    Small Slack click Unusable QoS 150 100 50 0 Event Latency (ms) Events
  24. 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
  25. Event-Based Scheduler (EBS) Overview 9 ▸ Goal: Find the most

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

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

    energy-efficient architectural configuration that meets the QoS target for each event Thread Scheduling
  28. 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
  29. 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
  30. Event-Based Scheduler (EBS) Overview 10 ▸ Goal: Find the most

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

    energy-efficient architectural configuration that meets the QoS target for each event Mobile applications
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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 <core, freq> Event
  40. 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 <core, freq> Event
  41. 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 <core, freq> Event
  42. 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 <core, freq> Event
  43. 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 <core, freq> Event
  44. 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 <core, freq> Event
  45. 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 <core, freq> Event
  46. 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 <core, freq> Event
  47. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each <core, freq> config
  48. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

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

    <core, freq> Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each <core, freq> 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 =
  50. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each <core, freq> 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 +
  51. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each <core, freq> 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
  52. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the Model Constructor Works 12 ▸ Goal: Estimate the event latency under each <core, freq> 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
  53. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

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

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

    <core, freq> 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
  56. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> 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
  57. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> 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
  58. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> 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
  59. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> 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
  60. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> 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
  61. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the <core, frequency> for the next event
  62. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the <core, frequency> for the next event Predicted Latency Frequency Big Core Little Core
  63. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the <core, frequency> for the next event QoS Target Predicted Latency Frequency Big Core Little Core
  64. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the QoS Monitor Works 14 ▸ Goal: Predict the <core, frequency> for the next event QoS Target Predicted Latency Frequency Big Core Little Core
  65. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

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

    <core, freq> Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the <core, frequency> for the next event QoS Target Predicted Latency Frequency Big Core Little Core
  67. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

    <core, freq> Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the <core, frequency> for the next event QoS Target Predicted Latency Frequency Big Core Little Core
  68. Feedback Detector QoS Monitor Model Constructor Event Info Model Recalibrate

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

    <core, freq> Feedback How the QoS Monitor Works 15 ▸ Goal: Predict the <core, frequency> 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
  70. Evaluation Methodology ▸ Implemented inside Google Chromium Web browser ▸

    Representative hardware platform ▹ Exynos 5410 SoC (A15 + A7) 16
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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 <Core, Freq> 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
  90. Mobile is One Example 28 Web Mobile Internet-of-Things Sensor networks

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

    Cloud Event-based processing is a fundamental computation pattern.
  92. ▸ Another talk @ Best of CAL session ▸ Wednesday

    after the keynote ▸ How computer architects can improve Web technologies