Slide 1

Slide 1 text

1 Energy-Efficient Mobile Web Computing Sept. 7th, 2016 Yuhao Zhu Electrical and Computer Engineering Department The University of Texas at Austin Advisor: Vijay Janapa Reddi

Slide 2

Slide 2 text

2 1990 HTML The Web Evolution

Slide 3

Slide 3 text

2 1990 HTML The Web Evolution

Slide 4

Slide 4 text

2 1990 HTML 1996 JavaScript The Web Evolution

Slide 5

Slide 5 text

2 1990 HTML 1996 JavaScript 2008 Mobile Web The Web Evolution

Slide 6

Slide 6 text

2 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web The Web Evolution

Slide 7

Slide 7 text

2 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web The Web Evolution Functionality

Slide 8

Slide 8 text

2 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web The Web Evolution Functionality Performance

Slide 9

Slide 9 text

2 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web 2016 Watt Wise Web The Web Evolution Functionality Performance Energy

Slide 10

Slide 10 text

2 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web 2016 Watt Wise Web The Web Evolution Functionality Performance Energy

Slide 11

Slide 11 text

3 Web: Mobile Overtaking Desktop

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

4 Web ≈ Mobile Web

Slide 17

Slide 17 text

5 The Scope of Mobile Web Mobile Client

Slide 18

Slide 18 text

5 The Scope of Mobile Web Mobile Client Cloud Web Servers

Slide 19

Slide 19 text

5 The Scope of Mobile Web Mobile Client Cloud Web Servers Cellular Network

Slide 20

Slide 20 text

5 The Scope of Mobile Web Mobile Client Cloud Web Servers Cellular Network

Slide 21

Slide 21 text

5 The Scope of Mobile Web Mobile Client Cloud Web Servers Cellular Network [MICRO 2015] (Top Picks Honorable Mention)

Slide 22

Slide 22 text

6 The Scope of Mobile Web Mobile Client Cellular Network

Slide 23

Slide 23 text

6 The Scope of Mobile Web Mobile Client Cellular Network

Slide 24

Slide 24 text

7 Isn’t Mobile Web a Network Issue? Mobile Client Cellular Network

Slide 25

Slide 25 text

38 32 26 20 14 8 2 Load time (s) 10 2 3 4 5 6 7 8 100 2 3 4 5 6 7 8 1000 2 Network RTT (ms) 8 Isn’t Mobile Web a Network Issue?

Slide 26

Slide 26 text

38 32 26 20 14 8 2 Load time (s) 10 2 3 4 5 6 7 8 100 2 3 4 5 6 7 8 1000 2 Network RTT (ms) 8 Isn’t Mobile Web a Network Issue? ▸ Samsung Galaxy S4 smartphone. ▸ Hot webpages from Alexa1. ▸ Time measured using Navigation Timing API2. 1. http://www.alexa.com/ 2. https://www.w3.org/TR/navigation-timing-2/

Slide 27

Slide 27 text

38 32 26 20 14 8 2 Load time (s) 10 2 3 4 5 6 7 8 100 2 3 4 5 6 7 8 1000 2 Network RTT (ms) 8 LTE 3G Adverse 3G 2G Wi-Fi Isn’t Mobile Web a Network Issue? ▸ Samsung Galaxy S4 smartphone. ▸ Hot webpages from Alexa1. ▸ Time measured using Navigation Timing API2. 1. http://www.alexa.com/ 2. https://www.w3.org/TR/navigation-timing-2/

Slide 28

Slide 28 text

38 32 26 20 14 8 2 Load time (s) 10 2 3 4 5 6 7 8 100 2 3 4 5 6 7 8 1000 2 Network RTT (ms) 8 LTE 3G Adverse 3G 2G Wi-Fi Isn’t Mobile Web a Network Issue? ▸ Samsung Galaxy S4 smartphone. ▸ Hot webpages from Alexa1. ▸ Time measured using Navigation Timing API2. 1. http://www.alexa.com/ 2. https://www.w3.org/TR/navigation-timing-2/

Slide 29

Slide 29 text

