190 likes | 275 Views
“ 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. ”. falcon. F ast A pp L aunching for Mobile Devices Using Predictive User Con text .
E N D
“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.” falcon Fast App Launching for Mobile Devices Using Predictive User Context Tingxin Yan University of Massachusetts Amherst David Chu Microsoft Research Deepak Ganesan University of Massachusetts Amherst Aman Kansal Microsoft Research Jie Liu Microsoft Research MobiSys 2012 Low Wood Bay, Lake District, UK
Mobile Apps… Loading Slowly Top Apps in Marketplace Average loading time > 12s measured on Samsung Focus Windows Phone
Slow Network Content Fetching Email News Social Loading time > 10s in 3G measured on iPhone 3GS
App Prelaunch with Context What is Prelaunch? Prelaunch: Schedule an app to run before the user launches it Challenges and Approaches inference optimization systems Which app to prelaunch? At what cost and benefit? Requiring what systems support? Context clues indicate predictable app usage patterns Data insights shed light on informative context (3) Cost: energy, memory Benefit: latency reduction Problem formulation efficiently provides optimal solution FALCON’s scheduling and memory management complement kernel’s Windows Phone OS mod prototype implementation
Trigger Context Session Time Email News Game Trigger Context: given a trigger app, identify most likely follower apps Trigger Followers [interpretation] Interruptions lead us to habitual routines most popular triggers overall most popular triggers for Angry Birds
Location Context Location Context: given a location (cluster id), identify most likely apps Twitter Game Calendar Email Facebook Email Twitter Cal [interpretation] What we are doing depends on Where we are Twitter Twitter Twitter Email Facebook Cal Game Social Apps @ Outdoors Productivity Apps @ Work
Burst Context Burst window 2010 2011 Days Apps exhibit bursts of popularity Burst Context: detect and predict whether an app is bursting How long are bursts? [interpretation] We get bored of stuff
Decision Engine, Step 1: Likelihood Estimation Context: Trigger, Location, Burst better +burst App Likelihood Estimation: Conditional probability on <Trigger, Location, Burst> +location trigger baseline Likelihood Estimates used as ranking metric…
Decision Engine, Step 2: Cost-Benefit Analysis Likelihood Estimates Potential Benefit: Latency reduction Potential Cost: Energy wasted Optimization Problem • Maximize Latency Reduction • Subject to energy budget (e.g. 2%) • Knapsack Problem • Top-K Greedy Approximation
Runtime Example Memory AngryBirds WordsW Friends Phone SMS Email Weather Trigger Prelaunched Followers Decision Engine Facebook Energy Budget
FALCON Architecture & Prototype FALCON UI • Inference • Cost-Benefit Analysis • Context • Trigger • Location • Burst App1 App2 AppN … User Kernel FALCON components shown Launch Predictor Context Source Manager Feature Extractors Decision Engine Dispatcher Geo Coords Apps Used Model Trainer Date/Time Proc Tracker … Kernel Memory Manager (not FALCON) Windows Phone 7.5 OS mod 2MB main memory; negligible processing & energy overhead Server-based Model Trainer see paper for details
Evaluation: FALCON vs. LRU Reduced from 9s to 6s Results for Games & Entertainment apps similar results for all apps
Evaluation: Time-Since-Last-Update Reduced from 30min to 3min Polling (30 mins) FALCON FALCON outperforms polling most of the time No Prefetching Email Time-Since-Last-Update (minutes)
Evaluation: Cost-Benefit Analysis 6s latency reduction for 2% energy budget
Conclusion FALCON: Fast App Launching with Context Which app to prelaunch? At what cost and benefit? Requiring what systems support? Context clues indicate predictable app usage patterns Data insights shed light on informative context Cost: energy, memory Benefit: latency reduction Problem formulation efficiently provides optimal solution FALCON’s scheduling and memory management complement kernel’s Windows Phone OS mod prototype implementation inference optimization systems Insightful Context: Trigger, Location, Burst Cost-Benefit Decision Engine (see paper)
Evaluation: Micro-benchmarks Popular & 1st Party Apps cost: energy expenditure if predictions always wrong benefit: latency reduction if predictions always right
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