基于PGO的安卓手机内核编译优化——需求分析

刘小成 2022-01-04 21:56:42

项目背景及综述

随着手机终端设备的发展,手机用户对app的运行速度越来越敏感,越来越多的手机厂商开始尝试通过不同的技术加速手机运行,尤其是在用户敏感的使用场景下,借助不同技术进行特殊优化,以使用户获得更好的体验。

PGO(profile-guided-optimization)技术是一项成熟的编译器优化技术,其原理是通过收集程序运行时的各种信息,如函数调用次数,函数运行时间占比等,与传统的编译器预测优化技术相比,可以提供更多个性化的信息给编译器,从而使得编译器能够做好的优化决策。因此PGO技术是一种理想情况下适合于特定场景运行时编译优化的技术。

需求分析

本项目的主要需求为通过PGO技术优化安卓内核在特定场景下的运行速度。与其他课题相比,本课题的性质更偏研究而非开发。但仍可以将整个项目作为一个工程去研究。

流程图

 工程的预计流程图,但后期根据项目进展可能有所改变,同时项目亦可能如“流水线”般并行执行,但总体的流程顺序抽象后基本不变

 

用例图

 将整个项目视作系统进行分析,便可将实验人员视作用户。所得用例图如图

 由此亦可得出本次工程用户的功能需求——即工程人员所需实现的实验目标

  • 搭建实验环境
  • 分析PGO原理
  • 模拟真实安卓手机用户运行场景
  • 运用PGO技术编译优化内核

 

参考文档:

[1] Yuan, Pengfei ,  Y. Guo , and  X. Chen . Device-Specific Linux Kernel Optimization for Android Smartphones[C]// IEEE International Conference on Mobile Cloud Computing. IEEE, 2018.

[2] Yuan, Pengfei ,  Y. Guo , and  X. Chen . Experiences in profile-guided operating system kernel optimization.  2014.

 

作者:311

 

...全文
710 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