Silk: Runtime-Guided Memory Management for Reducing Application Running Janks on Mobile Devices
As an economical method to expand mobile devices’ memory, swap is expected to enhance application performance. However, this article found two limitations of the current kernel memory management on mobile devices running applications developed in high-level languages. Firstly, application threads access data based on small objects in the Android Runtime (ART) heap. Experimental results reveal that a single page contains multiple objects with varying hotness. The existing page-based kernel memory management fails to accurately recognize the objects’ hotness within a page, and mistakenly prioritizes the reclamation of app-hot objects, which increases the swap in of app-hot objects and causes application running janks. Secondly, ART employs garbage collection (GC) to reclaim invalid objects, yet the kernel’s LRU-based memory management lacks insight into objects’ hotness within the GC working set. This results in the delayed reclamation of GC-cold objects and frequent swapping of GC-hot objects, leading to memory thrashing and substantial degradation in application running performance. To mitigate these issues, we propose Silk, a runtime-guided memory management schema. Silk includes two components: (1) for the application thread, it identifies object hotness in the application working set and groups objects with similar hotness in the same page in ART, caching app-hot objects in memory to reduce swap in; (2)for the GC thread, it identifies object hotness in the GC working set and guides the kernel to prioritize reclaiming GC-cold objects, thus preventing memory thrashing. We implement Silk on Android mobile devices and evaluate it with different categories of popular applications. Experimental results demonstrate that Silk reduces swap in size by 45.4% and reduces application running janks by 55.3%, compared to state-of-the-art work. Additionally, Silk achieves comparable application switch acceleration to the state-of-the-art. 1
Authors
- Songquan Wei
- Zhipeng Tan
- Ying Yuan
- Wenjie Qi (ORCID: https://orcid.org/0000-0002-6618-9497)
- Dan Feng (ORCID: https://orcid.org/0000-0002-4674-6006)
- Jing Zhang (ORCID: https://orcid.org/0009-0000-2272-3005)
- Yang Xiao (ORCID: https://orcid.org/0000-0002-6329-3053)
- Jie Gan (ORCID: https://orcid.org/0009-0005-6831-0894)
Institutions
- Wuhan National Laboratory for Optoelectronics (CN)
- Huazhong University of Science and Technology (CN)
Publication Details
- Journal
- ACM Transactions on Architecture and Code Optimization
- Published
- 2025-08-16
- DOI
- https://doi.org/10.1145/3760785
- Primary Topic
- Cloud Computing and Resource Management
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Natural Science Foundation of China