Marauder: Synergized Caching and Prefetching for Low-Risk Mobile App Acceleration
https://dl.acm.org/doi/10.1145/3458864.3466866
Last updated
Was this helpful?
https://dl.acm.org/doi/10.1145/3458864.3466866
Last updated
Was this helpful?
Apps dominate mobile usage and are projected to continue doing so
App responsiveness is well-studied
Are apps meeting expectations?
Measuring app performance
50 apps across categories (Humanoid)
Origin servers
Record screen and compute IRT (Interaction Response Time)
Real phones, live networks, live origin servers and realistic interaction traces
App performance today
2.9s median on LTE: too slow for users today!
Why isn't it better?
Which is bigger contributor to delay? network or compute?
Network causes 64% of the delay on LTE
Improving network performance
Caching
Store previously fetched content to speedup subsequent fetches
Developer specified TTLs
Understanding Caching
28% of resources in median interaction from cache --> 44% IRT improvement over no-cache
2x resources unchanged in cache --> 58% IRT improvement over no-cache
Cache TTLs are hard to set?
Can caching be used optimally?
Developers need to set TTLs such that it precisely expires when content changes
Ideal TTLs for a given resource vary significantly
High TTL --> good cache performance --> stale content
Low TTL --> fresh content --> poor cache performance
Prefetching
Load content ahead-of-time by predicting users' needs
Understanding prefetching
4 apps use prefetching
Load content in background periodically
Avoid network fetches during interaction
Speedups above 60%, however, up to 4x extra data usage. Difficult to predict user interactions.
Goal: extract benefits while minimizing drawbacks
Marauder
Not rely on developers
Work with existing apps and servers
Insights
Text files are important
Text files catalog resources --> prefetching opportunities
Small size of important text files --> refresh in the background
Inefficient TTLs --> low cost TTL extensions
Stability of referenced resources --> prefetching even with uncacheable text files
Evaluation
Speeds up interactions by 27.4%
1.18x median data usage, JIT prefetching is the larger contributor