38 32 26 20 14 8 2 Load time (s) 10 2 3 4 5 6 7 8 100 2 3 4 5 6 7 8 1000 2 Network RTT (ms) 8 LTE 3G Adverse 3G 2G Wi-Fi Isn’t Mobile Web a Network Issue? ▸ Samsung Galaxy S4 smartphone. ▸ Hot webpages from Alexa1. ▸ Time measured using Navigation Timing API2. 1. http://www.alexa.com/ 2. https://www.w3.org/TR/navigation-timing-2/

Slide 30

Slide 30 text

9 Mobile Web is also a Compute Issue! Mobile Client Cellular Network

Slide 31

Slide 31 text

9 Mobile Web is also a Compute Issue! Mobile Client Cellular Network My Work

Slide 32

Slide 32 text

10 Traditional Approach

Slide 33

Slide 33 text

10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render

Slide 34

Slide 34 text

10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application

Slide 35

Slide 35 text

▸ Parallelize browser computation 10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application

Slide 36

Slide 36 text

▸ Parallelize browser computation 10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture

Slide 37

Slide 37 text

▸ Parallelize browser computation 10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture ▸ Voltage/frequency scaling on general-purpose processors

Slide 38

Slide 38 text

▸ Parallelize browser computation 10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Inputs Architecture ▸ Voltage/frequency scaling on general-purpose processors

Slide 39

Slide 39 text

▸ Parallelize browser computation ▸ Ignored! 10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Inputs Architecture ▸ Voltage/frequency scaling on general-purpose processors

Slide 40

Slide 40 text

▸ Parallelize browser computation ▸ Ignored! 10 Traditional Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Inputs Architecture ▸ Voltage/frequency scaling on general-purpose processors ▸ End of Dennard Scaling! ▸ Diminishing return

Slide 41

Slide 41 text

▸ Parallelize browser computation ▸ Ignored! 11 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Inputs Architecture WebCore Web-specific Architecture

Slide 42

Slide 42 text

▸ Parallelize browser computation 11 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Inputs Architecture ▸ Lost page-level diversity ▸ Lost user QoS requirements WebCore Web-specific Architecture

Slide 43

Slide 43 text

▸ Parallelize browser computation 11 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture ▸ Lost page-level diversity ▸ Lost user QoS requirements WebCore Web-specific Architecture

Slide 44

Slide 44 text

12 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture WebCore Web-specific Architecture GreenWeb Language Extensions

Slide 45

Slide 45 text

12 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture WebCore Web-specific Architecture GreenWeb Language Extensions Runtime

Slide 46

Slide 46 text

12 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture WebCore Web-specific Architecture GreenWeb Language Extensions Runtime

Slide 47

Slide 47 text

12 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture WebCore Web-specific Architecture GreenWeb Language Extensions Runtime

Slide 48

Slide 48 text

WebRT Energy-aware Web Runtime 12 My Approach Frameworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Application Architecture WebCore Web-specific Architecture GreenWeb Language Extensions Runtime

Slide 49

Slide 49 text

Runtime 13 My Approach Architecture Application WebRT Energy-aware Web Runtime WebCore Web-specific Architecture GreenWeb Language Extensions

Slide 50

Slide 50 text

Runtime 13 My Approach Architecture Application My Dissertation Work WebRT Energy-aware Web Runtime WebCore Web-specific Architecture GreenWeb Language Extensions [PLDI 2016] [ISCA 2014] [HPCA 2013] [HPCA 2015] [CAL 2014] (Best of CAL)

Slide 51

Slide 51 text

Thesis Statement 14

Slide 52

Slide 52 text

Thesis Statement 14 Future mobile Web systems can achieve energy-efficiency without sacrificing responsiveness by incorporating:

Slide 53

Slide 53 text

Thesis Statement 14 ▸ Programming language annotations to convey user QoS information ▸ Runtime scheduling mechanisms to exploit heterogeneous hardware ▸ Hardware accelerators specialized for the key computation kernel Future mobile Web systems can achieve energy-efficiency without sacrificing responsiveness by incorporating:

Slide 54

Slide 54 text

Runtime 15 My Approach Architecture Application My Dissertation Work WebRT Energy-aware Web Runtime WebCore Web-specific Architecture GreenWeb Language Extensions

Slide 55

Slide 55 text

Runtime 15 My Approach Architecture Application My Dissertation Work WebRT Energy-aware Web Runtime WebCore Web-specific Architecture GreenWeb Language Extensions

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

