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

PES: Proactive Event Scheduling for Responsive ...

HorizonLab
June 19, 2019

PES: Proactive Event Scheduling for Responsive and Energy-Efficient Mobile Web Computing

ISCA 2019 Talk. Presented by Yu Feng

HorizonLab

June 19, 2019
Tweet

More Decks by HorizonLab

Other Decks in Science

Transcript

  1. PES: Proactive Event Scheduling for Responsive and Energy-Efficient Mobile Web

    Computing Yu Feng with Yuhao Zhu Department of Computer Science University of Rochester ISCA 2019
  2. Ubiquity of Mobile devices 3 ▸2x times mobile users than

    desktop users ▸76% of population are using mobile devices daily
  3. Mobile Applications are Event-Driven 4 Scrolling Tapping scrollstart scrollupdate scrollend

    tapdown Tapup Keypress Typing Interactions Events ISCA 2019
  4. Event-Driven Execution Model 7 touchmove onclick timer … Time Event

    Queue Fetch Runtime Scheduler Core Scheduling knobs: DVFS settings
  5. Inefficiency of Current Schedulers 8 Time OS Governor input 1

    input 2 QoS Deadline 1 QoS Deadline 2 E1
  6. Inefficiency of Current Schedulers 8 Time OS Governor input 1

    input 2 QoS Deadline 1 QoS Deadline 2 E1 slack
  7. Inefficiency of Current Schedulers 8 Time OS Governor input 1

    input 2 QoS Deadline 1 QoS Deadline 2 E1 E2 slack
  8. Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 OS Governor
  9. Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 QoS-Aware OS Governor
  10. Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 QoS-Aware OS Governor
  11. Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor
  12. Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor ?
  13. Inefficiency of Current Schedulers 10 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor
  14. Inefficiency of Current Schedulers 10 Time Oracle input 1 input

    2 QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor
  15. Inefficiency of Current Schedulers 10 Time Oracle input 1 input

    2 QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 E1 E2 QoS-Aware OS Governor
  16. Proactive Event Scheduler Proactive Event Scheduler 13 Prediction Web Program

    Analysis Machine Learning Scheduling Constraint Optimization
  17. Proactive Event Scheduler Proactive Event Scheduler 13 Result reduce energy

    consumption while improving QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  18. Proactive Event Scheduler Proactive Event Scheduler 13 Result reduce energy

    consumption while improving QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  19. Prediction Model 17 Prediction Model The distance of click The

    number of scrolls The number of navigations Features encoding past interactions …
  20. Prediction Model 19 Features encoding past interactions Click ScrollUp ScrollDown

    ZoomIn ZoomOut … Prediction Model 0.10 0.12 0.58 0.07 0.02
  21. Prediction Model 19 Features encoding past interactions Click ScrollUp ScrollDown

    ZoomIn ZoomOut … Prediction Model All Event Types
  22. Prediction Model 19 Features encoding past interactions Click ScrollUp ScrollDown

    ZoomIn ZoomOut … Prediction Model Filter Events ?
  23. 20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Program Analysis DOM Tree Viewport
  24. 20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  25. 20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  26. 20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  27. 20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  28. Include Program Analysis Features 21 Features encoding past interactions Click

    ScrollUp ScrollDown ZoomIn ZoomOut … Prediction Model
  29. Overview of Predictor 22 Past Event Statistics Current Application State

    Click ScrollUp ScrollDown ZoomIn ZoomOut … + Prediction Model
  30. Overview of Predictor 22 Past Event Statistics Current Application State

    Click ScrollUp ScrollDown ZoomIn ZoomOut … + Prediction Model Recurrent
  31. Proactive Event Scheduler Proactive Event Scheduler 23 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  32. Proactive Event Scheduler Proactive Event Scheduler 23 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  33. Scheduling events 24 E1 E2 E3 Time From predictor Goal:

    minimize total energy while meeting deadlines
  34. Objective: Problem Formulation 25 E1 E2 E3 Time ▸ Scheduling

    Problem → Constrained Optimization. N ∑ i Min. Energy (i)
  35. Objective: Problem Formulation 25 E1 E2 E3 Time △Texe 1

    △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. N ∑ i △Texe (i) x Min.
  36. Objective: Problem Formulation 25 E1 E2 E3 Time △Texe 1

    △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min.
  37. Objective: Constraints: Problem Formulation 25 E1 E2 E3 Time △Texe

    1 △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min.
  38. Objective: Constraints: Problem Formulation 25 E1 E2 E3 Time △Texe

    1 △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. Order: ≤ Tend (i) Tstart (i+1) N ∑ i △Texe (i) x Power (i) Min.
  39. Objective: Constraints: Problem Formulation 25 E1 E2 E3 Time Tstart

    1 Tstart 2 Tstart 3 TQoS 1 TQoS 2 TQoS 3 △Texe 1 △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + N ∑ i △Texe (i) x Power (i) Min.
  40. Objective: Constraints: Problem Formulation 25 E1 E2 E3 Time Tstart

    1 Tstart 2 Tstart 3 TQoS 1 TQoS 2 TQoS 3 △Texe 1 △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + Scheduling knobs: DVFS settings for each event N ∑ i △Texe (i) x Power (i) Min.
  41. Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem → Constrained

    Optimization. N ∑ i △Texe (i) x Power (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  42. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min. △Texe (i) = Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  43. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min. △Texe (i) = Tmemory + Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  44. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min. Tcpu △Texe (i) = Tmemory + Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  45. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min. △Texe (i) = Tmemory + Ncycles / f (i) Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  46. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min. △Texe (i) = Tmemory + Constants Ncycles / f (i) Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  47. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Power (i) Min. △Texe (i) = Tmemory + Constants Offline profile Ncycles / f (i) Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  48. Each Event: Objective: Constraints: Problem Formulation 26 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Min. △Texe (i) = Tmemory + Constants Offline profile Ncycles / f (i) Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + Pmap (i)
  49. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) +
  50. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + { Ncycles / f (j) } △Texe (i) =Tmemory +∑ * ⍺ (i, j) ⍺ (i, j) in {0,1}
  51. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + { Ncycles / f (j) } △Texe (i) =Tmemory +∑ * ⍺ (i, j) Pmap (i) = Freq2Power (j) * ⍺ (i, j) ∑
  52. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + { Ncycles / f (j) } △Texe (i) =Tmemory +∑ * ⍺ (i, j) Pmap (i) = Freq2Power (j) * ⍺ (i, j) ∑ 1 = ⍺ (i, j) With the constraints: ∑
  53. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + { Ncycles / f (j) } △Texe (i) =Tmemory +∑ * ⍺ (i, j) Pmap (i) = Freq2Power (j) * ⍺ (i, j) ∑ 1 = ⍺ (i, j) With the constraints: ∑ Only one setting is chosen
  54. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + { Ncycles / f (j) } △Texe (i) =Tmemory +∑ * ⍺ (i, j) Pmap (i) = Freq2Power (j) * ⍺ (i, j) ∑ 1 = ⍺ (i, j) With the constraints: ∑
  55. Each Event: Objective: Constraints: Problem Formulation 27 ▸ Scheduling Problem

    → Constrained Optimization. N ∑ i △Texe (i) x Pmap (i) Min. Order: ≤ Tend (i) Tstart (i+1) Deadline: ≤ Tstart (i) △Texe (i) TQoS (i) + { Ncycles / f (j) } △Texe (i) =Tmemory +∑ * ⍺ (i, j) Integer Linear Programing! Pmap (i) = Freq2Power (j) * ⍺ (i, j) ∑ 1 = ⍺ (i, j) With the constraints: ∑
  56. PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Events Speculative Schedules Scheduler Predictions
  57. PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Uncommitted Results Scheduler Predictions
  58. PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Uncommitted Results Scheduler Predictions
  59. PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Commit Uncommitted Results Scheduler Predictions
  60. PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Commit Uncommitted Results Recover Scheduler Predictions
  61. Proactive Event Scheduler Proactive Event Scheduler 29 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  62. Proactive Event Scheduler Proactive Event Scheduler 29 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  63. ODORID XU+E development board, which contains an Exynos 5410 SoC

    Experimental Setup 30 Implemented our framework in Chromium on top of Android system
  64. ODORID XU+E development board, which contains an Exynos 5410 SoC

    Experimental Setup 30 Implemented our framework in Chromium on top of Android system UI-level record and replay for reproducibility. [ISPASS’15]
  65. Evaluation ▸Baseline Mechanisms ▹Interactive governor (Interactive) — Android default ▹EBS:

    a state-of-the-art QoS-aware scheduler ▹Oracle: optimal scheduler 31 31 Time Oracle input 1 input 2 QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 E1 E2 QoS-Aware OS Governor
  66. Evaluation ▸Baseline Mechanisms ▹Interactive governor (Interactive) — Android default ▹EBS:

    a state-of-the-art QoS-aware scheduler ▹Oracle: optimal scheduler 31 ▸Metrics ▹Energy Consumption ▹QoS Violation 31
  67. Evaluation ▸Baseline Mechanisms ▹Interactive governor (Interactive) — Android default ▹EBS:

    a state-of-the-art QoS-aware scheduler ▹Oracle: optimal scheduler 31 ▸Metrics ▹Energy Consumption ▹QoS Violation 31 ▸Applications ▹Top web applications (e.g., www.amazon.com)
  68. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  69. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  70. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  71. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  72. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  73. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle QoS Violation 0 0.15 0.3 0.45 0.6 163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  74. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle QoS Violation 0 0.15 0.3 0.45 0.6 163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  75. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle QoS Violation 0 0.15 0.3 0.45 0.6 163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle
  76. Experimental Result 32 Norn. Energy 0 0.25 0.5 0.75 1

    163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle QoS Violation 0 0.15 0.3 0.45 0.6 163 msn slashdot youtube google amazon ebay sina espn bbc cnn twitter Interactive EBS PES Oracle 61% less QoS Violation and 26% of Energy Reduction
  77. Conclusion 33 ‣ To better satisfy the user experience while

    minimizing the energy, coordinating across events is crucial for event-driven applications.
  78. Conclusion 33 ‣ To better satisfy the user experience while

    minimizing the energy, coordinating across events is crucial for event-driven applications. ‣ PES combines statistic inference with application analysis on event prediction.
  79. Conclusion 33 ‣ To better satisfy the user experience while

    minimizing the energy, coordinating across events is crucial for event-driven applications. ‣ PES achieves significant energy savings while reducing QoS violations. ‣ PES combines statistic inference with application analysis on event prediction.