TY - GEN
T1 - Marauder
T2 - 19th ACM International Conference on Mobile Systems, Applications, and Services, MobiSys 2021
AU - Ramanujam, Murali
AU - Madhyastha, Harsha V.
AU - Netravali, Ravi
N1 - Publisher Copyright:
© 2021 Owner/Author.
PY - 2021/6/24
Y1 - 2021/6/24
N2 - Low interaction response times are crucial to the experience that mobile apps provide for their users. Unfortunately, existing strategies to alleviate the network latencies that hinder app responsiveness fall short in practice. In particular, caching is plagued by challenges in setting expiration times that match when a resource's content changes, while prefetching hinges on accurate predictions of user behavior that have proven elusive. We present Marauder, a system that synergizes caching and prefetching to improve the speedups achieved by each technique while avoiding their inherent limitations. Key to Marauder is our observation that, like web pages, apps handle interactions by downloading and parsing structured text resources that entirely list (i.e., without needing to consult app binaries) the set of other resources to load. Building on this, Marauder introduces two low-risk optimizations directly from the app's cache. First, guided by cached text files, Marauder prefetches referenced resources during an already-triggered interaction. Second, to improve the efficacy of cached content, Marauder judiciously prefetches about-to-expire resources, extending cache lives for unchanged resources, and downloading updates for lightweight (but crucial) text files. Across a wide range of apps, live networks, interaction traces, and phones, Marauder reduces median and 90th percentile interaction response times by 27.4% and 43.5%, while increasing data usage by only 18%.
AB - Low interaction response times are crucial to the experience that mobile apps provide for their users. Unfortunately, existing strategies to alleviate the network latencies that hinder app responsiveness fall short in practice. In particular, caching is plagued by challenges in setting expiration times that match when a resource's content changes, while prefetching hinges on accurate predictions of user behavior that have proven elusive. We present Marauder, a system that synergizes caching and prefetching to improve the speedups achieved by each technique while avoiding their inherent limitations. Key to Marauder is our observation that, like web pages, apps handle interactions by downloading and parsing structured text resources that entirely list (i.e., without needing to consult app binaries) the set of other resources to load. Building on this, Marauder introduces two low-risk optimizations directly from the app's cache. First, guided by cached text files, Marauder prefetches referenced resources during an already-triggered interaction. Second, to improve the efficacy of cached content, Marauder judiciously prefetches about-to-expire resources, extending cache lives for unchanged resources, and downloading updates for lightweight (but crucial) text files. Across a wide range of apps, live networks, interaction traces, and phones, Marauder reduces median and 90th percentile interaction response times by 27.4% and 43.5%, while increasing data usage by only 18%.
KW - caching
KW - mobile apps
KW - performance
KW - prefetching
KW - smartphones
UR - http://www.scopus.com/inward/record.url?scp=85110129149&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85110129149&partnerID=8YFLogxK
U2 - 10.1145/3458864.3466866
DO - 10.1145/3458864.3466866
M3 - Conference contribution
AN - SCOPUS:85110129149
T3 - MobiSys 2021 - Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and Services
SP - 350
EP - 362
BT - MobiSys 2021 - Proceedings of the 19th Annual International Conference on Mobile Systems, Applications, and Services
PB - Association for Computing Machinery, Inc
Y2 - 24 June 2021 through 2 July 2021
ER -