Energy Concern Among Mobile Developers 16 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”

Slide 58

Slide 58 text

Energy Concern Among Mobile Developers 16 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”

Slide 59

Slide 59 text

Energy Concern Among Mobile Developers 16 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”

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

Developers are Willing to Make Trade-offs 17 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”

Slide 62

Slide 62 text

Developers are Willing to Make Trade-offs 17 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”

Slide 63

Slide 63 text

Energy-efficiency 18

Slide 64

Slide 64 text

Quality-of-service Energy-efficiency 18

Slide 65

Slide 65 text

Quality-of-service Energy-efficiency Conflicting requirements 18

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

20 GreenWeb Programming language support for balancing energy-efficiency and QoS in mobile Web computing

Slide 68

Slide 68 text

GreenWeb 20 GreenWeb Programming language support for balancing energy-efficiency and QoS in mobile Web computing

Slide 69

Slide 69 text

21 GreenWeb: Language for Energy-Efficiency ▸ Language abstractions for expressing QoS

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

21 ▸ 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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

22 What is QoS in mobile Web?

Slide 74

Slide 74 text

23 Understanding Mobile Web QoS

Slide 75

Slide 75 text

23 Performance QoS Experience Understanding Mobile Web QoS

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

23 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

Slide 81

Slide 81 text

23 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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

24 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.”

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

25 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web QoS

Slide 90

Slide 90 text

25 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web QoS ▸ Performance metric ▹ Frame latency vs. Frame throughput

Slide 91

Slide 91 text

25 Performance QoS Experience Unusable Tolerable Imperceptible Abstracting Mobile Web QoS ▸ Performance metric ▹ Frame latency vs. Frame throughput QoS Type

Slide 92

Slide 92 text

25 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

Slide 93

Slide 93 text

25 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

Slide 94

Slide 94 text

26 Expressing Mobile Web QoS

Slide 95

Slide 95 text

function animateMove() { /* Animation code omitted */ }
26 Expressing Mobile Web QoS

Slide 96

Slide 96 text

function animateMove() { /* Animation code omitted */ }
26 Expressing Mobile Web QoS element

Slide 97

Slide 97 text

function animateMove() { /* Animation code omitted */ }
26 Expressing Mobile Web QoS element event

Slide 98

Slide 98 text

function animateMove() { /* Animation code omitted */ }
26 Expressing Mobile Web QoS element event

Slide 99

Slide 99 text

function animateMove() { /* Animation code omitted */ }
26 Expressing Mobile Web QoS Expressing QoS at an event granularity element event

Slide 100

Slide 100 text

function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation element event

Slide 101

Slide 101 text

function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation element event div { } ontouchend

Slide 102

Slide 102 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation element event div { } ontouchend: throughput, low;

Slide 103

Slide 103 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation element event div { } ontouchend: throughput, low;

Slide 104

Slide 104 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation element event div { } ontouchend: throughput, low;

Slide 105

Slide 105 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } element event div { } ontouchend: throughput, low;

Slide 106

Slide 106 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } Implementation independent element event div { } ontouchend: throughput, low;

Slide 107

Slide 107 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } Implementation independent element event div { } ontouchend: throughput, low;

Slide 108

Slide 108 text

{ : Type, Target} function animateMove() { /* Animation code omitted */ }
27 Expressing Mobile Web QoS Annotation function newAnimateMove() { /* New animation code */ } Implementation independent Non-interfering w.r.t. functionality element event div { } ontouchend: throughput, low;

Slide 109

Slide 109 text

28 Original application GreenWeb- annotated application GreenWeb Annotation Process Manual Annotation

Slide 110

Slide 110 text

28 Original application GreenWeb- annotated application GreenWeb Annotation Process Automatic Annotation?

Slide 111

Slide 111 text

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

Slide 112

Slide 112 text

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

Slide 113

Slide 113 text

▸ AutoGreen: automatically reasons about and inserts GreenWeb annotations 29 GreenWeb- annotated application GreenWeb Annotation Process

Slide 114

Slide 114 text

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

Slide 115

Slide 115 text

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

Slide 116

Slide 116 text

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

Slide 117

Slide 117 text

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

Slide 118

Slide 118 text

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

Slide 119

Slide 119 text

