全部博文(436)
分类: LINUX
2012-12-03 16:35:26
《软件能耗优化技术研究进展》读书报告
设计高性能低能耗的系统,需要从硬件设计和软件设计两个方面进行考虑。这篇文章主要讲了利用软件技术降低系统能耗的问题。研究利用软件技术降低系统能耗的问题,主要探讨系统开发阶段的低能耗软件优化与评估技术。
系统开发阶段的低能耗软件优化
面向运行系统的软件低能耗技术主要关注运行系统部件的功耗状态和工作负载,在满足系统性能要求的前提下,通过软件来动态设置空闲部件到低功耗状态以降低系统能耗。
与硬件低功耗技术相比,软件低能耗技术的特点:
1.系统性 2.抽象性 3.灵活性 4.互补性
低能耗软件优化技术
面向开发阶段的低能耗软件优化技术,把降低系统能耗作为关键设计目标之一,渗透到软件的指令生成、算法设计以及软件体系结构设计各个阶段
优化技术包括3类:
1.指令级优化 2.软件算法优化 3.软件体系结构优化
指令级优化:
指令级优化主要在编译层面展开。低能耗编译优化关注软件的基本构成元素——指令,在与机器无关的优化阶段或者代码生成阶段进行,优化指令序列,降低处理器和访存能耗,减少指令执行时间和降低硬件功耗都能降低系统能耗。除性能优化方法以外,低能耗编译方法还包括降低硬件功耗,如降低处理器、存储系统的动态功耗和静态功耗。(降低存储系统动态功耗的基本方法是采用传统的存储访问优化方法,减少对Cache和存储器的访问。此外还包括改进寄存器文件分配算法,减少寄存器译码和指令总线信号翻转,优化数据和指令预取方法。)
软件算法优化:
在实现同样功能的前提下,不同算法直接影响软件的代码量、内存访问量和外设访问量,进而显著影响处理器和系统的能耗.因而,在源代码级优化软件算法和代码设计,也能达到降低软件能耗的目的。
软件体系结构优化:
软件体系结构为构造软件系统的结构、行为和关键属性提供了设计模型和指导,是满足软件质量需求的重要因素。可以利用提取的软件体系结构图(SAG),通过替换、合并软件构件,合并任务、调整任务间通信模式来降低系统能耗。
软件能耗估算
低能耗软件优化的关键支撑技术之一。
现有的软件能耗评估方法主要有实测方法和基于能耗模型的方法。
实测方法:
在实际运行的系统上利用专用测量分析仪器获得程序运行时系统或者某些部件的能耗。这种方法对测量仪器精度要求较高,分析的程序范围、分析精度和准确度有限(缺点),但对实际系统的动态功耗管理策略和软件能耗评估有直接的实用价值(优点)。
基于能耗模型的方法:
基于能耗模型的评估方法首要解决的问题是软件能耗的估算,即利用能耗模型算出所关注的软件组成部分的能耗。(软件能耗估算要计算软件执行期间涉及到的各硬件单元能耗的总和。)
面向处理器的软件能耗估算技术:
根据抽象层次不同,面向处理器的软件能耗估算技术可以划分为3种模型:
1基于指令级模型 2基于体系结构级模型 3更高抽象层次、脱离硬件能耗模型的宏模型
抽象层次越低精度越高,但模拟运行开销越大;抽象层次越高估算速度越快,与软件特征关系越密切,但精度越低。
基于指令级模型的能耗估算:
指令级能耗模型把一个程序的能耗看作是该程序所有指令能耗之和。需要对整个指令集体系结构的每一条指令,以及每一对指令序列都进行能耗测算。
基于处理器体系结构的能耗估算:
在体系结构级处理器能耗模型中,处理器的单时钟周期能耗是在该周期中所有活动单元能耗的总和。一个程序的能耗则是在程序执行过程中所有时钟周期内处理器的单时钟周期能耗总和。
基于宏模型的能耗估算:
目的是建立易于获取的软件高层特征参数与软件能耗间的关系,用来评估软件能耗和软件能耗优化策略。
面临的主要问题是找到适当的特征参数和宏模型
根据选择的参数不同,宏模型可以分为两类:
1.基于软件特征的宏模型 2.基于系统运行参数的宏模型
面向全系统的软件能耗估算技术
低能耗技术研究的目标是降低整个计算机系统的能耗而处理器能耗只能占整个系统能耗的一部分,其他I/O部件个控制器则对整个系统能耗有着显著影响。
问题:
软件体系结构优化中有概念不懂,什么是软件体系结构、软件体系风格、任务间通信模式?
并行编译器的优化性能、降低能耗的方法不懂