$30 off During Our Annual Pro Sale. View Details »

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

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

    View Slide

  2. Ubiquity of Mobile devices
    2

    View Slide

  3. Ubiquity of Mobile devices
    2

    View Slide

  4. Ubiquity of Mobile devices
    3

    View Slide

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

    View Slide

  6. Ubiquity of Mobile devices
    3
    ▸2x times mobile users than
    desktop users
    ▸76% of population are using
    mobile devices daily

    View Slide

  7. Mobile Applications are Event-Driven
    4

    View Slide

  8. Mobile Applications are Event-Driven
    4

    View Slide

  9. Mobile Applications are Event-Driven
    4
    Typing
    Interactions
    ISCA 2019

    View Slide

  10. Mobile Applications are Event-Driven
    4
    Scrolling
    Typing
    Interactions
    ISCA 2019

    View Slide

  11. Mobile Applications are Event-Driven
    4
    Scrolling
    Tapping
    Typing
    Interactions
    ISCA 2019

    View Slide

  12. Mobile Applications are Event-Driven
    4
    Scrolling
    Tapping
    scrollstart
    scrollupdate
    scrollend
    tapdown
    Tapup
    Keypress
    Typing
    Interactions Events
    ISCA 2019

    View Slide

  13. View Slide

  14. View Slide

  15. Event-Driven Execution Model
    6
    Event

    View Slide

  16. Event-Driven Execution Model
    6
    touchmove
    onclick
    timer

    Time
    Event Queue
    Push
    Event

    View Slide

  17. Event-Driven Execution Model
    7
    touchmove
    onclick
    timer

    Time
    Event Queue
    Fetch
    Runtime
    Scheduler
    Core

    View Slide

  18. Event-Driven Execution Model
    7
    touchmove
    onclick
    timer

    Time
    Event Queue
    Fetch
    Runtime
    Scheduler
    Core
    Scheduling knobs:

    DVFS settings

    View Slide

  19. Inefficiency of Current Schedulers
    8

    View Slide

  20. Inefficiency of Current Schedulers
    8
    Time

    View Slide

  21. Inefficiency of Current Schedulers
    8
    Time
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2

    View Slide

  22. Inefficiency of Current Schedulers
    8
    Time
    OS Governor
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2

    View Slide

  23. Inefficiency of Current Schedulers
    8
    Time
    OS Governor
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2
    E1

    View Slide

  24. Inefficiency of Current Schedulers
    8
    Time
    OS Governor
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2
    E1 slack

    View Slide

  25. Inefficiency of Current Schedulers
    8
    Time
    OS Governor
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2
    E1 E2
    slack

    View Slide

  26. Inefficiency of Current Schedulers
    9
    Time
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2
    E1 E2
    OS Governor

    View Slide

  27. Inefficiency of Current Schedulers
    9
    Time
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2
    E1 E2
    QoS-Aware
    OS Governor

    View Slide

  28. Inefficiency of Current Schedulers
    9
    Time
    input 1 input 2
    QoS

    Deadline 1
    QoS

    Deadline 2
    E1 E2
    E1
    QoS-Aware
    OS Governor

    View Slide

  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

    View Slide

  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
    ?

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  34. Inefficiency of Current Schedulers
    11
    Time
    E1 E2 E3 E4 E5
    Schedule across events

    View Slide

  35. Inefficiency of Current Schedulers
    12
    Time
    E1 E2 E3 E4 E5
    Current
    events

    View Slide

  36. Inefficiency of Current Schedulers
    12
    Time
    E1 E2 E3 E4 E5
    Current
    events
    Future events

    View Slide

  37. Proactive Event Scheduler
    13

    View Slide

  38. Proactive Event Scheduler
    Proactive Event Scheduler
    13

    View Slide

  39. Proactive Event Scheduler
    Proactive Event Scheduler
    13
    Prediction
    Web Program

    Analysis
    Machine

    Learning

    View Slide

  40. Proactive Event Scheduler
    Proactive Event Scheduler
    13
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  41. Proactive Event Scheduler
    Proactive Event Scheduler
    13
    Result reduce energy consumption while improving QoS
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  42. Proactive Event Scheduler
    Proactive Event Scheduler
    13
    Result reduce energy consumption while improving QoS
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  43. Event Sequence Learning
    14
    Prediction
    Model

    View Slide

  44. Event Sequence Learning
    14
    Time
    E1 E2 E3
    Event Sequence
    Prediction
    Model

    View Slide

  45. Event Sequence Learning
    14
    Time
    E1 E2 E3 ?
    Event Sequence
    Prediction
    Model

    View Slide

  46. Event Sequence Learning
    14
    Time
    E1 E2 E3 ?
    Event Sequence
    Prediction
    Model

    View Slide

  47. Event Sequence Learning
    14
    Time
    E1 E2 E3 ?
    Event Sequence
    E4
    Prediction
    Model

    View Slide

  48. Event Sequence Learning
    14
    Time
    E1 E2 E3 ?
    Event Sequence
    E4
    Prediction
    Model

    View Slide

  49. Recurrent Prediction
    15
    Time
    E1 E2 E3 E4
    Event Sequence
    Prediction
    Model

    View Slide

  50. Recurrent Prediction
    15
    Time
    E1 E2 E3 E4
    Event Sequence
    Prediction
    Model

    View Slide

  51. Recurrent Prediction
    15
    Time
    E1 E2 E3 E4
    Event Sequence
    E5
    Prediction
    Model

    View Slide

  52. Recurrent Prediction
    15
    Time
    E1 E2 E3 E4
    Event Sequence
    E5
    Prediction
    Model

    View Slide

  53. Recurrent Prediction
    15
    Time
    E1 E2 E3 E4
    Event Sequence
    E5

    Prediction
    Model

    View Slide

  54. Prediction Model
    16
    Prediction
    Model

    View Slide

  55. Prediction Model
    17
    Prediction
    Model

    View Slide

  56. Prediction Model
    17
    Prediction
    Model
    The distance of click
    The number of scrolls
    The number of navigations
    Features

    encoding

    past
    interactions

    View Slide

  57. Prediction Model
    18
    Features

    encoding

    past

    interactions
    ln(
    p
    1 − p
    ) =
    x
    β
    Prediction
    Model

    View Slide

  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

    View Slide

  59. Prediction Model
    19
    Features

    encoding

    past

    interactions
    Click
    ScrollUp
    ScrollDown
    ZoomIn
    ZoomOut

    Prediction
    Model

    View Slide

  60. Prediction Model
    19
    Features

    encoding

    past

    interactions
    Click
    ScrollUp
    ScrollDown
    ZoomIn
    ZoomOut

    Prediction
    Model
    All

    Event Types

    View Slide

  61. Prediction Model
    19
    Features

    encoding

    past

    interactions
    Click
    ScrollUp
    ScrollDown
    ZoomIn
    ZoomOut

    Prediction
    Model
    Filter

    Events
    ?

    View Slide

  62. 20
    Program Analysis

    View Slide

  63. 20
    Program Analysis

    View Slide

  64. 20
    Program Analysis

    View Slide

  65. 20
    Program Analysis
    Viewport

    View Slide

  66. 20











    Program Analysis
    DOM Tree
    Viewport

    View Slide

  67. 20











    Viewport
    Program Analysis
    DOM Tree
    Viewport

    View Slide

  68. 20











    Viewport
    Program Analysis
    DOM Tree
    Viewport

    View Slide

  69. 20











    Viewport
    Program Analysis
    DOM Tree
    Viewport

    View Slide

  70. 20











    Viewport
    Program Analysis
    DOM Tree
    Viewport

    View Slide

  71. Include Program Analysis Features
    21
    Features

    encoding

    past

    interactions
    Click
    ScrollUp
    ScrollDown
    ZoomIn
    ZoomOut

    Prediction
    Model

    View Slide

  72. Overview of Predictor
    22
    Past Event

    Statistics
    Current Application

    State
    Click
    ScrollUp
    ScrollDown
    ZoomIn
    ZoomOut

    +
    Prediction
    Model

    View Slide

  73. Overview of Predictor
    22
    Past Event

    Statistics
    Current Application

    State
    Click
    ScrollUp
    ScrollDown
    ZoomIn
    ZoomOut

    +
    Prediction
    Model
    Recurrent

    View Slide

  74. Overview of Predictor
    22

    View Slide

  75. Overview of Predictor
    22
    High Accuracy, low overhead!

    View Slide

  76. Proactive Event Scheduler
    Proactive Event Scheduler
    23
    Result reduce energy consumption meanwhile improve QoS
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  77. Proactive Event Scheduler
    Proactive Event Scheduler
    23
    Result reduce energy consumption meanwhile improve QoS
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  78. Scheduling events
    24
    E1 E2 E3
    Time
    From

    predictor

    View Slide

  79. Scheduling events
    24
    E1 E2 E3
    Time
    From

    predictor
    Goal: minimize total energy while meeting deadlines

    View Slide

  80. Problem Formulation
    25
    E1 E2 E3
    Time
    ▸ Scheduling Problem → Constrained Optimization.

    View Slide

  81. Objective:
    Problem Formulation
    25
    E1 E2 E3
    Time
    ▸ Scheduling Problem → Constrained Optimization.
    N

    i
    Min. Energy (i)

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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.

    View Slide

  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)
    +

    View Slide

  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)
    +

    View Slide

  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)
    +

    View Slide

  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)
    +

    View Slide

  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)
    +

    View Slide

  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)
    +

    View Slide

  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)
    +

    View Slide

  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)

    View Slide

  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)
    +

    View Slide

  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}

    View Slide

  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)

    View Slide

  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: ∑

    View Slide

  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

    View Slide

  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: ∑

    View Slide

  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: ∑

    View Slide

  103. Putting Things Together
    28
    Web Application
    Hardware Architecture

    View Slide

  104. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture

    View Slide

  105. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Events

    View Slide

  106. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Events
    Scheduler
    Predictions

    View Slide

  107. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Events
    Speculative

    Schedules
    Scheduler
    Predictions

    View Slide

  108. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Controller
    Events
    Speculative

    Schedules
    Uncommitted

    Results
    Scheduler
    Predictions

    View Slide

  109. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Controller
    Events
    Speculative

    Schedules
    Uncommitted

    Results
    Scheduler
    Predictions

    View Slide

  110. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Controller
    Events
    Speculative

    Schedules
    Commit
    Uncommitted

    Results
    Scheduler
    Predictions

    View Slide

  111. PES
    Putting Things Together
    28
    Web Application
    Hardware Architecture
    Predictor
    Controller
    Events
    Speculative

    Schedules
    Commit
    Uncommitted

    Results
    Recover
    Scheduler
    Predictions

    View Slide

  112. Proactive Event Scheduler
    Proactive Event Scheduler
    29
    Result reduce energy consumption meanwhile improve QoS
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  113. Proactive Event Scheduler
    Proactive Event Scheduler
    29
    Result reduce energy consumption meanwhile improve QoS
    Prediction
    Web Program

    Analysis
    Machine

    Learning
    Scheduling
    Constraint Optimization

    View Slide

  114. Experimental Setup
    30

    View Slide

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

    View Slide

  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

    View Slide

  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]

    View Slide

  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

    View Slide

  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

    View Slide

  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)

    View Slide

  121. Experimental Result
    32

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  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.

    View Slide

  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.

    View Slide

  134. PES can be applied to
    other event-driven applications!

    View Slide

  135. Thanks

    View Slide