31 GreenWeb Runtime Overview

Slide 120

Slide 120 text

31 GreenWeb Runtime Overview Frame Event

Slide 121

Slide 121 text

31 GreenWeb Runtime Overview Frame Event QoS Annotations

Slide 122

Slide 122 text

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

Slide 123

Slide 123 text

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

Slide 124

Slide 124 text

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

Slide 125

Slide 125 text

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

Slide 126

Slide 126 text

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

Slide 127

Slide 127 text

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

Slide 128

Slide 128 text

QoS type: latency QoS target: 16 ms throughput 31 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

Slide 129

Slide 129 text

31 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

Slide 130

Slide 130 text

31 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

Slide 131

Slide 131 text

31 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

Slide 132

Slide 132 text

31 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

Slide 133

Slide 133 text

31 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

Slide 134

Slide 134 text

32 Frame Association Scripting Style Layout Paint Composite Frame Event

Slide 135

Slide 135 text

33 Frame Association S S L P C Frame Event

Slide 136

Slide 136 text

33 Frame Association S S L P C Frame Browser Process Renderer Process GPU Process Event

Slide 137

Slide 137 text

33 Frame Association S S L P C Frame Browser Process Renderer Process GPU Process Event Main Thread Compositor Thread

Slide 138

Slide 138 text

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

Slide 139

Slide 139 text

34 Frame Association S S L P C Frame Browser Process Renderer Process GPU Process Event Frame S S L P C

Slide 140

Slide 140 text

34 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

Slide 141

Slide 141 text

Choices of Energy-saving Techniques 35 GreenWeb can support a range of energy saving techniques

Slide 142

Slide 142 text

Choices of Energy-saving Techniques 35 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]

Slide 143

Slide 143 text

Choices of Energy-saving Techniques 35 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 (WebRT)

Slide 144

Slide 144 text

Asymmetric Chip-multiprocessor 36

Slide 145

Slide 145 text

Asymmetric Chip-multiprocessor 36 ▸ Offer a large performance-energy trade-off space

Slide 146

Slide 146 text

Energy Consumption Performance Big Core Small Core Asymmetric Chip-multiprocessor 36 ▸ Offer a large performance-energy trade-off space

Slide 147

Slide 147 text

Energy Consumption Performance Big Core Small Core Asymmetric Chip-multiprocessor 36 ▸ Offer a large performance-energy trade-off space Frequency Levels

Slide 148

Slide 148 text

Energy Consumption Performance Big Core Small Core Asymmetric Chip-multiprocessor 36 ▸ Offer a large performance-energy trade-off space ▸ Already used in commodity devices (e.g., Samsung Galaxy S6) Frequency Levels

Slide 149

Slide 149 text

Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime 37 ▸Provide just enough energy to meet QoS constraints Frequency Levels

Slide 150

Slide 150 text

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

Slide 151

Slide 151 text

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

Slide 152

Slide 152 text

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

Slide 153

Slide 153 text

Energy Consumption Performance Big Core Small Core ACMP-based GreenWeb Runtime 37 ▸Provide just enough energy to meet QoS constraints Predict the performance and energy of each configuration!

Slide 154

Slide 154 text

Different Strategies for Different Events 38 Loading Touching Moving Events

Slide 155

Slide 155 text

Different Strategies for Different Events 38 Loading Touching Moving Events Once per usage session

Slide 156

Slide 156 text

Different Strategies for Different Events 38 Loading Touching Moving Events Proactive Mechanism WebRT Component

Slide 157

Slide 157 text

Different Strategies for Different Events 38 Loading Touching Moving Events Proactive Mechanism WebRT Component Repetitive in a usage session

Slide 158

Slide 158 text

Different Strategies for Different Events 38 Loading Touching Moving Events Proactive Mechanism WebRT Component Adaptive Mechanism

Slide 159

Slide 159 text

39 Loading Touching Moving Events Proactive Mechanism WebRT Component Adaptive Mechanism Different Strategies for Different Events

Slide 160

Slide 160 text

40 Breaking Down the Computations 40

Slide 161

Slide 161 text

40 Breaking Down the Computations HTML (Structure) CSS (Style) 40

Slide 162

Slide 162 text

40 Breaking Down the Computations Tag Attribute HTML (Structure) CSS (Style) 40

