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

GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing

GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing

PLDI 2016 Presentation

Yuhao Zhu

June 15, 2016
Tweet

More Decks by Yuhao Zhu

Other Decks in Technology

Transcript

  1. GreenWeb:
    Language Extensions for
    Energy-Efficient
    Mobile Web Computing
    Yuhao Zhu
    The University of Texas at Austin

    with Vijay Janapa Reddi
    PLDI 2016
    1

    View Slide

  2. 2
    Web: Mobile Overtaking Desktop

    View Slide

  3. 0
    30
    60
    90
    120
    2011 2012 2013 2014 2015 2016
    2
    Source: BIA/Kelsey
    Search Volume (B)
    Web: Mobile Overtaking Desktop

    View Slide

  4. 0
    30
    60
    90
    120
    2011 2012 2013 2014 2015 2016
    2
    Source: BIA/Kelsey
    Search Volume (B)
    Mobile
    Desktop
    Web: Mobile Overtaking Desktop

    View Slide

  5. 0
    30
    60
    90
    120
    2011 2012 2013 2014 2015 2016
    2
    Source: BIA/Kelsey
    Search Volume (B)
    Mobile
    Desktop
    Web: Mobile Overtaking Desktop

    View Slide

  6. 3
    Web ≈ Mobile Web

    View Slide

  7. Energy Concern Among Mobile Developers
    4
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  8. Energy Concern Among Mobile Developers
    4
    Percentage (%)
    0
    25
    50
    75
    100
    Mobile Desktop Data Center
    Never/Rarely
    Sometimes
    Often/Almost Always
    “My applications
    have requirements
    about energy usage.”
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  9. Energy Concern Among Mobile Developers
    4
    Percentage (%)
    0
    25
    50
    75
    100
    Mobile Desktop Data Center
    Never/Rarely
    Sometimes
    Often/Almost Always
    “My applications
    have requirements
    about energy usage.”
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  10. Energy Concern Among Mobile Developers
    4
    Percentage (%)
    0
    25
    50
    75
    100
    Mobile Desktop Data Center
    Never/Rarely
    Sometimes
    Often/Almost Always
    “My applications
    have requirements
    about energy usage.”
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  11. Developers are Willing to Make Trade-offs
    5
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  12. Developers are Willing to Make Trade-offs
    5
    Percentage (%)
    0
    25
    50
    75
    100
    Mobile
    Never/Rarely
    Sometimes
    Often/Almost Always
    “I'm willing to sacrifice
    performance, etc. for
    reduced energy usage.”
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  13. Developers are Willing to Make Trade-offs
    5
    Percentage (%)
    0
    25
    50
    75
    100
    Mobile
    Never/Rarely
    Sometimes
    Often/Almost Always
    “I'm willing to sacrifice
    performance, etc. for
    reduced energy usage.”
    [ICSE 2016] Manotas et al., “An Empirical Study of Practitioners’ Perspectives on Green Software Engineering”

    View Slide

  14. Energy-efficiency
    6

    View Slide

  15. Quality-of-service Energy-efficiency
    6

    View Slide

  16. Quality-of-service Energy-efficiency
    Conflicting
    requirements
    6

    View Slide

  17. Quality-of-service Energy-efficiency
    Conflicting
    requirements
    7
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing

    View Slide

  18. 8
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing

    View Slide

  19. GreenWeb
    8
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing

    View Slide

  20. 9
    GreenWeb: Language for Energy-Efficiency
    ▸ Language abstractions for expressing QoS

    View Slide

  21. 9
    ▸ Runtime that saves energy while meeting
    the QoS constraints
    GreenWeb: Language for Energy-Efficiency
    ▸ Language abstractions for expressing QoS

    View Slide

  22. 9
    ▸ Runtime that saves energy while meeting
    the QoS constraints
    ▸ Result in 60% energy savings on real
    hardware/software implementations
    GreenWeb: Language for Energy-Efficiency
    ▸ Language abstractions for expressing QoS

    View Slide

  23. 9
    ▸ Runtime
    the QoS constraints
    ▸ Result
    hardware/software implementations
    GreenWeb: Language for Energy-Efficiency
    ▸ Language abstractions for expressing QoS

    View Slide

  24. 10
    What is QoS in mobile Web?

    View Slide

  25. 11
    Understanding Mobile Web QoS

    View Slide

  26. 11
    Performance
    QoS Experience
    Understanding Mobile Web QoS

    View Slide

  27. 11
    Performance
    QoS Experience
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
    Understanding Mobile Web QoS

    View Slide

  28. 11
    Performance
    QoS Experience
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
    Understanding Mobile Web QoS
    Too slow

    View Slide

  29. 11
    Performance
    QoS Experience
    Unusable
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
    Understanding Mobile Web QoS
    Too slow

    View Slide

  30. 11
    Performance
    QoS Experience
    Unusable Tolerable
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
    Understanding Mobile Web QoS
    Too slow

    View Slide

  31. 11
    Performance
    QoS Experience
    Unusable Tolerable
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
    Understanding Mobile Web QoS
    Too slow
    Diminishing
    Returns

    View Slide

  32. 11
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”
    Understanding Mobile Web QoS
    Too slow
    Diminishing
    Returns

    View Slide

  33. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  34. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  35. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  36. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  37. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    “Negative” Energy consumption
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  38. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  39. 12
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Understanding Mobile Web QoS
    Energy
    [OSDI 1996] Y. Endo et al., “Using Latency to Evaluate Interactive System Performance.”

    View Slide

  40. 13
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Abstracting Mobile Web QoS

    View Slide

  41. 13
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Abstracting Mobile Web QoS
    ▸ Performance metric

    ▹ Frame latency vs. Frame throughput

    View Slide

  42. 13
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Abstracting Mobile Web QoS
    ▸ Performance metric

    ▹ Frame latency vs. Frame throughput
    QoS Type

    View Slide

  43. 13
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Abstracting Mobile Web QoS
    ▸ Performance metric

    ▹ Frame latency vs. Frame throughput
    ▸ Threshold performance values

    ▹ Imperceptible target vs. Usable target
    QoS Type

    View Slide

  44. 13
    Performance
    QoS Experience
    Unusable Tolerable Imperceptible
    Abstracting Mobile Web QoS
    ▸ Performance metric

    ▹ Frame latency vs. Frame throughput
    ▸ Threshold performance values

    ▹ Imperceptible target vs. Usable target
    QoS Type
    QoS Target

    View Slide

  45. 14
    Expressing Mobile Web QoS

    View Slide


  46. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>



    14
    Expressing Mobile Web QoS

    View Slide


  47. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>



    14
    Expressing Mobile Web QoS
    element

    View Slide


  48. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>



    14
    Expressing Mobile Web QoS
    element event

    View Slide


  49. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>



    14
    Expressing Mobile Web QoS
    element event

    View Slide


  50. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>



    14
    Expressing Mobile Web QoS
    Expressing QoS at an event granularity
    element event

    View Slide

  51. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  52. <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  53. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  54. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  55. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  56. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  57. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  58. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  59. { : Type, Target}
    <br/>function animateMove() {<br/>/* Animation code omitted */<br/>}<br/>


    View Slide

  60. 16
    Original
    application
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    Manual Annotation

    View Slide

  61. 16
    Original
    application
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    Automatic Annotation?

    View Slide

  62. 16
    Original
    application
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    Automatic Annotation?
    ▸ AutoGreen: automatically reasons about
    and inserts GreenWeb annotations

    View Slide

  63. 16
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    Automatic Annotation?
    ▸ AutoGreen: automatically reasons about
    and inserts GreenWeb annotations
    DOM
    Tree

    View Slide

  64. ▸ AutoGreen: automatically reasons about
    and inserts GreenWeb annotations
    17
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process

    View Slide

  65. ▸ AutoGreen: automatically reasons about
    and inserts GreenWeb annotations
    17
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    Callback
    Instrumentation

    View Slide

  66. ▸ AutoGreen: automatically reasons about
    and inserts GreenWeb annotations
    17
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    QoS
    Information
    Event
    Profiling
    Callback
    Instrumentation

    View Slide

  67. ▸ AutoGreen: automatically reasons about
    and inserts GreenWeb annotations
    17
    GreenWeb-
    annotated
    application
    GreenWeb Annotation Process
    QoS
    Information
    Event
    Profiling
    Annotation
    Generation
    Callback
    Instrumentation

    View Slide

  68. ▸ Language abstractions for expressing QoS
    18
    ▸ Runtime
    the QoS constraints
    ▸ Result
    hardware/software implementations
    GreenWeb: Language for Energy-Efficiency

    View Slide

  69. ▸ Language abstractions
    18
    ▸ Runtime that saves energy while meeting
    the QoS constraints
    ▸ Result
    hardware/software implementations
    GreenWeb: Language for Energy-Efficiency

    View Slide

  70. 19
    GreenWeb Runtime Overview

    View Slide

  71. 19
    GreenWeb Runtime Overview
    Frame
    Event

    View Slide

  72. 19
    GreenWeb Runtime Overview
    Frame
    Event
    QoS
    Annotations

    View Slide

  73. 19
    GreenWeb Runtime Overview
    Frame
    Event
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective
    QoS
    Annotations

    View Slide

  74. QoS type: latency
    QoS target: 16 ms
    19
    GreenWeb Runtime Overview
    Frame
    Event
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective

    View Slide

  75. QoS type: latency
    QoS target: 16 ms
    19
    GreenWeb Runtime Overview
    Frame
    Event
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective

    View Slide

  76. QoS type: latency
    QoS target: 16 ms
    19
    GreenWeb Runtime Overview
    Frame
    Event
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective

    View Slide

  77. QoS type: latency
    QoS target: 16 ms
    19
    GreenWeb Runtime Overview
    Frame
    Event 16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective

    View Slide

  78. QoS type: latency
    QoS target: 16 ms
    throughput
    19
    GreenWeb Runtime Overview
    Frame
    Event 16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective

    View Slide

  79. QoS type: latency
    QoS target: 16 ms
    throughput
    19
    GreenWeb Runtime Overview
    Frame
    Event
    Frame
    Frame
    16 ms
    16 ms
    16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective

    View Slide

  80. 19
    GreenWeb Runtime Overview
    Frame
    Event
    Frame
    Frame
    Time
    Event
    16 ms
    16 ms
    16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective
    QoS target: 2 s

    View Slide

  81. 19
    GreenWeb Runtime Overview
    Frame
    Event
    Frame
    Frame
    Time
    Event Frame
    16 ms
    16 ms
    16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Runtime
    Objective
    2 s
    QoS target: 2 s

    View Slide

  82. 19
    GreenWeb Runtime Overview
    Frame
    Event
    Frame
    Frame
    Time
    Event Frame
    16 ms
    16 ms
    16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    {
    Runtime
    Objective
    2 s
    QoS target: 2 s

    View Slide

  83. 19
    GreenWeb Runtime Overview
    Frame
    Event
    Frame
    Frame
    Time
    Event Frame
    16 ms
    16 ms
    16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Frame Association
    {
    Runtime
    Objective
    1
    2 s

    View Slide

  84. 19
    GreenWeb Runtime Overview
    Frame
    Event
    Frame
    Frame
    Time
    Event Frame
    16 ms
    16 ms
    16 ms
    Enforcing event-level
    QoS at the frame-level
    energy-efficiently
    Frame Association
    Frame Scheduling
    {
    Runtime
    Objective
    1
    2
    2 s

    View Slide

  85. 20
    Frame Association
    Scripting Style Layout Paint Composite
    Frame
    Event

    View Slide

  86. 21
    Frame Association
    S S L P C
    Frame
    Event

    View Slide

  87. 21
    Frame Association
    S S L P C
    Frame
    Browser
    Process
    Renderer
    Process
    GPU
    Process
    Event

    View Slide

  88. 21
    Frame Association
    S S L
    P C
    Frame
    Browser
    Process
    Renderer
    Process
    GPU
    Process
    Event
    Main
    Thread
    Compositor
    Thread

    View Slide

  89. 21
    Frame Association
    S S L
    P C
    Frame
    Browser
    Process
    Renderer
    Process
    GPU
    Process
    Event
    Main
    Thread
    Compositor
    Thread
    IPC
    Inter-thread
    Message

    View Slide

  90. 22
    Frame Association
    S S L
    P C
    Frame
    Browser
    Process
    Renderer
    Process
    GPU
    Process
    Event
    Frame
    S S L
    P C

    View Slide

  91. 22
    Frame Association
    S S L
    P C
    Frame
    Browser
    Process
    Renderer
    Process
    GPU
    Process
    Event
    Frame
    S S L
    P C
    Distribute QoS information along
    with the communication messages

    View Slide

  92. Choices of Energy-saving Techniques
    23
    GreenWeb can
    support a range
    of energy saving
    techniques

    View Slide

  93. Choices of Energy-saving Techniques
    23
    GreenWeb can
    support a range
    of energy saving
    techniques
    ▹Dynamic resolution scaling [MobiCom 2015]
    ▹Power-saving display colors [MobiSys 2012]
    ▹Selective resource loading [NSDI 2015]

    View Slide

  94. Choices of Energy-saving Techniques
    23
    GreenWeb can
    support a range
    of energy saving
    techniques
    ▹Dynamic resolution scaling [MobiCom 2015]
    ▹Power-saving display colors [MobiSys 2012]
    ▹Selective resource loading [NSDI 2015]
    ▹ACMP-based hardware mechanism

    View Slide

  95. ACMP-based Hardware Substrate
    24

    View Slide

  96. ACMP-based Hardware Substrate
    24
    ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture

    View Slide

  97. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based Hardware Substrate
    24
    ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture

    View Slide

  98. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based Hardware Substrate
    24
    ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture
    Frequency
    Levels

    View Slide

  99. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based Hardware Substrate
    24
    ▸ Asymmetric Chip-multiprocessor, a.k.a., Big/Little architecture
    ▸ Already used in commodity devices (e.g., Samsung Galaxy S6)
    Frequency
    Levels

    View Slide

  100. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based GreenWeb Runtime
    25

    View Slide

  101. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based GreenWeb Runtime
    25
    ▸ Provide just enough energy to meet QoS constraints

    View Slide

  102. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based GreenWeb Runtime
    25
    ▸ Provide just enough energy to meet QoS constraints
    div {ontouchend: latency, 16 ms}

    View Slide

  103. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based GreenWeb Runtime
    25
    ▸ Provide just enough energy to meet QoS constraints
    16 ms
    div {ontouchend: latency, 16 ms}

    View Slide

  104. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based GreenWeb Runtime
    25
    ▸ Provide just enough energy to meet QoS constraints
    16 ms
    div {ontouchend: latency, 16 ms}

    View Slide

  105. Energy Consumption
    Performance
    Big Core
    Small Core
    ACMP-based GreenWeb Runtime
    25
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]

    View Slide

  106. Energy Consumption
    Performance
    ACMP-based GreenWeb Runtime
    26
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]
    Execution
    Time
    =
    [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits”
    Energy =

    View Slide

  107. Energy Consumption
    Performance
    ACMP-based GreenWeb Runtime
    26
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]
    Execution
    Time
    = Tmemory
    +
    [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits”
    Energy =

    View Slide

  108. Tcpu
    Energy Consumption
    Performance
    ACMP-based GreenWeb Runtime
    26
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]
    Execution
    Time
    = Tmemory
    +
    [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits”
    Energy =

    View Slide

  109. Energy Consumption
    Performance
    ACMP-based GreenWeb Runtime
    26
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]
    Execution
    Time
    = Tmemory
    + Ncycles / f
    [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits”
    Energy =

    View Slide

  110. Energy Consumption
    Performance
    ACMP-based GreenWeb Runtime
    26
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]
    Execution
    Time
    = Tmemory
    + Ncycles / f
    [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits”
    Energy =

    View Slide

  111. Energy Consumption
    Performance
    ACMP-based GreenWeb Runtime
    26
    ▸ Provide just enough energy to meet QoS constraints
    ▸ Event-based scheduling [HPCA 2015]
    Execution
    Time
    = Tmemory
    + Ncycles / f
    [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits”
    Energy = Execution
    Time
    x Power

    View Slide

  112. ▸ Language abstractions
    27
    ▸ Runtime that saves energy while meeting
    the QoS constraints
    ▸ Result
    hardware/software implementations
    GreenWeb: Language for Energy-Efficiency

    View Slide

  113. ▸ Language abstractions
    27
    ▸ Runtime
    the QoS constraints
    ▸ Result in 60% energy savings on real
    hardware/software implementations
    GreenWeb: Language for Energy-Efficiency

    View Slide

  114. Real Hardware/Software Setup
    28
    ODroid XU+E development board,
    which contains an Exynos 5410 SoC
    used in Samsung Galaxy S4.

    View Slide

  115. Real Hardware/Software Setup
    28
    ODroid XU+E development board,
    which contains an Exynos 5410 SoC
    used in Samsung Galaxy S4.
    Implementation incorporated into
    Chrome running on Android.

    View Slide

  116. Real Hardware/Software Setup
    28
    ODroid XU+E development board,
    which contains an Exynos 5410 SoC
    used in Samsung Galaxy S4.
    Implementation incorporated into
    Chrome running on Android.
    UI-level record and replay for
    reproducibility. [ISPASS’15]

    View Slide

  117. Evaluation
    ▸Baseline Mechanisms
    ▹Highest performance (Perf) — Standard to guarantee responsiveness
    ▹Interactive governor (Interactive) — Android default
    29
    29

    View Slide

  118. Evaluation
    ▸Baseline Mechanisms
    ▹Highest performance (Perf) — Standard to guarantee responsiveness
    ▹Interactive governor (Interactive) — Android default
    29
    ▸Metrics
    ▹Energy Saving
    ▹QoS Violation
    29

    View Slide

  119. Evaluation
    ▸Baseline Mechanisms
    ▹Highest performance (Perf) — Standard to guarantee responsiveness
    ▹Interactive governor (Interactive) — Android default
    29
    ▸Metrics
    ▹Energy Saving
    ▹QoS Violation
    29
    ▸Applications
    ▹Top webpages (e.g., www.amazon.com)
    ▹Web Apps based on popular frameworks (e.g., Todo List)

    View Slide

  120. 30
    Norm. Energy
    0.0
    0.3
    0.5
    0.8
    1.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    GreenWeb Interactive Perf
    Evaluation Results

    View Slide

  121. 31
    Norm. Energy
    0.0
    0.3
    0.5
    0.8
    1.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    GreenWeb Interactive Perf
    Evaluation Results

    View Slide

  122. 32
    Norm. Energy
    0.0
    0.3
    0.5
    0.8
    1.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    GreenWeb Interactive Perf
    Evaluation Results

    View Slide

  123. 33
    Evaluation Results
    QoS Violations (%)
    0.0
    0.8
    1.5
    2.3
    3.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    Norm. Energy
    0.0
    0.3
    0.5
    0.8
    1.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    GreenWeb Interactive Perf

    View Slide

  124. Norm. Energy
    0.0
    0.3
    0.5
    0.8
    1.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    GreenWeb Interactive Perf
    34
    Evaluation Results
    QoS Violations (%)
    0.0
    0.8
    1.5
    2.3
    3.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    No QoS
    Violations

    View Slide

  125. Norm. Energy
    0.0
    0.3
    0.5
    0.8
    1.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    GreenWeb Interactive Perf
    34
    Evaluation Results
    QoS Violations (%)
    0.0
    0.8
    1.5
    2.3
    3.0
    CamanJS
    Craigslist
    Paperjs
    Goo
    Google
    Todo
    CNet
    BBC
    LZMA-JS
    Amazon
    W3School
    MSN
    29.2% - 66.0% energy savings, 0.8% more QoS violations
    No QoS
    Violations

    View Slide

  126. 35
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing

    View Slide

  127. 35
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing
    Abstraction Express QoS constraints

    View Slide

  128. 35
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing
    Abstraction Express QoS constraints
    Runtime Satisfy QoS specifications using
    energy saving techniques

    View Slide

  129. 35
    GreenWeb
    Programming language support for
    balancing energy-efficiency and QoS
    in mobile Web computing
    Abstraction Express QoS constraints
    Runtime Satisfy QoS specifications using
    energy saving techniques
    Effect Significant energy savings

    View Slide

  130. 36
    wattwiseweb.org

    View Slide

  131. 37
    GreenWeb:
    Language Extensions for
    Energy-Efficient
    Mobile Web Computing
    Yuhao Zhu
    The University of Texas at Austin

    with Vijay Janapa Reddi
    PLDI 2016

    View Slide