Abstract
The quality of user experience on a smartphone is directly affected by how fast a foreground app reacts to user inputs. Although existing Android smartphones properly differentiate a foreground app from background apps for most system activities, one major exception is the I/O service where I/O-priority inversions between a foreground app and background apps are commonly observed. In this paper, we investigate the I/O-priority inversion problem on Android smartphones. From our empirical study with real Android smartphones, we observed that the existing techniques for mitigating I/O-priority inversions are not applicable for smartphones where frequently inverted I/O priorities should be quickly corrected to avoid any user-perceived extra delay. We also identified that most noticeable I/O-priority inversions occur in the page cache and a flash storage device. Based on the analysis results, we propose a foreground app-aware I/O management scheme, called FastTrack, that accelerates foreground I/O requests by 1) preempting background I/O requests in the entire I/O stacks including the storage device and 2) preventing foreground app's data from being flushed from the page cache. Our experimental results using a prototype FastTrack implementation on four smartphones show that a foreground app can achieve the equivalent level of user-perceived responsiveness regardless of the number of background apps. Over the existing Android I/O implementation, FastTrack can reduce the average user response time by 94% when six I/O-intensive apps run as background apps.
| Original language | English |
|---|---|
| Title of host publication | Proceedings of the 2018 USENIX Annual Technical Conference, USENIX ATC 2018 |
| Publisher | USENIX Association |
| Pages | 15-27 |
| Number of pages | 13 |
| ISBN (Electronic) | 9781939133021 |
| State | Published - 2020 |
| Event | 2018 USENIX Annual Technical Conference, USENIX ATC 2018 - Boston, United States Duration: 11 Jul 2018 → 13 Jul 2018 |
Publication series
| Name | Proceedings of the 2018 USENIX Annual Technical Conference, USENIX ATC 2018 |
|---|
Conference
| Conference | 2018 USENIX Annual Technical Conference, USENIX ATC 2018 |
|---|---|
| Country/Territory | United States |
| City | Boston |
| Period | 11/07/18 → 13/07/18 |
Bibliographical note
Publisher Copyright:© Proceedings of the 2018 USENIX Annual Technical Conference, USENIX ATC 2018. All rights reserved.