Slide 163

Slide 163 text

40 Breaking Down the Computations Tag Attribute HTML (Structure) CSS (Style) Selector Property 40

Slide 164

Slide 164 text

40 Breaking Down the Computations DOM Tree Tag Attribute HTML (Structure) CSS (Style) Selector Property 40

Slide 165

Slide 165 text

40 Breaking Down the Computations DOM Tree Tag Attribute HTML (Structure) CSS (Style) Selector Property 40 Web Primitives

Slide 166

Slide 166 text

Predicting Loading Performance & Energy 41 Idea: predict load time & energy (responses) based on Web primitives (predictors)

Slide 167

Slide 167 text

Predicting Loading Performance & Energy 41 Identify Predictors Training using top 2,500 webpages Predictors (HTML, CSS) Responses (Time, Energy)

Slide 168

Slide 168 text

Predicting Loading Performance & Energy 41 Identify Predictors Training using top 2,500 webpages Model Construction & Refinement Refine the linear model Predictors (HTML, CSS) Responses (Time, Energy) Mitigate Over-fitting Model Non-Linearity Linear Regression

Slide 169

Slide 169 text

Predicting Loading Performance & Energy 41 Identify Predictors Training using top 2,500 webpages Model Construction & Refinement Refine the linear model Model Validation Validating on another 2,500 webpages Predictors (HTML, CSS) Responses (Time, Energy) Mitigate Over-fitting Model Non-Linearity Linear Regression Loading Time Model Energy Model

Slide 170

Slide 170 text

42 0.00 0.05 0.10 0.15 0.20 performance ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0.00 0.05 0.10 0.15 0.20 energy Median prediction error is less than 5% Predicting Loading Performance & Energy

Slide 171

Slide 171 text

43 Loading Touching Moving Interactions Proactive Mechanism WebRT Component Adaptive Mechanism Different Strategies for Different Events

Slide 172

Slide 172 text

43 Loading Touching Moving Interactions Proactive Mechanism WebRT Component Adaptive Mechanism Different Strategies for Different Events

Slide 173

Slide 173 text

