码迷,mamicode.com
首页 > 其他好文 > 详细

Power Management开发的一般模型

时间:2016-12-28 18:26:34      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:title   调整   优化   moni   实现   文档   www   strong   框架   

本文作为一个提供挈领的介绍性文档,后面会以此展开,逐渐丰富。

一般开发模型

针对一个PM feature进行开发,设计模型是第一步。模型设计好之后,还要保留参数接口,可以基于这些参数针对特殊个体进行优化。

建立一个可以快速迭代、准确可靠、可量化的验证环境尤其重要。一方面可以验证设计的模型是否有效、正确;另一方面还可以调整找到最适合的参数。

针对嵌入式设备来说,最主要的是达到性能和功耗的平衡:在满足性能要求的前提下,尽量降低功耗。

这就涉及到如何去量化性能(Performance)和功耗(Power)。

量化功耗比较简单,可以通过Power Monitor在测量点获得数据(测量点的确定很重要!);

量化性能就比较复杂了,针对不同的功能模块,需要不同的性能分析工具。

另外,针对不同的模块,可能需要产生特定的workload。

最后,可读性强的统计信息或者可视化图表也更有利于得出分析结果。

 

以LISA为例,可以使用workload rt-app产生特定调度侧率,运行时间,运行在特定CPU上的线程,保证运行环境一致。

通过devlib可以获得测试过程中的Power Monitor数据。

然后通过IPython脚本在浏览器中生成可视化图表和统计信息。

技术分享

一般开发模型

 

1.设计模型:根据需求在已有框架中设计新的模型(Thermal中的IPA),或者设计一个全新的功耗模型(如EAS)。目前阶段主要是跟踪追随现有功耗模型。

2.内核实现:基于之前功耗模型,在内核中代码实现。

3.验证环境:建立验证模型的环境,一方面要有量化Performance的工具,另一方面还需要量化Power的工具。

4.模型正确与否?:通过验证环境可以查看模型是否符合预期,如果不符合就重新进行设计。

5.调整模型:根据第4步验证结果,重新调整模型缺陷。

6.优化算法:验证算法是否高效,是否更有效的提升Performance,降低Power。

Android/Linux内核Power Management介绍

Thermal Framework

cpufreq Framework

cpuidle Framework

Android Power HAL

开发工具介绍

Workload Automation

LISA介绍及其使用方法

PyVISA

Power Management开发的一般模型

标签:title   调整   优化   moni   实现   文档   www   strong   框架   

原文地址:http://www.cnblogs.com/arnoldlu/p/6229978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!