开篇:润墨网以专业的文秘视角,为您筛选了一篇网络设备睡眠机制的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:网络设备的睡眠机制是实现网络节能的一种方法。本文对网络设备睡眠机制进行了详细的设计,先分析了传统睡眠机制存在的缺陷,然后提出动态阈值调整睡眠时间的方法。
关键词:网络设备 睡眠机制 运行状态
0 引言
网络设备的睡眠机制需要实际硬件的支持,Microsoft,Intel,Toshiba在1997年共同制定了ACPI规范,ACPI定义了设备电源状态、系统的全局状态和处理器电源状态,ACPI的主要目标是使系统动态地管理电源。根据ACPI规范,本文将网络设备按照网络设备状态划分。
1 网络设备状态划分
为了清楚地阐述网络设备的睡眠机制,本文将网络设备的状态划分:运行状态、睡眠状态、空闲状态、关闭状态。
2 动态调整睡眠时间机制
利用网络设备睡眠可以实现网络节能。对于一个设备,如果其状态转换是即时的,即设备性能和功耗的损失为0,那么网络设备睡眠机制的设计将会非常容易,设备状态转换策略可以非常贪婪:只要设备一空闲,就将其转换到最深睡眠状态;如果有请求到来,设备立即转换到运行状态。然而,这种假设只存在于理想设备中,现实情况是大多数设备在状态转换时,性能和功耗损失都不可忽略。设备从运行状态进入睡眠状态需要一定的时间完成状态转换,从睡眠状态返回到运行状态需要的恢复时间更长,因为在该过程中设备需要依次完成稳定电源和始终、重新初始化设备、恢复上下文等工作。
因此,当网络设备正处于空闲状态时,系统将决定该设备是选择继续保持空闲状态还是进入低功耗的睡眠状态。如果选择进入睡眠状态,系统需要先保存当前的数据,然后再让设备进入睡眠状态,直到检测到设备唤醒信号为止。系统检测到设备唤醒信号后,系统需要先恢复设备数据,然后将设备转换回到运行状态。网络设备睡眠机制的关键问题就在于在什么时候、根据什么条件发起状态转换的命令。
由于设备从运行状态转入低功耗睡眠状态需要付出额外的代价,一是增加了状态转换时所需的能耗Eex,二是增加了系统的延迟tde。因此设备只有在空闲时间足够长的情况下,转换至睡眠状态才会节省设备的能量损耗。设这个足够长的空闲时间最小值为Tthr,设备运行状态的功耗为Pa,睡眠状态的功耗为Ps,空闲时间为Ti,设备唤醒所需的时间Twup和进入睡眠状态所需的时间tde之和为T0,则设备状态转换时必须满足的条件:
设备在空闲状态消耗的能量小于该时间段内设备为工作状态消耗的能量,即如下公式所示:Ps×(Ti-T0)+E0(E0-Ps×T0)/(Pw-Ps)。因此,允许设备处于空闲状态的时间长度Tthr最长为公式所示:Tthr=(E0-Ps×T0)/(Pw-Ps),超过Tthr长度设备进入睡眠状态以节省设备能量损耗。
然而在Ti时间段内,设备仍然处于高功耗运行状态,因而造成部分能量损耗。为了改善这种能量浪费,本文使用另一种策略,空闲时间预测策略。该策略的核心思想是对当前的空闲时间T长度进行预测,当预测的空闲时间长度Ti>T,那么设备一空闲就进入睡眠状态。空闲时间T长度与很多因素有关,如网络环境、用户习惯和网络设备的工作频率等,并且设备空闲时间T的取值并没有规律性可循,不能用传统的概率方法来预测。考虑到在大多数情况下,在同一网络环境中用户的习惯是相似的,因此在同一网络中的设备空闲时间长度一般在某个固定的范围内。从这个角度来分析,同一网络中的设备相邻的空闲时间段一般具有一定的延续性。然而空闲时间也有突发性情况,比如说使用某一网络设备的所有用户突然都离开电脑去休息或做别的事情,造成网络设备很长一段时间的空闲时间,过一段时间后,空闲时间段的延续性又会恢复到常态。
为了更好地描述设备空闲时间的突发性情况,文献定义:若ti(n)/Ti(n)≥C(其中,ti(n)为当前空闲时间的长度,Ti(n)为预测空闲时间的长度,C为常数),则认为ti(n)是网络设备突发性的空闲时间段。由于设备当前空闲时间的长度是根据它与上一个空闲时间的长度有延续性预测的,因此设备突发性的空闲时间段出现使实际值和上一空闲时间段长度的预测之间出现偏差,对当前设备的空闲时间长度预测产生不利,为了纠正空闲时间长度预测中的偏差,采用下式来预测当前的空闲时间长度如公式所示:Ti(n+1)=
本文提出一种新的网络设备睡眠机制策略,采用动态阈值方法调整网络设备的睡眠时间。由于本文的网络设备节能QoS路由算法在选路时绕开空闲设备,因此空闲设备的空闲时间更多,有机会进入睡眠状态。设网络设备可在任何时刻进入睡眠状态和运行状态,而且将网络设备关闭能够进一步地降低设备能耗。这里假定将网络设备转换为睡眠状态和关闭网络设备的功耗是可忽略的,但是网络设备转换为运行状态和重新开启的功耗是不可忽略的。如果网络设备在某一时刻不执行任何命令,就称网络设备在该时刻处于“空闲状态”。初始状态设设备的睡眠时间阈值为Ts,Ts的值通过该网络设备的历史情况预测。应用动态阈值法调整睡眠时间的长度,前提是网络在运行期间的工作负载不均匀,并且系统能够以一定的可信度预测到工作负载的波动性,并且系统对工作负载的预测不消耗过多的能量。接下来讨论网络设备进入睡眠和唤醒的时间和条件:
3 结语
虽然这种睡眠机制还会有丢包现象,但是在网络设备睡眠时间阈值Ts不断调整的过程中,睡眠时间会越来越适应数据包到达时间,丢包率明显下降。
参考文献:
[1]Hewleet-Packard I.Advanced configuration and power interface specification.ACPI Specification Document.Revision4.0a,2010.
[2]吴福炜,甘骏人.一种实时功耗管理算法[J].计算机学报, 2003,29(5): 30-31.
[3]Nedevschi S,Popa L,Iannaccone G,Ratnasamy S, Wether-all D.Reducing network energy consumption via sleeping and rate-adaptationA].Proceeding of the 5th USENIX Symposium on Networked Systems Design and Implementation (NSDI'08)[C],San Francisco,CA,2008,323-336.
作者简介:王超(1972-),女,辽宁朝阳人,信息工程系副主任,副教授,研究方向:软件开发。