Energy Consumption Performance ACMP-based GreenWeb Runtime 44 Execution Time = [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =

Slide 174

Slide 174 text

Energy Consumption Performance ACMP-based GreenWeb Runtime 44 Execution Time = Tmemory + [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =

Slide 175

Slide 175 text

Tcpu Energy Consumption Performance ACMP-based GreenWeb Runtime 44 Execution Time = Tmemory + [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =

Slide 176

Slide 176 text

Energy Consumption Performance ACMP-based GreenWeb Runtime 44 Execution Time = Tmemory + Ncycles / f [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =

Slide 177

Slide 177 text

Energy Consumption Performance ACMP-based GreenWeb Runtime 44 Execution Time = Tmemory + Ncycles / f [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy =

Slide 178

Slide 178 text

Energy Consumption Performance ACMP-based GreenWeb Runtime 44 Execution Time = Tmemory + Ncycles / f [PLDI 2003] Xie, et al., “Compile-Time Dynamic Voltage Scaling Settings: Opportunities and Limits” Energy = Execution Time x Power

Slide 179

Slide 179 text

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

Slide 180

Slide 180 text

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

Slide 181

Slide 181 text

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

Slide 182

Slide 182 text

Real Hardware/Software Setup 46 ODroid XU+E development board, which contains an Exynos 5410 SoC used in Samsung Galaxy S4. Little core cluster: ARM Cortex A7, In-order with 2 issue Big core cluster: ARM Cortex A15, OoO with 3 issue Overhead: ▸ Frequency switch: 100 us ▸ Core migration: 20 us

Slide 183

Slide 183 text

Real Hardware/Software Setup 47 ODroid XU+E development board, which contains an Exynos 5410 SoC used in Samsung Galaxy S4. Implementation incorporated into Chrome running on Android. Little core cluster: ARM Cortex A7, In-order with 2 issue Big core cluster: ARM Cortex A15, OoO with 3 issue Overhead: ▸ Frequency switch: 100 us ▸ Core migration: 20 us

Slide 184

Slide 184 text

Real Hardware/Software Setup 47 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] Little core cluster: ARM Cortex A7, In-order with 2 issue Big core cluster: ARM Cortex A15, OoO with 3 issue Overhead: ▸ Frequency switch: 100 us ▸ Core migration: 20 us

Slide 185

Slide 185 text

Power and Energy Measurements 48 + - Vin+ Vin- Vout GND Sense resistor 15mΩ SoC ARM Cortex A9 VRM Gain x50 Probe Data Acquisition (DAQ) Power = (Vin + - Vin -) / Rsense * Vin -

Slide 186

Slide 186 text

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

Slide 187

Slide 187 text

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

Slide 188

Slide 188 text

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

Slide 189

Slide 189 text

50 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

Slide 190

Slide 190 text

51 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

Slide 191

Slide 191 text

52 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

Slide 192

Slide 192 text

53 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

Slide 193

Slide 193 text

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 54 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

Slide 194

Slide 194 text

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 54 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

Slide 195

Slide 195 text

Architecture Configuration Distribution 55 100 80 60 40 20 0 Time Distribution (%) CamanJS Craigslist Paperjs Goo Google Todo Cnet BBC LZMA-JS Amazon W3School MSN A15 A7 GHz 1.6 1.4 1.2 1.0 0.8 0.6 0.4

Slide 196

Slide 196 text

Architecture Configuration Distribution 55 100 80 60 40 20 0 Time Distribution (%) CamanJS Craigslist Paperjs Goo Google Todo Cnet BBC LZMA-JS Amazon W3School MSN A15 A7 GHz 1.6 1.4 1.2 1.0 0.8 0.6 0.4

Slide 197

Slide 197 text

56 GreenWeb Programming language support for balancing energy-efficiency and QoS in mobile Web computing

Slide 198

Slide 198 text

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

Slide 199

Slide 199 text

56 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

Slide 200

Slide 200 text

56 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

Slide 201

Slide 201 text

Runtime 57 My Approach Architecture Application WebRT Energy-aware Web Runtime WebCore Web-specific Architecture GreenWeb Language Extensions My Dissertation Work

Slide 202

Slide 202 text

58 Execution Time Energy General-Purpose Designs WebCore: a Web-Specific Mobile Architecture

Slide 203

Slide 203 text

58 Execution Time Energy General-Purpose Designs WebCore: a Web-Specific Mobile Architecture Diminishing return

Slide 204

Slide 204 text

58 Execution Time Energy ASIC? General-Purpose Designs WebCore: a Web-Specific Mobile Architecture

Slide 205

Slide 205 text

58 Execution Time Energy ASIC? Extremely challenging ‣Chrome: 17M LoC, 29 languages ▹ c.f., H264 codec: 0.13M LoC, 6 languages ‣Code base is very irregular ▹ Not amenable to traditional specialization General-Purpose Designs WebCore: a Web-Specific Mobile Architecture

Slide 206

Slide 206 text

58 Execution Time Energy ASIC? General-Purpose Designs WebCore: a Web-Specific Mobile Architecture Goal

Slide 207

Slide 207 text

58 Execution Time Energy ??? ASIC? General-Purpose Designs WebCore: a Web-Specific Mobile Architecture Goal

Slide 208

Slide 208 text

WebCore: a Web-Specific Mobile Architecture 59 Execution Time Energy General-Purpose Designs Goal

Slide 209

Slide 209 text

WebCore: a Web-Specific Mobile Architecture 59 Execution Time Energy General-Purpose Designs Customization Goal

Slide 210

Slide 210 text

WebCore: a Web-Specific Mobile Architecture 59 Execution Time Energy General-Purpose Designs Customization Specialization Goal

Slide 211

Slide 211 text

Specialization Target: Style Resolution Kernel 60

Slide 212

Slide 212 text

Specialization Target: Style Resolution Kernel 60 10% 13% 17% 25% 35% Render Style Other Layout DOM 12% 14% 16% 18% 40% Render Style Other Layout DOM Execution time breakdown Energy breakdown

Slide 213

Slide 213 text

Specialization Target: Style Resolution Kernel 60 10% 13% 17% 25% 35% Render Style Other Layout DOM 12% 14% 16% 18% 40% Render Style Other Layout DOM Execution time breakdown Energy breakdown

Slide 214

Slide 214 text

Specialization Target: Style Resolution Kernel 60 for (each rule in matchedRules) { for (each property in rule) { switch (property.id) { case Font: Style[Font] = Handler(property.value, DOMNode); break; case N: ...}}}

Slide 215

Slide 215 text

Specialization Target: Style Resolution Kernel 60 for (each rule in matchedRules) { for (each property in rule) { switch (property.id) { case Font: Style[Font] = Handler(property.value, DOMNode); break; case N: ...}}}

Slide 216

Slide 216 text

Specialization Target: Style Resolution Kernel 60 for (each rule in matchedRules) { for (each property in rule) { switch (property.id) { case Font: Style[Font] = Handler(property.value, DOMNode); break; case N: ...}}} Rule-level Parallelism (RLP)

Slide 217

Slide 217 text

Specialization Target: Style Resolution Kernel 60 for (each rule in matchedRules) { for (each property in rule) { switch (property.id) { case Font: Style[Font] = Handler(property.value, DOMNode); break; case N: ...}}} Rule-level Parallelism (RLP)

Slide 218

Slide 218 text

Specialization Target: Style Resolution Kernel 60 for (each rule in matchedRules) { for (each property in rule) { switch (property.id) { case Font: Style[Font] = Handler(property.value, DOMNode); break; case N: ...}}} Rule-level Parallelism (RLP) Property-level Parallelism (PLP)

Slide 219

Slide 219 text

Specialization Target: Style Resolution Kernel 60 for (each rule in matchedRules) { for (each property in rule) { switch (property.id) { case Font: Style[Font] = Handler(property.value, DOMNode); break; case N: ...}}} Rule-level Parallelism (RLP) Property-level Parallelism (PLP) ▸ Exploiting the parallelism to increase the arithmetic intensity ▸ Move operands closer to operations to sustain the computations

Slide 220

Slide 220 text

... ... Rule j ... ... Prop l ... ... Rule i.id ... Prop m ... Prop k ... Rule j.id ... ... ... ... ... start end start end Rule i Prop k Prop m Prop m Prop l Style l Style m Style k Style Resolution Unit 61 Prop m Prop m 61 Input Scratchpad Conflict Resolution Output Scratchpad Compute Lanes

Slide 221

Slide 221 text

Evaluation Results 62

Slide 222

Slide 222 text

Evaluation Results 62 ▸Fully synthesized using Synopsys 28 nm toolchain

Slide 223

Slide 223 text

Evaluation Results 62 ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 224

Slide 224 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 225

Slide 225 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) A15-like design ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 226

Slide 226 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) A15-like design Customization ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 227

Slide 227 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) 18.6% A15-like design Customization ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 228

Slide 228 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) 18.6% 22.2% A15-like design Customization ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 229

