android workload suite - measure the user interactions of ...xli/presentations... · •android...

42
Xiao-Feng Li [email protected] Oct, 2011 Android Workload Suite (AWS): Measure the software stack of mobile devices Thanks to Greg Zhu and Ke Chen

Upload: others

Post on 06-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Xiao-Feng Li

[email protected]

Oct, 2011

Android Workload Suite (AWS): Measure the software stack of mobile devices

Thanks to Greg Zhu and Ke Chen

Page 2: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Summary

• Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

– It uses the software stack metrics to measure the interaction scenarios

• AWS covers the major areas for Android software stack evaluation

– The key is to map user interactions to system behavior

2011-11-23 2

Page 3: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Agenda

• User interactions measurement

• Interaction scenarios definition

– Case studies

• Android workloads construction

– Case studies

• Summary

• Information

2011-11-23 3

Page 4: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Optimize User Interaction Systematically

• What we need:

– A well-established methodology

– An engineering workload suite

– An analysis/tuning toolkit

– Sightings/requests/feedbacks from PECA/IXR, xPGs, developers, users, etc.

• (The methodology details are in another deck)

• (The UXtune toolkit details are in another deck)

2011-11-23 4

Page 5: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

User Interactions with Client Device

• A sequence of interactions

Human Input

Target Response

Screen transition

Object movement

• Does the input trigger the target correctly?

• Does the system act responsively?

• Does the graphics transition smoothly?

• Does the object move coherently?

Device User

interaction

2011-11-23 5

Page 6: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Interaction Measurement Aspects

• User controls device (subject object)

1. Accuracy/fuzziness: Range/resolution of inputs that can trigger a correct response

2. Coherence: Object move delay, difference in move trajectory

• Device reacts to user (object subject)

3. Responsiveness: Time between an input delivered to the device response, and to the action finish

4. Smoothness: Maximal frame time, frame time variance, FPS and frame drop rate

Device User

interaction

2011-11-23 6

Page 7: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Android Workload Suite (AWS)

• Goals

– Reflect the representative usage of Android client devices

– Evaluate Performance, Power and User interactions

• AWS usages

– Drive and validate Android optimizations

– Support comparative and competitive analysis

2011-11-23 7

Page 8: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

AWS 2.0 Suite Workload #Scenarios Components

Browser

Media

Graphics

Productivity

Touch

Sensors

Built-in apps

Task management

AWS

2011-11-23 8

Page 9: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Agenda

• User interactions measurement

• Interaction scenarios definition

– Case studies

• Android workloads construction

– Case studies

• Summary

2011-11-23 9

Page 10: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Understand The Representative Scenarios

• Extensive surveys

– Feedbacks/inputs from users

– Public documents from key players

– Popular applications

– Form-factor usages (Tablet vs. smart-phone)

– User interaction life-cycles and software design

2011-11-23 10

Page 11: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Usage Categories: Market and Built-in Apps

Home screen, App launcher, Setting, Touch, Sensor…

Phone, Contacts, SMS, MMS, E-mail, IM, Video phone…

Internet access, Video, Music, Gaming, eBooks…

Office, Video conference, Payment, LBS, Security…

Basic accessibility

Communication

Information & Content

Business & Productivity

2011-11-23 11

Page 12: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Tablet-specific Apps Characteristics

• Larger screen size than phone

– More realistic view experience (game, cartoon, 3D)

– Easier or more controls through touch/sensors or virtual controllers (virtual controller, editor, handwriting)

– Bigger space to put more contents (news, education, ebook)

– Support more than one players (game, education)

– PC-experience web access (browser, info portal)

– More small utilities apps for daily use (on-screen vs. in-pocket)

2011-11-23 12

Page 13: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Phone-specific Apps Characteristics

• Phone as handy gadget as a Swiss-knife

– Communicator (chat through AV/text/picture)

– Camera (barcode scanner and photo/video apps)

– Utility (flashlight, night vision, barcode scanner)

– Navigation (GPS, compass), music player, Phone

• Smaller size

– Games are cartoon or lightweight-animation based

– Relatively simple games with simple sensor controls

– Many accelerometer-based games

• Shake to operate (vs. gyroscope-based with Tablet)

2011-11-23 13

Page 14: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Form Factor Consideration in Workload Design

• Some scenarios in AWS may only exist in one form factor, e.g.,

– Status bar vs. system bar

– Browser: switch window vs. switch tab

• Same scenario in AWS may have two design variants, e.g.,

– The 2D game workload has more animated sprites in its tablet profile

– Browser workload use PC web page on tablet, and _can_ use mobile web page on phone

14 2011-11-23

Page 15: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

User Scenario Categories

• User operations – Browsing, gaming, authoring, setting/configuring

• Touch gestures, and sensors

– Communications

• Loading and rendering – Loading:

• Web page, eBook, image

– Rendering: • Web page, HTML5, eBook, media, 2D/3D

