Date post: | 31-Mar-2015 |
Category: |
Documents |
Upload: | fatima-cussen |
View: | 212 times |
Download: | 0 times |
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
Cal
Cal
Calendar
Game
Game
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
NeedForSpeed
…
WordsWFriends
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