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

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

ISCA 2019 Talk. Presented by Yu Feng

F0c4b39a71fc7c752d4e6c451f6f678b?s=128

HorizonLab

June 19, 2019
Tweet

Transcript

  1. 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. 6.

    Ubiquity of Mobile devices 3 ▸2x times mobile users than

    desktop users ▸76% of population are using mobile devices daily
  3. 12.

    Mobile Applications are Event-Driven 4 Scrolling Tapping scrollstart scrollupdate scrollend

    tapdown Tapup Keypress Typing Interactions Events ISCA 2019
  4. 13.
  5. 14.
  6. 18.

    Event-Driven Execution Model 7 touchmove onclick timer … Time Event

    Queue Fetch Runtime Scheduler Core Scheduling knobs: DVFS settings
  7. 22.
  8. 23.

    Inefficiency of Current Schedulers 8 Time OS Governor input 1

    input 2 QoS Deadline 1 QoS Deadline 2 E1
  9. 24.

    Inefficiency of Current Schedulers 8 Time OS Governor input 1

    input 2 QoS Deadline 1 QoS Deadline 2 E1 slack
  10. 25.

    Inefficiency of Current Schedulers 8 Time OS Governor input 1

    input 2 QoS Deadline 1 QoS Deadline 2 E1 E2 slack
  11. 26.

    Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 OS Governor
  12. 27.

    Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 QoS-Aware OS Governor
  13. 28.

    Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 QoS-Aware OS Governor
  14. 29.

    Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor
  15. 30.

    Inefficiency of Current Schedulers 9 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor ?
  16. 31.

    Inefficiency of Current Schedulers 10 Time input 1 input 2

    QoS Deadline 1 QoS Deadline 2 E1 E2 E1 E2 QoS-Aware OS Governor
  17. 32.

    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
  18. 33.

    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
  19. 36.
  20. 40.

    Proactive Event Scheduler Proactive Event Scheduler 13 Prediction Web Program

    Analysis Machine Learning Scheduling Constraint Optimization
  21. 41.

    Proactive Event Scheduler Proactive Event Scheduler 13 Result reduce energy

    consumption while improving QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  22. 42.

    Proactive Event Scheduler Proactive Event Scheduler 13 Result reduce energy

    consumption while improving QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  23. 45.
  24. 46.
  25. 47.
  26. 48.
  27. 56.

    Prediction Model 17 Prediction Model The distance of click The

    number of scrolls The number of navigations Features encoding past interactions …
  28. 58.

    Prediction Model 19 Features encoding past interactions Click ScrollUp ScrollDown

    ZoomIn ZoomOut … Prediction Model 0.10 0.12 0.58 0.07 0.02
  29. 60.

    Prediction Model 19 Features encoding past interactions Click ScrollUp ScrollDown

    ZoomIn ZoomOut … Prediction Model All Event Types
  30. 61.

    Prediction Model 19 Features encoding past interactions Click ScrollUp ScrollDown

    ZoomIn ZoomOut … Prediction Model Filter Events ?
  31. 66.

    20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Program Analysis DOM Tree Viewport
  32. 67.

    20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  33. 68.

    20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  34. 69.

    20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  35. 70.

    20 <collapsible> <href> <html> <body> <div> … <div> <div> <href>

    <href> … Viewport Program Analysis DOM Tree Viewport
  36. 71.

    Include Program Analysis Features 21 Features encoding past interactions Click

    ScrollUp ScrollDown ZoomIn ZoomOut … Prediction Model
  37. 72.

    Overview of Predictor 22 Past Event Statistics Current Application State

    Click ScrollUp ScrollDown ZoomIn ZoomOut … + Prediction Model
  38. 73.

    Overview of Predictor 22 Past Event Statistics Current Application State

    Click ScrollUp ScrollDown ZoomIn ZoomOut … + Prediction Model Recurrent
  39. 76.

    Proactive Event Scheduler Proactive Event Scheduler 23 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  40. 77.

    Proactive Event Scheduler Proactive Event Scheduler 23 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  41. 79.

    Scheduling events 24 E1 E2 E3 Time From predictor Goal:

    minimize total energy while meeting deadlines
  42. 81.

    Objective: Problem Formulation 25 E1 E2 E3 Time ▸ Scheduling

    Problem → Constrained Optimization. N ∑ i Min. Energy (i)
  43. 82.

    Objective: Problem Formulation 25 E1 E2 E3 Time △Texe 1

    △Texe 2 △Texe 3 ▸ Scheduling Problem → Constrained Optimization. N ∑ i △Texe (i) x Min.
  44. 83.

    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.
  45. 84.

    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.
  46. 85.

    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.
  47. 86.

    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.
  48. 87.

    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.
  49. 88.

    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) +
  50. 89.

    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) +
  51. 90.

    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) +
  52. 91.

    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) +
  53. 92.

    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) +
  54. 93.

    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) +
  55. 94.

    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) +
  56. 95.

    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)
  57. 96.

    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) +
  58. 97.

    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}
  59. 98.

    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) ∑
  60. 99.

    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: ∑
  61. 100.

    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
  62. 101.

    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: ∑
  63. 102.

    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: ∑
  64. 107.

    PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Events Speculative Schedules Scheduler Predictions
  65. 108.

    PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Uncommitted Results Scheduler Predictions
  66. 109.

    PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Uncommitted Results Scheduler Predictions
  67. 110.

    PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Commit Uncommitted Results Scheduler Predictions
  68. 111.

    PES Putting Things Together 28 Web Application Hardware Architecture Predictor

    Controller Events Speculative Schedules Commit Uncommitted Results Recover Scheduler Predictions
  69. 112.

    Proactive Event Scheduler Proactive Event Scheduler 29 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  70. 113.

    Proactive Event Scheduler Proactive Event Scheduler 29 Result reduce energy

    consumption meanwhile improve QoS Prediction Web Program Analysis Machine Learning Scheduling Constraint Optimization
  71. 116.

    ODORID XU+E development board, which contains an Exynos 5410 SoC

    Experimental Setup 30 Implemented our framework in Chromium on top of Android system
  72. 117.

    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]
  73. 118.

    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
  74. 119.

    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
  75. 120.

    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)
  76. 122.

    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
  77. 123.

    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
  78. 124.

    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
  79. 125.

    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
  80. 126.

    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
  81. 127.

    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
  82. 128.

    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
  83. 129.

    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
  84. 130.

    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
  85. 131.

    Conclusion 33 ‣ To better satisfy the user experience while

    minimizing the energy, coordinating across events is crucial for event-driven applications.
  86. 132.

    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.
  87. 133.

    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.
  88. 135.