Floo: automatic, lightweight memoization for faster mobile apps

Floo: automatic, lightweight memoization for faster mobile apps
复制标题

DOI:
10.1145/3498361.3538929
复制
发表时间:
2022-06
期刊:
Proceedings of the 20th Annual International Conference on Mobile Systems, Applications and Services
影响因子:
--
通讯作者:
M. Ramanujam;Helen Y. Chen;Shaghayegh Mardani;R. Netravali
M. Ramanujam;Helen Y. Chen;Shaghayegh Mardani;R. Netravali
中科院分区:
其他
文献类型:
--
作者:
M. Ramanujam;Helen Y. Chen;Shaghayegh Mardani;R. Netravali

文献摘要

相似文献

由于功能集的增长和对智能手机CPU(相对于移动网络)的改进而缓慢的改进,因此移动应用程序响应时间越来越多地在客户端计算上被瓶颈。在设计解决这个新兴问题的解决方案时,我们的主要见解是,随着时间的流逝,应用程序计算在App Binaries和OS中的罕见代码库中完全执行。在此基础上,我们提出了FLOO,该系统旨在在应用程序操作过程中自动重复使用(或回忆)计算结果,以减少处理用户交互所需的计算量。为了确保实用性 - 与任何回忆工作的斗争 - 面对有限的移动设备资源和每个应用程序计算的短暂性质,Floo嵌入了几种新技术,共同使其能够掩盖Cache查找开销并确保高速缓存命中率,一直保证任何重复使用的计算正确性。在各种应用程序,实时网络,电话和交互轨迹中,FLOO将中位数和95%的交互作用响应时间降低了32.7%和72.3%。
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%.