论文部分内容阅读
功耗已经成为制约计算机系统发展的首要因素,对计算机系统整机及各软硬件部件功耗的准确测量与评价,是低功耗研究的基础。当前功耗测评领域主要包括两方面的挑战:(1)功耗基准测试,对系统及主要软硬件部件,提供宏观和微观两种基准测试;(2)实时功耗建模,提供精准的系统级、部件级、以及操作系统内核级实时功耗模型。本论文针对以上问题开展研究。 本论文的主要创新性工作如下: (1)对计算机系统的功耗进行了详细的实验与分析通过实验研究了不同系统的功耗差异,分析了不同系统配置对系统级功耗的影响;以模块为粒度,研究了系统的功耗组成,分析了主要硬件模块在系统功耗中所占的比例;研究了物理主机、虚拟机、虚拟机管理器三种运行模式的系统功耗,实验表明,对于内核密集型应用,虚拟化造成了显著的功耗损耗(平均86.75%)。 (2)提出了基准功耗测试集的关键属性针对功耗基准测试的特点,提出了功耗基准测试集的四个关键属性:全面性、精简性、类均衡性和类正交性,并分别定义了度量指标。针对以上基本属性,指出直接采用传统基准测试作为功耗基准测试的不足。 (3)提出功耗宏基准测试集的构建方法提出一种满足功能单元均衡覆盖的精简功耗测试集合(MCBTS)的构建方法,实现了基于遗传算法的求解方法。作为实例,求解了面向操作系统内核的宏基准功耗测试集,实验结果表明,MCBTS能够正确反映操作系统内核变化对功耗的影响趋势,功耗测试效率提高了5.23倍,显著节约了测试成本。 (4)提出功耗微基准测试集合的构建方法提出一种满足功能单元覆盖的类正交微观功耗基准测试集合(MCOTS)的构建方法,适用于对功能单元的细粒度功耗评价,实现了基于遗传算法的求解方法。作为实例,求解了基于面向操作系统内核的微基准功耗测试集。实验结果表明,该测试集中的测试用例在不同操作系统内核版本上的功耗差异显著,功耗比值最大为7.123,最小为0.115,能够有效反映局部变化对功耗的影响。 (5)提出一种基于细粒度性能计数器建立实时功耗模型的方法该方法由功耗模型设定、性能计数器选取、数据采样、模型求解、结果检验五个步骤组成,基本方法是:选取反映系统运行状态的细粒度性能计数器作为预选特征值集合,通过实验建立该集合与运行时功耗的对应关系,采用多元线性回归法进行模型求解,得到各性能计数器对功耗的影响系数,从而建立系统的实时功耗模型,并得到对该系统运行时功耗产生实际影响的有效性能特征值集合。在三个不同平台上的实验表明,最大估计误差小于4%。选取三个平台上的70个性能计数器,作为该方法的缺省特征值集合。 基于以上方法,分别建立了针对处理器和主存的部件级功耗模型,实验结果表明,处理器和主存的功耗模型最大误差分别为3.63%和3.91%。 (6)提出一种基于间接测量构建系统调用功耗模型的方法该方法的基本步骤是:构建面向系统调用功耗测试的类正交均衡测试集合(MCOBTS)作为测试激励,对每个测试用例,建立其所访问的系统调用的功耗值、调用次数、测试用例的内核态功耗三者之间的多元一次方程,并使用多元线性回归法求解模型。其中,消除系统运行噪声以及系统调用的相关性对功耗测量的影响是关键技术。 在Linux V2.6.11和V3.3.0内核的实验结果表明,该模型能够有效获得192个系统调用的功耗,同一个系统调用的功耗在两个内核版本上呈现基本一致的趋势,在V3.3.0内核的平均功耗降低了5.23%,与技术分析的预期一致,证明了模型的有效性。