Floo: automatic, lightweight memoization for faster mobile apps
Floo: automatic, lightweight memoization for faster mobile apps
复制标题
DOI:
10.1145/3498361.3538929
复制
发表时间:
2022-06
期刊:
影响因子:
--
通讯作者:
M. Ramanujam;Helen Y. Chen;Shaghayegh Mardani;R. Netravali
中科院分区:
文献类型:
--
作者:
M. Ramanujam;Helen Y. Chen;Shaghayegh Mardani;R. Netravali
Owing to growing feature sets and sluggish improvements to smartphone CPUs (relative to mobile networks), mobile app response times have increasingly become bottlenecked on client-side computations. In designing a solution to this emerging issue, our primary insight is that app computations exhibit substantial stability over time in that they are entirely performed in rarely-updated codebases within app binaries and the OS. Building on this, we present Floo, a system that aims to automatically reuse (or memoize) computation results during app operation in an effort to reduce the amount of compute needed to handle user interactions. To ensure practicality - the struggle with any memoization effort - in the face of limited mobile device resources and the short-lived nature of each app computation, Floo embeds several new techniques that collectively enable it to mask cache lookup overheads and ensure high cache hit rates, all the while guaranteeing correctness for any reused computations. Across a wide range of apps, live networks, phones, and interaction traces, Floo reduces median and 95th percentile interaction response times by 32.7% and 72.3%.