• Task management – App launch, Task switch – Multi tasking (Parallel execution)

2011-11-23 15

Page 16: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Primary Metrics for User Scenarios

• User operations

– Browsing, gaming, authoring, setting, communication

– Responsiveness, smoothness, coherency, accuracy

• Loading and rendering – Web/HTML5, eBook, media, image, 2D/3D

– Responsiveness (loading time, rendering capability), smoothness, coherency, accuracy

• Task management

– App launch, Task switch, Multi tasking

– Responsiveness (time to launch/exit), smoothness, coherency, accuracy

2011-11-23 16

Page 17: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Agenda

• User interactions measurement

• Interaction scenarios definition

– Case studies

• Android workloads construction

– Case studies

• Summary

2011-11-23 17

Page 18: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Example of Interaction Lifecycle - Browser

User interaction lifecycle is composed with three types of scenarios:

User operations Loading and rendering Task management

Launch browser

(loading time)

Input URL

(responsiveness)

webpage loading

(loading time)

Read webpage

Scroll/Fling/Zoom

webpage

(responsiveness,

smoothness)

Open new tab

(responsiveness)

Switch tab

(responsiveness)

Exit browser

(loading time)

Scenarios on critical path are selected

2011-11-23 18

Page 19: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Example of Interaction Lifecycle - Video Player

Time

Loading and rendering Task management

Touch thumbnail to Play

(startup time)

Seek forward/backward

while playing (seek response time)

Normal playback (Smoothness,

dropped frames)

Exit player (unloading time)

Pause/Resume (resume response

time)

Play next video clip (switch response

time)

User operations

2011-11-23 19

Page 20: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Agenda

• User interactions measurement

• Interaction scenarios definition

– Case studies

• Android workloads construction

– Case studies

• Summary

2011-11-23 20

Page 21: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Interaction Measurement Criteria

• Measure the critical path of user interactions in software stack

• Criteria

– Perceivable (PECA/IXR has the UX perceptual model)

– Measureable (by different teams)

– Repeatable (in multiple measurements)

– Comparable (between different measured systems)

– Reasonable (about the causality)

– Verifiable (for an optimization)

– Automatable (largely unattended, not strictly)

2011-11-23 21

Page 22: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Workloads Construction

• Key is to map user interactions to system behavior

– Purpose is to assist software optimization instead of simulating user behavior

• Kinds of workloads

– Standalone workload: Run as full workload and give results

– Micro workload: Stress certain execution paths of the stack

– Measurement tool: Allow manual operation and get metrics

– Scenario driver of built-in app: only give inputs and

extract metrics

22 2011-09-07

Page 23: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Activity 1 Activity 2

Service 1 Service 2

Input output

Activity 1

Activity 2

Service 1

Service 2

Input

output

1. Standalone workload

Activity 1

Activity 2

Service 1

Service 2

Input

output

2. Micro workload

Activity 1

Activity 2

Service 1

Service 2

Input

output

3. Measurement tool

Activity 1

Activity 2

Service 1

Service 2

Input

output

4. Scenario driver

2011-11-23 23

Kinds of Workloads

Page 24: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Challenges in Workload Construction

• How to measure response time of user inputs?

• How to measure smoothness?

• How to measure drag coherence?

• How to make the results repeatable?

• How to make the workload comparable across platforms?

• Etc.

2011-11-23 24

Page 25: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Challenge1: Response Time Measurement

• Software latency is our optimization focus

– Software latency is around x100ms

– Touch sampling rate is typically 200HZ (5ms interval)

Typically 200Hz sampling rate

Input-Gestures Manual touch

Touch sensor

Event hub

Input dispatcher

app Input driver

Event dev file

Software latency Physical latency

2011-11-23 25

Page 26: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Challenge2: Smoothness Measurement Notice the followings: • Max frame time • #frames > 30ms • Frame time variance • FPS

0

10

20

30

40

50

60

70

80

90

100

1

25

49

73

97

12

1

14

5

16

9

19

3

21

7

24

1

26

5

28

9

31

3

33

7

36

1

38

5

40

9

43

3

45

7

48

1

50

5

52

9

55

3

57

7

60

1

62

5

64

9

67

3

69

7

72

1

74

5

76

9

79

3

81

7

84

1

86

5

88

9

91

3

Fram

e T

ime

(m

s)

Time (ms)

0

10

20

30

40

50

60

70

80

90

100

1

24

47

70

93

11

6

13

9

16

2

18

5

20

8

23

1

25

4

27

7

30

0

32

3

34

6

36

9

39

2

41

5

43

8

46

1

48

4

50

7

53

0

55

3

57

6

59

9

62

2

64

5

66

8

69

1

71

4

73

7

76

0

78

3

80

6

82

9

85

2

87

5

89

8

92

1

Fram

e T

ime

(m

s)

Time (ms)

Device A

Device B

2011-11-23 26