Slide 229 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) 18.6% 22.2% A15-like design Customization Specialization ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 230

Slide 230 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) 18.6% 22.2% 22.2% A15-like design Customization Specialization ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 231

Slide 231 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) 18.6% 22.2% 9.2% 22.2% A15-like design Customization Specialization ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 232

Slide 232 text

Evaluation Results 62 0.55 0.688 0.825 0.963 1.1 1.6 1.8 2 2.2 2.4 Energy (J) Load Time (s) A15-like design Customization Specialization 29.2% 47.0% ▸Fully synthesized using Synopsys 28 nm toolchain ▸Cost of specialization: 0.59 mm2 area overhead ▹ SoC die area is 122 mm2 in Samsung Galaxy S4 ▹ A15s’ area: 19 mm2

Slide 233

Slide 233 text

Retrospective: Three Principles Learnt 63 Runtime Application Architecture

Slide 234

Slide 234 text

Retrospective: Three Principles Learnt 63 Runtime Application Architecture ▸ General-purpose vs. Specialization

Slide 235

Slide 235 text

Retrospective: Three Principles Learnt 63 Runtime Application Architecture ▸ Exploiting Application Diversity ▸ General-purpose vs. Specialization

Slide 236

Slide 236 text

Retrospective: Three Principles Learnt 63 Runtime Application Architecture ▸ Empowering Web Developers ▸ Exploiting Application Diversity ▸ General-purpose vs. Specialization

Slide 237

Slide 237 text

64 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web 2016 Watt Wise Web The Web Evolution

Slide 238

Slide 238 text

