Improving User Experience of Android Smartphones Using Foreground App-Aware I/O Management

Sangwook Shane Hahn,Sungjin Lee,Inhyuk Yee,Donguk Ryu,Jihong Kim
DOI: https://doi.org/10.1145/3124680.3124721
2017-09-02
Abstract:Modern mobile systems are designed to run multiple apps simultaneously to provide a better experience for end users. In such a multi-tasking environment, a foreground app that a user is actually interacting with is often delayed by background ones, which results in significant degradation of user-perceived response time and user experience. Based on detailed analysis of kernel's software stack, we find that the majority of the degradation is caused by the inefficient management of foreground I/Os in the page cache and block I/O layers, and existing techniques like a priority inheritance protocol are not an effective solution to address this. In this paper, we propose a foreground app-aware I/O management scheme that accelerates foreground I/Os by preempting background I/Os in the entire kernel stacks. Our experimental results on smartphones show that the proposed technique reduces the user-perceived response time delay by up to 91%, achieving application's responsiveness close to when a single app solely runs.
What problem does this paper attempt to address?