论文部分内容阅读
随着嵌入式系统性能的不断提高,越来越多的系统设计面临着高性能和低能耗所带来的矛盾,低功耗设计是解决这一矛盾的必然要求。动态电源管理(Dynamic Power Management,DPM)是实现低功耗设计的有效手段,它根据实际运行的工作量来决定设备电源的状况,当观察到设备负载较低或设备空闲时,关闭设备或将设备转入低能耗模式,从而实现对能耗的有效利用。
DPM策略是动态电源管理技术研究的重点,它决定了设备何时关闭或者转入低能耗状态,动态电源管理能否实现对能耗的有效利用,很大程度上取决于所采用的策略的性能。当前的DPM策略主要有Timeout策略、预测策略、随机模型策略三种类型。
系统级的动态电源管理是研究的热点。在当前主流的操作系统中,已经为用户提供了若干系统级的动态电源管理,它们是系统级电源管理标准,例如APM、ACPI等在系统软件层的实现。这些实现存在着一些不足,例如电源管理粒度过粗、所采用的电源管理策略过于简单或者存在缺点、实现只针对处理器导致扩展性不好等等。
本文针对当前主流的操作系统中的动态电源管理存在的问题,提出了一个可动态加载的动态电源管理模块的框架,并在Linux系统中实现了这一框架。本文主要做了以下工作:
第一:提出了一个可动态加载的动态电源管理模块的框架,采用了软件设计上的分层概念,将DPM模块分为四层。
第二:在Linux系统实现了所提出的DPM模块框架。在DPM模块中,通过SYS这一虚拟文件系统向用户暴露了控制DPM模块的接口。在设备驱动层,提供了CPU和硬盘的动态电源管理所需要的底层驱动。
第三:对动态电源管理策略进行了深入研究。包括:分析比较了各种不同策略的优缺点;针对Linux Cpufreq内核子系统中的CPU电源管理策略Ondemand的不足,提出了一种新的CPU电源管理策略;对基于半马尔可夫过程的随机模型算法进行了研究,并以磁盘作为节能对象,实现了基于半马尔可夫过程的磁盘动态电源管理。
最后,对DPM模块中的CPU和硬盘的动态电源管理进行了实验。实验结果验证了本文提出的DPM模块框架及其具体实现过程的可行性,同时也验证了模块中采用的针对CPU和磁盘的电源管理策略的高效性。