64 1990 HTML 1996 JavaScript 2008 Mobile Web 2012 Responsive Web 2016 Watt Wise Web The Web Evolution ???

Slide 239

Slide 239 text

65

Slide 240

Slide 240 text

65

Slide 241

Slide 241 text

65 Franeworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Franeworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Franeworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Franeworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render Franeworks and Libraries HTML JavaScript CSS Language Runtime Styling Security Local Storage User Input Layout Render

Slide 242

Slide 242 text

66 wattwiseweb.org

Slide 243

Slide 243 text

Thank you!

Slide 244

Slide 244 text

[ACM Queue] Yuhao Zhu, Vijay Janapa Reddi, “The Red future of Mobile Web Computing” [PLDI 2016] Yuhao Zhu, Vijay Janapa Reddi, “GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing” [HPCA 2015] Yuhao Zhu, Matthew Halpern, Vijay Janapa Reddi, “Event- Based Scheduling for Energy-Efficient QoS (eQoS) in Mobile Web Applications” [HPCA 2013] Yuhao Zhu, Vijay Janapa Reddi, “High-Performance and Energy-Efficient Mobile Web Browsing on Big/Little Systems” [CAL 2012] Yuhao Zhu, Aditya Srikanth, Jingwen Leng, Vijay Janapa Reddi, “Exploiting Webpage Characteristics for Energy-Efficient Mobile Web Browsing” (Best of CAL) [ISCA 2014] Yuhao Zhu, Vijay Janapa Reddi, “WebCore: Architectural Support for Mobile Web Browsing” [IEEE MICRO 2015] Yuhao Zhu, Matthew Halpern, Vijay Janapa Reddi, “The Role of the CPU in Energy-Efficient Mobile Web Browsing” [HPCA 2016] Matthew Halpern, Yuhao Zhu, Vijay Janapa Reddi, “Mobile CPU’s Rise to Power: Quantifying the Impact of Generational Mobile CPU Design Trends on Performance, Energy, and User Satisfaction” GreenWeb WebRT WebCore Motivational Studies Future Web

Slide 245

Slide 245 text

[DAC 2011] Yuhao Zhu, Yangdong Deng, Yubei Chen, “Hermes: An Integrated CPU/GPU Microarchitecture for IP Routing.” [DAC 2010] Bo Wang, Yuhao Zhu, Yangdong Deng, “Distributed Time, Conservative Parallel Logic Simulation on GPUs.” [TODAES 2011] Yuhao Zhu, Bo Wang, Yangdong Deng, “Massively Parallel Logic Simulation with GPUs.” [ISPASS 2015] Matthew Halpern, Yuhao Zhu, Ramesh Peri, and Vijay Janapa Reddi, “Mosaic: Cross-platform User-interaction Record and Replay for the Fragmented Android Ecosystem.” [IRPS 2014] Chen Zhou, Xiaofei Wang, Weichao Xu, Yuhao Zhu, Vijay Janapa Reddi, Chris Kim, “Estimation of Instantaneous Frequency Fluctuation in a Fast DVFS Environment Using an Empirical BTI Stress- Relaxation Model.” GPGPU & IP Routing Architecture Tools Reliability [MICRO 2015] Yuhao Zhu, Daniel Richins, Matthew Halpern, Vijay Janapa Reddi, “Microarchitectural Implications of Event-driven Server- side Web Applications” (Top Picks Honorable Mention) Server Microarch

Slide 246

Slide 246 text

Coursework 70 Name Instructor Semester SUP Grade COMPILERS Keshav Pingali Fall 2010 A ADV EMBED MICROCONTROL SYS Mark McDermott Spring 2011 A- MEMORY MANAGEMENT Kathryn McKinley Spring 2011 Y A VLSI I Jacob Abraham Fall 2011 A- COMP ARCH: PARALLISM/LOCLTY Mattan Erez Fall 2011 A MICROARCHITECTURE Yale Patt Spring 2012 B DYNAMIC COMPILATION Vijay Janapa Reddi Spring 2012 A- COMP PERF EVAL/BENCHMARKING Lizy John Fall 2012 B+ PARALLEL COMP ARCHITECTURE Derek Chiou Spring 2013 B+ HUMAN COMPUT & CROWDSRCING Matt Lease Fall 2015 Y A-