全部博文(436)
分类: IT业界
2012-12-03 18:14:25
读书报告
软件性能优化技术旨在设计高性能低能耗的系统,从软硬两个方面考虑已取得性能和能耗的最佳权衡。优化技术分为三类:指令级优化、算法及优化和软件系统结构优化,而低能耗软件优化的关键技术是软件能耗估算。
从研究目标可把软件低能耗技术分为能耗优化和能耗评估,从面向的系统生命周期来说可以分为面向系统运行阶段和面向系统开发阶段。面向运行系统的软件低能耗技术把软件当作系统能耗管理者,在系统运行时监测、调节硬件的功耗状态,降低系统能耗。面临的主要问题是在满足系统功能和性能约束的前提下,如何设置硬件单元在低功耗状态下工作,达到降低系统能耗的目的。
面向开发阶段的软件低能耗技术把软件当作系统能耗的驱动者,在系统开发阶段优化软件本身的指令序列、算法和结构,降低系统能耗。面临的主要问题首先是评估软件如何影响系统能耗,其次是如何在满足系统功能和性能约束的前提下优化软件,达到降低系统能耗的目的。
软件低耗能技术相对于硬件低耗能技术具有系统性、抽象性、灵活性、和互补性(软硬协同共同降低功耗)。因此在编译器、操作系统、中间体、软件应用等软件研究领域都重视软件低耗能技术的研究。.我们把软件执行过程中涉及到的硬件部件能耗之和称为软件能耗。
软件低能耗优化技术把降低系统能耗作为关键设计目标之一,渗透到软件的指令生成、算法设计以及软件体系结构设计各个阶段。目前,利用编译器优化指令序列,通过改写源代码优化算法,以及通过高层软件设计优化软件体系结构等方法降低系统能耗的研究受到重视,并取得显著进展。而代码优化是软件优化的一个重要的元素,可以通过优化指令序列减少指令执行时间。性能优化有时候会导致处理器能耗增加使软件能耗增加就要在性能和能耗之间做出权衡。软件算法优化方面在针对多任务并发嵌入式操作系统中,可以通过选用低能耗的任务间通信方式或改进虚拟内存管理策略来降低系统能耗。Java虚拟机能耗优化近年来受到重视,Java执行环境中的两个重要组成部分,Just-in-time和垃圾收集器对系统能耗有显著影响。通过减少指令数可以显著降低JIT能耗。需要特别关注的是垃圾收集器大量访存造成的能耗。软件体系结构的优化也是软件能好技术的一部分,有其重要的意义。
基于能耗模型的评估方法首要解决的问题是软件能耗的估算,即利用能耗模型算出所关注的软件组成部分的能耗。基于模拟器的软件能耗估算在模拟运行软件的基础上加入能耗模型来估算软件能耗。这种方法可以在嵌入式系统开发的早期研究软件能耗优化问题,不影响原有软件的执行过程,可分析软件的范围大、精度高,受到众多研究者的关注,其核心问题是建立高效准确的软件能耗模型。其主要有基于处理器的能耗估算、基于处理器体系结构的能耗估算、基于宏模型的能耗估算和全系统的能耗估算。
未来低功耗技术的研究应该在如何提高低功耗优化的系统化和自动化,如何提高运行时系统的“能耗感知”和“自适应管理”系统能好的能力,如何与硬件低能好技术同步发展,如何达到互联网能耗优化这都是未来要面对的问题。