首页> 中文学位 >ARM安卓应用CPU单核单线程性能分析工具的设计与实现
【6h】

ARM安卓应用CPU单核单线程性能分析工具的设计与实现

代理获取

目录

声明

摘要

第一章 绪论

1.1 背景与意义

1.2 国内外研究现状

1.2.1 基于软件插桩的性能分析

1.2.2 基于硬件性能计数器的性能分析

1.3 研究内容及目标

1.3.1 研究内容

1.3.2 设计目标

1.4 论文组织

第二章 Android应用性能分析技术

2.1 Android系统框架及应用开发方式

2.1.1 Android系统框架

2.1.2 Android应用程序开发方式

2.2 Android应用的性能分析和优化

2.2.1 应用性能的定义

2.2.2 性能分析和优化

2.3 Android应用性能分析工具

2.3.1 Java性能分析工具

2.3.2 Native库性能分析工具

2.4 本章小结

第三章 ARM CPU体系结构和性能分析模型

3.1.1 RISC处理器经典五级流水线

3.1.2 流水线冒险

3.2 CPU关键技术

3.2.1 CPU高速缓存

3.2.2 分支预测

3.3 ARMCPU的性能分析

3.3.1 性能监测单元

3.3.2 性能分析模型

3.4 本章小结

第四章 性能分析工具的设计

4.2 系统组成和模块功能划分

4.3 数据采集模块的设计

4.3.1 性能分析数据的类型和编码格式

4.3.2 数据采集模块的工作流程

4.4 通信模块设计

4.4.1 通信模块的组成

4.4.2 通信协议

4.4.3 通信模块的工作流程

4.5 数据分析模块的设计

4.5.1 采样数据的解析

4.5.2 ELF文件解析

4.6 本章小结

第五章 性能分析工具的实现

5.1 数据采集模块的实现

5.1.1 中断采样的实现

5.1.2 数据压缩的实现

5.2 通信模块的实现

5.2.1 目标机端实现

5.2.1 宿主机端实现

5.3 性能分析模块的实现

5.3.1 原始数据解析的实现

5.3.2 热点函数性能分析的实现

5.4 本章小结

第六章 性能分析工具的测试

6.1 测试环境

6.1.1 目标机软硬件

6.1.2 宿主机软硬件

6.2 基本功能测试

6.2.1 Data Reciever

6.2.2 Thread View

6.2.3 Call Graph

6.2.4 Function View

6.3 有效性测试

6.3.1 矩阵运算测试

6.3.2 分支预测器性能测试

6.4 系统额外开销测试

6.5 本章小结

第七章 总结与展望

7.1 总结

7.2 展望

致谢

参考文献

展开▼

摘要

近年来ARM安卓已成为市场占有率最高的移动智能终端平台。各类安卓应用层出不穷的同时,应用的规模和复杂程度不断提高。安卓移动终端的交互方式和硬件特性决定了应用必须要充分利用硬件资源才能具备良好的用户体验。对安卓应用的本地库部分进行针对CPU微体系结构的性能分析和优化有助于应用开发人员开发出充分利用CPU资源,具有良好用户体验的应用。但却缺少高效的性能分析工具。
  本文主要研究并开发了一种ARM安卓平台基于硬件性能计数器的性能分析工具。通过对Oprofile性能分析工具的结构、工作方法进行深入的分析。参考其实现过程,针对Oprofile未将软硬件性能信息综合利用以及没有用户控制界面的不足,完成了性能分析模型的引入和用户控制界面的实现。研究了数据采集模块,实现了结合按时间和Linux内核的跟踪点(Tracepoint)的中断采样,支持全系统范围采集处理器微体系结构行为特征数据。改进了Google Protobuf中的Varint编码方法对采集的数据进行了有效的压缩,节约了大量存储空间。基于TCP/IP协议,设计了应用层通信协议,实现了宿主机端和目标机端通信模块,搭建了宿主机与目标机之间安全高效的数据传输的通道。
  本文关键的工作在于数据分析模块,将软硬件性能数据综合利用,使用了自顶向下的微体系结构性能分析方法,对程序热点建立CPI-Stack性能分析模型,并于用户控制界面之中图形化显示,方便了应用开发人员进行处理器微体系结构层级的性能分析,快速而准确的定位性能瓶颈,进行高效的性能分析和优化。同时本文工具使用时带来的额外开销是5.07%,处于可以接受的范围。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号