Fast App Launching for Mobile Devices Using Predictive User Context Tingxin Yan University of...

Preview:

Citation preview

Fast App Launching for Mobile Devices Using Predictive User Context

Tingxin Yan University of Massachusetts AmherstDavid Chu Microsoft ResearchDeepak Ganesan University of Massachusetts AmherstAman Kansal Microsoft ResearchJie Liu Microsoft Research

1

“The Peregrine Falcon is renowned for its speed, reaching over 322

km/h (200 mph) during its characteristic hunting stoop (high speed dive), making it the fastest member of the animal kingdom.”

MobiSys 2012

Low Wood Bay, Lake District, UK

falcon

2

Mobile Apps…

measured on Samsung Focus Windows Phone

Top Apps in Marketplace

Average loading time > 12s

Angry

Bird

s

SONIC

THE H

EDGE

Nee

d fo

r Spe

ed

Fruit

Nin

ja

Tetris

PES

2011

Doodl

e Ju

mp

Nav

igat

ion

Hol

oPho

ne 3

D0

5

10

15

20

25

Loadin

g T

ime (

s)

Loading Slowly

Slow Network Content Fetching

3

Email News Social

measured on iPhone 3GS Loading time > 10s in 3G

4

App Prelaunch with Context

Challenges and Approaches

What is Prelaunch?

Prelaunch: Schedule an app to run before the user launches it

Which app to prelaunch?

Context clues indicate predictable app usage patterns

Data insights shed light on informative

context (3)

At what cost and benefit?

Cost: energy, memory

Benefit: latency reduction

Problem formulation efficiently provides

optimal solution

Requiring what systems support?

FALCON’s scheduling and memory management

complement kernel’s

Windows Phone OS mod prototype

implementation

inference

optimization

systems

5

Trigger Context

0

0.1

0.2

0.3

SMS Email Social Phone Browser

Session

Time

Email News GameTrigger Followers

0

0.1

0.2

WordsWF SMS Email Phone Browser

most popular triggers overallmost popular triggers for Angry Birds

Trigger Context: given a trigger

app, identify most likely follower

apps

[interpretation]

Interruptions lead us to habitual

routines

6

Location Context

HOME WORK SHOPPING0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Game Calendar Social

Pro

ba

bili

ty D

en

sity

Email

Email

Cal

Cal

Twitter

Email

Calendar

Twitter

Twitter

Game

Game

Facebook

Twitter

Twitter

Facebook

Location Context: given a location (cluster id), identify most

likely apps

Productivity Apps @ Work

Social Apps@ Outdoors

[interpretation]

What we are doing depends

on Where we are

7

Burst Context

0

50

100

150

JAN FEB MAR APR MAY JUNE JULY AUG SEPT OCT NOV DEC JAN FEB

Ap

p U

sag

e Angry Bird

2010 2011

How long are bursts?

Burst window

0

0.5

1

1 10 20 30 40 50 60

Pro

babi

lity

Days

Burst Context: detect and

predict whether an app is bursting

Apps exhibit bursts of popularity

[interpretation]

We get bored of stuff

8

Decision Engine, Step 1: Likelihood Estimation

App Likelihood Estimation: Conditional probability on <Trigger,

Location, Burst>

Likelihood Estimates used as ranking metric…

baseline

trigger

+location

+burstbetter

Context:Trigger, Location, Burst

9

Decision Engine, Step 2: Cost-Benefit Analysis

Likelihood Estimates

• Maximize Latency Reduction

• Subject to energy budget (e.g. 2%)

Optimization Problem

• Knapsack Problem• Top-K Greedy

Approximation

Potential Benefit: Latency reduction

IonB

allE

x

Let's

Gol

f 3

Met

ro-Y

outu

beM

ail

Peop

le

Map

s02468

1012141618

Regular Launch

Prelaunched

Lau

nch

Late

ncy

(s)

Potential Cost:Energy wasted

IonB

allE

x

Let's

Gol

f 3

Met

ro-Y

outu

beM

ail

Peop

le

Map

s0

200

400

600

800

1000

1200

Lau

nch

En

erg

y (u

Ah

)

Runtime Example

10

Phone SMS Email AngryBirds

Weather

Memory

Trigger Follower Cost/Benefit Rank

SMS WordsWithFriends 1

SMS Facebook 2

SMS AngryBirds 3

SMS NeedForSpeed 4

SMS Twitter 5

Apps likely @ Current Location and Bursting

WordsWithFriends

AngryBirds

Facebook

NeedForSpeed

WordsWFriends

Facebook

TriggerPrelaunched Followers

DecisionEngine

Energy Budget

11

FALCON Architecture & Prototype

Date/Time

Apps Used

Geo Coords

Context Source

Manager

Dispatcher

Feature Extracto

rs

Decision

Engine

Launch Predictor

Server-based Model Trainer

Model Trainer

Proc TrackerKernel

Memory Manager (not

FALCON)

…App

1App

2AppN

User

Kernel

FALCONcomponentsshown

Context• Trigger• Location• Burst

• Inference• Cost-

Benefit Analysis

FALCON UI

Windows Phone 7.5 OS mod

2MB main memory; negligible processing & energy overheadsee paper for details

12

Evaluation: FALCON vs. LRU

Reduced from 9s to 6s

Results for Games & Entertainment

appssimilar results for all

apps

13

Evaluation: Time-Since-Last-Update

Email Time-Since-Last-Update (minutes)

Reduced from 30min to 3min

FALCON outperforms

polling most of the time

FALCON

Polling (30 mins)

No Prefetching

14

Evaluation: Cost-Benefit Analysis

6s latency reduction for 2% energy budget

15

Conclusion

FALCON: Fast App Launching with Context

Which app to prelaunch?

Context clues indicate predictable app usage

patterns

Data insights shed light on informative context

At what cost and benefit?

Cost: energy, memory

Benefit: latency reduction

Problem formulation efficiently provides

optimal solution

Requiring what systems support?

FALCON’s scheduling and memory management complement kernel’s

Windows Phone OS mod prototype implementation

Insightful Context: Trigger, Location,

Burst

Cost-Benefit Decision Engine

(see paper)

inference optimization systems

Backup Slides

16

Evaluation: Micro-benchmarks

17

Sally

's Sa

lon

Soni

c th

e Hed

ge

Tent

acle

s

Doodl

e Ju

mp

Mon

opol

y

Beard

s & B

eaks

IonB

allE

x

Let's

Gol

f 3

Met

ro-Y

outu

beM

ail

Peop

le

Map

s0

5

10

15

20

25

Regular Launch

Prelaunched

Lau

nch

Late

ncy

(s)

Sally

's Sa

lon

Soni

c th

e Hed

ge

Tent

acles

Doodl

e Ju

mp

Mon

opol

y

Beard

s & B

eaks

IonB

allE

x

Let's

Gol

f 3

Met

ro-Y

outu

beM

ail

Peop

le

Map

s0

200400600800

1000120014001600

Lau

nch

En

erg

y (u

Ah

)

benefit: latency reduction if predictions always right

cost: energy expenditure if predictions always wrong

Popular & 1st Party Apps

Launch Predictor Bootstrap & Training

18

Context Acquisition Cost

• App History is free• Trigger Context• Burst Context

• Location can be cheap• Coarse-grained location is cheap (base station id, Wi-Fi AP id)• Location Service cache amortizes fine-grained location cost

across apps

19

Recommended