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

3c332dfc0b438785cb10c5234652dd66?s=47 Yuhao Zhu
February 09, 2015

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

HPCA 2015

3c332dfc0b438785cb10c5234652dd66?s=128

Yuhao Zhu

February 09, 2015
Tweet

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

  3. Responsiveness ▸100 ms latency is the limit for having users

    feel the system is reacting responsively [Miller 1968; Card et al. 1991]
  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]
  5. 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]
  6. Responsiveness Energy-Efficiency

  7. Responsiveness Energy-Efficiency Conflicting requirements

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

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

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

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

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

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

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

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

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

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

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

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

    QoS Experience Imperceptible Tolerable Unusable
  20. Interacting with an App 4

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

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

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

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

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

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

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

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

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

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

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

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

    click touchmove 1487 Events
  33. Mobile Web Applications are Event-Driven 5

  34. Mobile Web Applications are Event-Driven 5 Event FIFO Queue

  35. Mobile Web Applications are Event-Driven 5 Event FIFO Queue Head

    Tail
  36. Mobile Web Applications are Event-Driven 5 Touch Screen Event Event

    FIFO Queue Key Press Event … … Head Tail Timer Event Insert to Event Queue
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. ▸ 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
  43. ▸ 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
  44. ▸ 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
  45. ▸ 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
  46. ▸ 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
  47. Exploit the Slack in Events 7 150 100 50 0

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

    Event Latency (ms) Events
  49. Exploit the Slack in Events 8 Unusable QoS 150 100

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

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

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

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

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

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

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

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

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

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

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

    energy-efficient architectural configuration that meets the QoS target for each event Mobile applications
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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 =
  82. 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 +
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. Evaluation Methodology ▸ Implemented inside Google Chromium Web browser ▸

    Representative hardware platform ▹ Exynos 5410 SoC (A15 + A7) 16
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. Mobile is One Example 28 Web Mobile

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

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

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

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

    after the keynote ▸ How computer architects can improve Web technologies
  127. Thank you