全部博文(436)
分类: LINUX
2012-12-02 21:00:46
软件能耗优化技术进展
这篇文章主要讨论了如何设计出高性能低能耗的系统。其中需要从硬件设计和软件设计两个方面进行考虑,这篇文章主要讨论了系统开发阶段的低能耗软件优化与评估技术。
1软件优化技术包括三类:
●指令级优化:利用编译器优化指令序列,指令级优化主要在编译 器层面展开,如代码优化,代码调度,寄存器选择等对处理器体系结构部件的功耗有显著影响。
●算法级优化:不同的算法直接影响软件的代码量、内存访问量和外设访问量,进而影响处理器和系统的能耗。因而在权衡性能与能耗的基础上,在源代码级优化软件算法和代码设计,也能达到降级能耗的目的。
●软件体系结构优化:首先要评估不同的软件体系结构风格对系统能耗的影响,需同时考虑硬件平台和应用的相关特性。其次,可以利用提取的软件体系结构图,通过替换,合并软件构件,合并任务,调整任务间通信模式来降低系统能耗。
面临的主要问题:一评估软件如何影响系统能耗。二如何在满足系统功能和性能约束的前提下优化软件,达到降低能耗的目的。
软件低能耗技术的特点:系统性;抽象性;灵活性;互补性;
低能耗软件优化的关键支撑技术——软件能耗估算
(系统能耗指计算机系统的能量的消耗,可以通过微处理器,内
存和外设等部件能耗总和来计算)
计算机系统的能耗优化技术经历着从硬件到软件的及整个系统的发展过程,早期低能耗技术研究主要在硬件电路级,器件级。体系结构级展开,通过改进电路结构和物理参数来降低硬件功耗。
应用:
软件低能耗技术在系统设计和软件研究领域受到广泛的关注,特别是编译器,操作系统,中间件,应用软件等软件研究领域中都出现了软件低能耗技术的研究。
2软件能耗估算:低能耗软件优化的关键支撑技术之一
2.1软件能耗评估方法:
●实测方法:在实际运行的系统上利用专用能量分析仪器获得程序运行时系统或者某些不见的能耗。
优点:对实际系统的动态功耗管理策略和软件能耗评估有直接的实用价值。
缺点:对测量仪器精度要求较高,分析的程序范围、分析精度和准确度有限。
●基于能耗模型的方法:利用能耗模型算出所关注的软件组成部分的能耗。
优点:不影响原有软件的执行过程,可分析软件的范围大,精度高。
2.2件软能耗估算技术:
●模型基于指令级(有问题?)
●基于体系结构级模型(Wattch)
●更高抽象层次、脱离硬件能耗模型的宏模型
问题:
怎样才能做到软件的性能和能耗的最佳平衡?有没有一个固定的标准是我们可以参考的,比如两者的比例达到多少才叫最佳平衡?