Page 27: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Challenge3: Drag Coherence Measurement

Distances[k] = {Touch[i].pos – Draw[k].pos | Touch[i].t<=Draw[k+1].t AND Touch[i].t>Draw[k].t}

Coherency = Max(,Max(Distances*k+) | k=0,…,N-)

Event1 Event2 Event3 … EventX

Input raw events

Browser events Event1 Event2/3 Event k ……

Frame1 Frame2

Time

……

EventY

2011-11-23 27

Page 28: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Challenge4: Repeatable Results

• Use Input-Gesture tool to generate standard touch gestures for inputs

• Ensure the generated gestures are comparable across different platforms

1000000000 3 48 1 1000000010 3 53 3284 1000000020 3 54 2747 1000000030 0 2 0 1000000040 0 0 0 1000005000 3 48 1 1000005010 3 53 3284 1000005020 3 54 2735

1000000000 3 48 1 1000000010 3 53 1810 1000000020 3 54 1515 1000000030 0 2 0 1000000040 0 0 0 1000005000 3 48 1 1000005010 3 53 1810 1000005020 3 54 1508

Events of same gesture on Device X

Events of same gesture on Device Y

2011-11-23 28

Page 29: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Challenge5: Comparable Across Platforms

• For example, browser workloads

– Different platforms may have different built-in browsers

• Depending on the measurement purpose

– If for rendering engine comparison, use standard contents (web pages or Javascripts)

– If for app operation comparison, use “scenario driver” generated by input-Gestures

– If for framework comparison, build a “standalone browser” and install to target platforms

2011-11-23 29

Page 30: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Agenda

• User interactions measurement

• Interaction scenarios definition

– Case studies

• Android workloads construction

– Case studies

• Summary

2011-11-23 30

Page 31: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Workload Construction Case Studies

• Browser scroll scenario

2011-11-23 31

Page 32: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Browser Scroll Scenario

32 2011-11-23

Time T0

Time T2

Position P0

Time T1

P1

P2

P1 1.finger starts

3. finger moves, content moves

2. content starts to move

Time T3

P3

4. finger releases

Page 33: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Measurement for Scroll

• Response time

– How fast the content start to follow the finger

• Drag lag distance

– How far the content movement lags behind finger

• Smoothness

– How smooth the browser animates the scroll

33 2011-11-23

Page 34: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Software Stack Internals in Scroll

2011-11-23 34

Event1 EventM EventN … EventX

Input raw events

Browser events

ACTION DOWN

ACTION

MOVE

ACTION

MOVE ……

Frame1

Time

……

EventY

ACTION

MOVE

Browser drawing

Detects Scroll Gesture

Page 35: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Response Time Measurement

35 2011-11-23

Event1 EventM EventN … EventX

Input raw events

Browser events

ACTION DOWN

ACTION

MOVE

ACTION

MOVE ……

Frame1

Time

……

EventY

ACTION

MOVE

Browser drawing

Detects Scroll Gesture

(Δx, Δy: offset from ACTION_DOWN)

First event send time

First frame drawn time Response Time

Page 36: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Smoothness Measurement

36 2011-11-23

EventX

Input raw events

ACTION

MOVE

ACTION

MOVE

Time

EventY

Browser drawing

Browser events

ACTION

UP

EventZ

First Frame

… … Frame m Frame n … … Last

frame

….

….

T1

T2

Page 37: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Drag Lag Measurement

37 2011-11-23

Distances[k] = {Touch[i].pos – Draw[k].pos | Touch[i].t<=Draw[k+1].t AND Touch[i].t>Draw[k].t}

Coherency = Max(,Max(Distances*k+) | k=0,…,N-)

Event1 Event2 Event3 … EventX

Input raw events

Browser events Event1 Event2/3 Event k ……

Frame1 Frame2

Time

……

EventY

Browser drawing

Page 38: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Results Repeatability

• Standard scroll gesture set generated by the Input-Gestures tool

– Scroll up 20 times, down 20 times

– Events are transformed for different devices

gesture duration: 900ms

gesture duration: 900ms

2011-11-23 38

Page 39: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Workload Usage

• Support built-in and self-built browser

• Support scenario selection

• Support user input webpage address

Page 40: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Detailed Results Archive

• Result Files - /data/local/tmp/XXX_result.txt

– Record data of each gesture

• Frame interval, maximum LTF, #LTFs

Page 41: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Agenda

• User interactions measurement

• Interaction scenarios definition

– Case studies

• Android workloads construction

– Case studies

• Summary

2011-11-23 41

Page 42: Android Workload Suite - Measure the user interactions of ...xli/presentations... · •Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

Summary

• Android Workload Suite (AWS) is an engineering tool for Android software stack measurement

– It uses the software stack metrics to measure the interaction scenarios

• AWS covers the major areas for Android software stack evaluation

– The key is to map user interactions to system behavior

2011-11-23 42