论文部分内容阅读
当前移动智能终端设备数量增长迅猛,性能提升显著,在满足用户需求的同时,凸显了其固有的能耗与电池容量之间的矛盾。动态电压频率调节(DVFS)是能够有效解决这种矛盾的一种机制。但是传统策略中,处理器负载评估依赖底层硬件反馈、CPU和GPU功耗管理模块完全独立,无法充分利用不同类型应用的独有特性进一步提高移动智能终端设备的能效。本文关注Android智能手机处理器功耗管理和能效提升。以"上层应用特性驱动的底层处理器功耗管理"思想为指引,选取Android移动平台游戏应用为研究对象,探究游戏运行时行为特性和CPU-GPU负载特性,指导CPU-GPU协同功耗管理方案的设计与实现。具体来说,本文的主要工作包括:1.构建了针对Android平台游戏应用的功耗管理框架。框架避免对PC平台的过度借鉴,利用操作系统的应用管理和资源分配功能,纵向联通应用层和底层处理器功耗管理模块,使DVFS算法可以直接感知上层游戏计算需求变化;横向联通CPU和GPU相互独立的功耗管理模块,使二者可以相互感知对方进行协同管理。框架为基于游戏特性的CPU/GPU负载评估和CPU-GPU协同DVFS算法奠定基础。2.提出用户交互感知的CPU负载评估方法和基于游戏帧复杂度的GPU负载评估方法。方法利用Android游戏运行时的用户交互特性,以用户交互消息数评估CPU负载中的用户交互部分;利用CPU-GPU之间的数据交互特性,在CPU处以游戏中顶点、纹理和命令数据提前评估GPU负载,解决了传统基于硬件利用率反馈方法延迟高和准确度低的问题。3.设计了针对Android游戏的CPU-GPU协同DVFS算法。算法以保证用户体验为导向,对游戏用户体验、CPU-GPU负载构建了变化感知的协同描述,为电压频率调控指明时机和方向;协同调频逻辑基于游戏运行时CPU-GPU之间功能上的生产者——消费者协作关系设计,做到"协同"而非"同时独立"的CPU-GPU功耗管理。本文在ODROID-XU3实验平台上实现了上述工作。实验评价中,本文以平均帧处理时间(性能)和平均帧能耗(能耗)的比值作为游戏运行时系统的能效量化值。实验结果表明:相比传统方法,本文方案在保证Android游戏用户体验前提下可以达到平均12%,最高34%的能效提升。