ubiquitous and mobile computing cs 525m: fast …decrease launch time address stale content •...
TRANSCRIPT
![Page 1: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/1.jpg)
Ubiquitous and Mobile Computing CS 525M: Fast App Launching for Mobile Devices Using Predictive User Context
XIAOCHEN HUANG
Computer Science Dept.Worcester Polytechnic Institute (WPI)
![Page 2: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/2.jpg)
AUTHORS
Tingxin Yan Deepak Ganesan Jie LiuAman KansalDavid Chu
University of Massachusetts Amherst, Microsoft Research{yan, gamesman}@cs.umass.edu, {davidchu, kansal, jie.liu}@microsoft.com
![Page 3: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/3.jpg)
Mobile Apps … Loading Slowly
Average loading time >12s
Measured on Sansung Focus Windows Phone
![Page 4: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/4.jpg)
Slow network Content Fetching
Email News Social
Loading time > 10s in 3G
Measured on iPhone 3GS
![Page 5: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/5.jpg)
Cache apps in memory Push notification
Decrease launch time Address stale content
• Demand large amounts of memory, overwhelming memory real estate for other apps
• Content may become stale by the time the user interacts with the app
• The energy cost of push communication can be prohibitively high
Two approaches …
![Page 6: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/6.jpg)
• What is Prelaunch?Prelaunch: Schedule an app to run before the user launches itPrelaunch: Schedule an app to run before the user launches it
FALCON
• Challenges and Approaches
Context clues indicate predictable app usage
patterns
Data insights shed light on informative context
Cost: energy, memoryBenefit: latency
reduction
Problem formulation efficiently provides
optimal solution
FALCON’ s scheduling and memory management
complement kernel’s
Windows Phone OS mod prototype implementation
Which app to prelaunch?
At what cost and benefit
Requiring what systems support?
![Page 7: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/7.jpg)
BACKGOURND AND PROBLEM SCOPE
Duration (Minutes)
• Examine the thesis that mobile interactions are inherently brief
• Slow app launch is a substantial drag onuse experience
Slow launch times & Brief usage durations
![Page 8: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/8.jpg)
FALCON Architecture & Prototype
App1 App2 AppN….….
tt
location
Apps Used
Time
…
Context Source Manager
Context Source Manager
DispatcherFeatureExtractors
DecisionEngine
Model Trainer
Proc Tracker
Launch PredictorLaunch Predictor
Server‐based Model Trainer
Kernel MemoryManager
Kernel MemoryManager
Context• Trigger• Location• burst
Context• Trigger• Location• burst
InferenceCost‐Benefit Analysis
InferenceCost‐Benefit Analysis
![Page 9: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/9.jpg)
Personalized Features• Triggers Context
Session
Email News Games
Triggers Followers
Trigger Context:Given a trigger app, identify most likely
follower apps
[interpretation]Interruptions lead us to habitual routines
time
Most popular triggers overall
![Page 10: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/10.jpg)
Personalized Features
• Triggers Context
The best triggers are different for different applicationsSignificant variability across users
• Problem
• Dynamic triggers
Be calculated on a prelaunch-candidate basis as the set of top-k triggers most likely to lead to the launch candidate as a follower
![Page 11: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/11.jpg)
Personalized Features
• Location Context
Location Context:Given a location, identify most likely
apps
[interpretation]What we are doing depends on Where
we are
App usage is correlated with location
![Page 12: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/12.jpg)
Personalized Features
• Location Context
Productivity Apps @ Work
Social Apps@ Outdoors
![Page 13: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/13.jpg)
Personalized Features
• Burst Context
Burst Context:detect and predict whether an app is
bursting
App usage likelihood changes throughout the day as well
Angry birds
![Page 14: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/14.jpg)
Decision Engine
• Step1: Likelihood Estimation
• Context
Trigger, Location, Burst
• App Likelihood Estimation
Conditional probability on <Trigger, Location, Burst>
• Likelihood Estimates used as ranking metric…
![Page 15: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/15.jpg)
Decision Engine• Step2: Cost-Benefit Analysis
LikelihoodEstimates
Potential Benefit:Latency reduction
Potential Benefit:Energy wasted
Optimization
• Maximize Latency Reduction• Subject to energy budget
• Knapsack Problem• Top‐K Greedy approximation
![Page 16: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/16.jpg)
Implementation
• An OS services• New application event upcall• An ambient display widget
FALCON UI
![Page 17: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/17.jpg)
Evaluation: Micro-benchmarks
(a) CDF of launch time (b) CDF of energy consumption (c) CDF of memory consumption
• Three critical parameters
• the time taken for launching an app• the amount of energy consumed during app launch• the memory consumed by the app at launch time
![Page 18: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/18.jpg)
Evaluation: Benefits of Individual Features
(a) Top 5 trigger across all users (b) Top 5 triggers for a specific user (c) Top 5 triggers for “Angry Birds”
• Session Triggers and Followers• Triggers need to be both user- and app-specific• Make the case for Dynamic personalized triggers
![Page 19: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/19.jpg)
Evaluation: Benefits of Individual Features
• Temporal Bursts
• An effective feature for improving prelaunch accuracy• Three categories: all applications, Games, and First-party apps• A discriminating feature that can improve prelaunching performance,
especially for games
![Page 20: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/20.jpg)
Evaluation: Benefits of Individual Features
• Location Clusters• Three categories: all applications, Games, and First-party apps• Also a discriminating feature, particularly for games
![Page 21: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/21.jpg)
Evaluation: Combining Features
• Benefits of location + temporal features
• Combining the two features gives better performance
![Page 22: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/22.jpg)
• Benefits of dynamic triggers
a. User 1 b. User 2
• The performance of dynamic triggers for each location is stable for different users
Evaluation: Combining Features
![Page 23: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/23.jpg)
Evaluation: Evaluation of cost-benefit learner• Performance of Prefetching
• Look at the benefit for apps that require fetching new content during the launch process
![Page 24: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/24.jpg)
• Performance of Preloading• Look at how app loading time can be improved by CBL learner,
compared with LRU caching
Evaluation: Evaluation of cost-benefit learner
![Page 25: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/25.jpg)
• X-axis represents the energy budget provided to CBL• Y-axis represents the benefit of loading time which includes both app
loading time and content fetching time
• Overall benefits
Evaluation: Evaluation of cost-benefit learner
![Page 26: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/26.jpg)
(a) Precision (b) Recall
Precision and recall of bootstrapping
• Look at how fast the cost-benefit learner can learn from history of app usage to make accurate prelaunch decisions.
• The performance of FALCON grows as the training data size increases
Evaluation: Bootstrapping FALCON
![Page 27: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/27.jpg)
Table FALCON Overhead Profile
• The resource consumption profile as follows
• Do not account for the periodic geolocation sampling costs
• Online feature extraction(a) Perform location clustering cost much on a phone, therefore need to be
done in the cloud(b) Implement a light-weight online burst window detection algorithm
(c) Online burst detection as a small performance loss
Evaluation: System Overhead
![Page 28: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/28.jpg)
• Future work• Eliminating reliance on external servers or cloud services for
model training in FALCON
• How users’ expectations will change as the OS predictively prelaunches apps on their behalf
• Contribution• From extensive data analysis, design spatial and temporal
features that are highly indicative of mobile app access patterns• Design a cost-benefit learning algorithm
• Prototype FALCON on a Windows Phone
DISCUSSION AND CONCLUSION
![Page 29: Ubiquitous and Mobile Computing CS 525M: Fast …Decrease launch time Address stale content • Demand large amounts of memory, overwhelming memory real estate for other apps • Content](https://reader034.vdocuments.us/reader034/viewer/2022050105/5f435ad42f6b874e9c000800/html5/thumbnails/29.jpg)
THE ENDTHANK YOU!