MePof: A Modular and End-to-End Profile-Guided Optimization Framework for Android Kernels.

Keyuan Zong,Baojian Hua,Yang Wang, Shuang Hu,Zhizhong Pan

COMPSAC(2023)

引用 0|浏览94
暂无评分
摘要
Profile-Guided Optimization (PGO) is a novel compiler optimization leveraging runtime feedback and has been applied successfully to optimize Android kernels gaining significant performance improvements. However, current studies as well as implementations of PGO-based Android kernel optimizations still suffer from three problems: 1) optimization inflexibility due to restricted algorithms for generating profiles and for simulating real-world usage scenarios; 2) considerable optimization efforts due to the extensive manual interventions needed; and 3) optimization failures due to kernel version fragmentation. This paper presents MEPOF, the first modular and end-to-end PGO framework for Android kernels. The MEPOF framework consists of three key components: 1) a tool orchestration, that integrates two novel algorithms for generating profiles, and three methods for simulating real-world scenarios that can be flexibly switched according to the usage scenario; 2) a domain-specific language (DSL) that can specify PGO-based optimization strategies and a corresponding compiler translating the DSL programs into configuration files necessary for optimization; and 3) an adapter that automatically triggers and completes the optimization when the Android kernel version changes. We have implemented a prototype for MEPOF and have conducted extensive experiments to evaluate its effectiveness, performance, and usability. Experimental results demonstrated that: 1) MEPOF is effective, with performance improvement 9.39% on average; 2) MEPOF is efficient by saving up to 39.07% of time than manual optimizations; and 3) MEPOF is highly usable by requiring only one manual intervention instead of more than 30 manual interventions as in the existing optimization framework.
更多
查看译文
关键词
Profile-Guided Optimization,Android Kernel,Optimization Framework
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要