MARS: Mobile Application Relaunching Speed-Up through Flash-Aware Page Swapping

作者:Guo, Weichao*; Chen, Kang*; Feng, Huan*; Wu, Yongwei*; Zhang, Rui*; Zheng, Weimin*
来源:IEEE Transactions on Computers, 2016, 65(3): 916-928.
DOI:10.1109/TC.2015.2428692

摘要

The approach for fast application relaunching on the current Android system is to cache background applications in memory. This mechanism is limited by the available memory size. In addition, the application state may not be easily recovered. We propose a prototype system, MARS, to enable page swapping and cache more applications. MARS can speed up the application relaunching and restore the application state. As a new page swapping design for optimizing application relaunching, MARS isolates Android runtime Garbage Collection (GC) from page swapping for compatibility and employs several flash-aware techniques for swap-in speedup. Two main components of MARS are page slot allocation and read/write control. Page slot allocation reorganizes page slots in swap area to produce sequential reads and improve the performance of swap-in. Read/Write control addresses the read/write interference issue by reducing concurrent and extra internal writes. Compared to the conventional Linux page swapping, these two components can scale up the read bandwidth up to about 3.8 times. Application tests on a Google Nexus 4 phone show that MARS reduces the launching time of applications by 50 similar to 80 percent. The modified page swapping mechanism can outperform the conventional Linux page swapping up to four times.