摘要:網(wǎng)絡(luò)設(shè)備的睡眠機制是實現(xiàn)網(wǎng)絡(luò)節(jié)能的一種方法。本文對網(wǎng)絡(luò)設(shè)備睡眠機制進行了詳細的設(shè)計,先分析了傳統(tǒng)睡眠機制存在的缺陷,然后提出動態(tài)閾值調(diào)整睡眠時間的方法。
關(guān)鍵詞:網(wǎng)絡(luò)設(shè)備 睡眠機制 運行狀態(tài)
0 引言
網(wǎng)絡(luò)設(shè)備的睡眠機制需要實際硬件的支持,Microsoft,Intel,Toshiba在1997年共同制定了ACPI規(guī)范,ACPI定義了設(shè)備電源狀態(tài)、系統(tǒng)的全局狀態(tài)和處理器電源狀態(tài),ACPI的主要目標(biāo)是使系統(tǒng)動態(tài)地管理電源。根據(jù)ACPI規(guī)范,本文將網(wǎng)絡(luò)設(shè)備按照網(wǎng)絡(luò)設(shè)備狀態(tài)劃分。
1 網(wǎng)絡(luò)設(shè)備狀態(tài)劃分
為了清楚地闡述網(wǎng)絡(luò)設(shè)備的睡眠機制,本文將網(wǎng)絡(luò)設(shè)備的狀態(tài)劃分:運行狀態(tài)、睡眠狀態(tài)、空閑狀態(tài)、關(guān)閉狀態(tài)。
2 動態(tài)調(diào)整睡眠時間機制
利用網(wǎng)絡(luò)設(shè)備睡眠可以實現(xiàn)網(wǎng)絡(luò)節(jié)能。對于一個設(shè)備,如果其狀態(tài)轉(zhuǎn)換是即時的,即設(shè)備性能和功耗的損失為0,那么網(wǎng)絡(luò)設(shè)備睡眠機制的設(shè)計將會非常容易,設(shè)備狀態(tài)轉(zhuǎn)換策略可以非常貪婪:只要設(shè)備一空閑,就將其轉(zhuǎn)換到最深睡眠狀態(tài);如果有請求到來,設(shè)備立即轉(zhuǎn)換到運行狀態(tài)。然而,這種假設(shè)只存在于理想設(shè)備中,現(xiàn)實情況是大多數(shù)設(shè)備在狀態(tài)轉(zhuǎn)換時,性能和功耗損失都不可忽略。設(shè)備從運行狀態(tài)進入睡眠狀態(tài)需要一定的時間完成狀態(tài)轉(zhuǎn)換,從睡眠狀態(tài)返回到運行狀態(tài)需要的恢復(fù)時間更長,因為在該過程中設(shè)備需要依次完成穩(wěn)定電源和始終、重新初始化設(shè)備、恢復(fù)上下文等工作。
因此,當(dāng)網(wǎng)絡(luò)設(shè)備正處于空閑狀態(tài)時,系統(tǒng)將決定該設(shè)備是選擇繼續(xù)保持空閑狀態(tài)還是進入低功耗的睡眠狀態(tài)。如果選擇進入睡眠狀態(tài),系統(tǒng)需要先保存當(dāng)前的數(shù)據(jù),然后再讓設(shè)備進入睡眠狀態(tài),直到檢測到設(shè)備喚醒信號為止。系統(tǒng)檢測到設(shè)備喚醒信號后,系統(tǒng)需要先恢復(fù)設(shè)備數(shù)據(jù),然后將設(shè)備轉(zhuǎn)換回到運行狀態(tài)。網(wǎng)絡(luò)設(shè)備睡眠機制的關(guān)鍵問題就在于在什么時候、根據(jù)什么條件發(fā)起狀態(tài)轉(zhuǎn)換的命令。
由于設(shè)備從運行狀態(tài)轉(zhuǎn)入低功耗睡眠狀態(tài)需要付出額外的代價,一是增加了狀態(tài)轉(zhuǎn)換時所需的能耗Eex,二是增加了系統(tǒng)的延遲tde。因此設(shè)備只有在空閑時間足夠長的情況下,轉(zhuǎn)換至睡眠狀態(tài)才會節(jié)省設(shè)備的能量損耗。設(shè)這個足夠長的空閑時間最小值為Tthr,設(shè)備運行狀態(tài)的功耗為Pa,睡眠狀態(tài)的功耗為Ps,空閑時間為Ti,設(shè)備喚醒所需的時間Twup和進入睡眠狀態(tài)所需的時間tde之和為T0,則設(shè)備狀態(tài)轉(zhuǎn)換時必須滿足的條件:
設(shè)備在空閑狀態(tài)消耗的能量小于該時間段內(nèi)設(shè)備為工作狀態(tài)消耗的能量,即如下公式所示:Ps×(Ti-T0)+E0
然而在Ti時間段內(nèi),設(shè)備仍然處于高功耗運行狀態(tài),因而造成部分能量損耗。為了改善這種能量浪費,本文使用另一種策略,空閑時間預(yù)測策略。該策略的核心思想是對當(dāng)前的空閑時間T長度進行預(yù)測,當(dāng)預(yù)測的空閑時間長度Ti>T,那么設(shè)備一空閑就進入睡眠狀態(tài)??臻e時間T長度與很多因素有關(guān),如網(wǎng)絡(luò)環(huán)境、用戶習(xí)慣和網(wǎng)絡(luò)設(shè)備的工作頻率等,并且設(shè)備空閑時間T的取值并沒有規(guī)律性可循,不能用傳統(tǒng)的概率方法來預(yù)測。考慮到在大多數(shù)情況下,在同一網(wǎng)絡(luò)環(huán)境中用戶的習(xí)慣是相似的,因此在同一網(wǎng)絡(luò)中的設(shè)備空閑時間長度一般在某個固定的范圍內(nèi)。從這個角度來分析,同一網(wǎng)絡(luò)中的設(shè)備相鄰的空閑時間段一般具有一定的延續(xù)性。然而空閑時間也有突發(fā)性情況,比如說使用某一網(wǎng)絡(luò)設(shè)備的所有用戶突然都離開電腦去休息或做別的事情,造成網(wǎng)絡(luò)設(shè)備很長一段時間的空閑時間,過一段時間后,空閑時間段的延續(xù)性又會恢復(fù)到常態(tài)。
為了更好地描述設(shè)備空閑時間的突發(fā)性情況,文獻定義:若ti(n)/Ti(n)≥C(其中,ti(n)為當(dāng)前空閑時間的長度,Ti(n)為預(yù)測空閑時間的長度,C為常數(shù)),則認為ti(n)是網(wǎng)絡(luò)設(shè)備突發(fā)性的空閑時間段。由于設(shè)備當(dāng)前空閑時間的長度是根據(jù)它與上一個空閑時間的長度有延續(xù)性預(yù)測的,因此設(shè)備突發(fā)性的空閑時間段出現(xiàn)使實際值和上一空閑時間段長度的預(yù)測之間出現(xiàn)偏差,對當(dāng)前設(shè)備的空閑時間長度預(yù)測產(chǎn)生不利,為了糾正空閑時間長度預(yù)測中的偏差,采用下式來預(yù)測當(dāng)前的空閑時間長度如公式所示:Ti(n+1)=
本文提出一種新的網(wǎng)絡(luò)設(shè)備睡眠機制策略,采用動態(tài)閾值方法調(diào)整網(wǎng)絡(luò)設(shè)備的睡眠時間。由于本文的網(wǎng)絡(luò)設(shè)備節(jié)能QoS路由算法在選路時繞開空閑設(shè)備,因此空閑設(shè)備的空閑時間更多,有機會進入睡眠狀態(tài)。設(shè)網(wǎng)絡(luò)設(shè)備可在任何時刻進入睡眠狀態(tài)和運行狀態(tài),而且將網(wǎng)絡(luò)設(shè)備關(guān)閉能夠進一步地降低設(shè)備能耗。這里假定將網(wǎng)絡(luò)設(shè)備轉(zhuǎn)換為睡眠狀態(tài)和關(guān)閉網(wǎng)絡(luò)設(shè)備的功耗是可忽略的,但是網(wǎng)絡(luò)設(shè)備轉(zhuǎn)換為運行狀態(tài)和重新開啟的功耗是不可忽略的。如果網(wǎng)絡(luò)設(shè)備在某一時刻不執(zhí)行任何命令,就稱網(wǎng)絡(luò)設(shè)備在該時刻處于“空閑狀態(tài)”。初始狀態(tài)設(shè)設(shè)備的睡眠時間閾值為Ts,Ts的值通過該網(wǎng)絡(luò)設(shè)備的歷史情況預(yù)測。應(yīng)用動態(tài)閾值法調(diào)整睡眠時間的長度,前提是網(wǎng)絡(luò)在運行期間的工作負載不均勻,并且系統(tǒng)能夠以一定的可信度預(yù)測到工作負載的波動性,并且系統(tǒng)對工作負載的預(yù)測不消耗過多的能量。接下來討論網(wǎng)絡(luò)設(shè)備進入睡眠和喚醒的時間和條件:
3 結(jié)語
雖然這種睡眠機制還會有丟包現(xiàn)象,但是在網(wǎng)絡(luò)設(shè)備睡眠時間閾值Ts不斷調(diào)整的過程中,睡眠時間會越來越適應(yīng)數(shù)據(jù)包到達時間,丟包率明顯下降。
參考文獻:
[1]Hewleet-Packard I.Advanced configuration and power interface specification.ACPI Specification Document.Revision4.0a,2010.
[2]吳福煒,甘駿人.一種實時功耗管理算法[J].計算機學(xué)報, 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-),女,遼寧朝陽人,信息工程系副主任,副教授,研究方向:軟件開發(fā)。
摘要:網(wǎng)絡(luò)設(shè)備的睡眠機制是實現(xiàn)網(wǎng)絡(luò)節(jié)能的一種方法。本文對網(wǎng)絡(luò)設(shè)備睡眠機制進行了詳細的設(shè)計,先分析了傳統(tǒng)睡眠機制存在的缺陷,然后提出動態(tài)閾值調(diào)整睡眠時間的方法。
關(guān)鍵詞:網(wǎng)絡(luò)設(shè)備 睡眠機制 運行狀態(tài)
0 引言
網(wǎng)絡(luò)設(shè)備的睡眠機制需要實際硬件的支持,Microsoft,Intel,Toshiba在1997年共同制定了ACPI規(guī)范,ACPI定義了設(shè)備電源狀態(tài)、系統(tǒng)的全局狀態(tài)和處理器電源狀態(tài),ACPI的主要目標(biāo)是使系統(tǒng)動態(tài)地管理電源。根據(jù)ACPI規(guī)范,本文將網(wǎng)絡(luò)設(shè)備按照網(wǎng)絡(luò)設(shè)備狀態(tài)劃分。
1 網(wǎng)絡(luò)設(shè)備狀態(tài)劃分
為了清楚地闡述網(wǎng)絡(luò)設(shè)備的睡眠機制,本文將網(wǎng)絡(luò)設(shè)備的狀態(tài)劃分:運行狀態(tài)、睡眠狀態(tài)、空閑狀態(tài)、關(guān)閉狀態(tài)。
2 動態(tài)調(diào)整睡眠時間機制
利用網(wǎng)絡(luò)設(shè)備睡眠可以實現(xiàn)網(wǎng)絡(luò)節(jié)能。對于一個設(shè)備,如果其狀態(tài)轉(zhuǎn)換是即時的,即設(shè)備性能和功耗的損失為0,那么網(wǎng)絡(luò)設(shè)備睡眠機制的設(shè)計將會非常容易,設(shè)備狀態(tài)轉(zhuǎn)換策略可以非常貪婪:只要設(shè)備一空閑,就將其轉(zhuǎn)換到最深睡眠狀態(tài);如果有請求到來,設(shè)備立即轉(zhuǎn)換到運行狀態(tài)。然而,這種假設(shè)只存在于理想設(shè)備中,現(xiàn)實情況是大多數(shù)設(shè)備在狀態(tài)轉(zhuǎn)換時,性能和功耗損失都不可忽略。設(shè)備從運行狀態(tài)進入睡眠狀態(tài)需要一定的時間完成狀態(tài)轉(zhuǎn)換,從睡眠狀態(tài)返回到運行狀態(tài)需要的恢復(fù)時間更長,因為在該過程中設(shè)備需要依次完成穩(wěn)定電源和始終、重新初始化設(shè)備、恢復(fù)上下文等工作。
因此,當(dāng)網(wǎng)絡(luò)設(shè)備正處于空閑狀態(tài)時,系統(tǒng)將決定該設(shè)備是選擇繼續(xù)保持空閑狀態(tài)還是進入低功耗的睡眠狀態(tài)。如果選擇進入睡眠狀態(tài),系統(tǒng)需要先保存當(dāng)前的數(shù)據(jù),然后再讓設(shè)備進入睡眠狀態(tài),直到檢測到設(shè)備喚醒信號為止。系統(tǒng)檢測到設(shè)備喚醒信號后,系統(tǒng)需要先恢復(fù)設(shè)備數(shù)據(jù),然后將設(shè)備轉(zhuǎn)換回到運行狀態(tài)。網(wǎng)絡(luò)設(shè)備睡眠機制的關(guān)鍵問題就在于在什么時候、根據(jù)什么條件發(fā)起狀態(tài)轉(zhuǎn)換的命令。
由于設(shè)備從運行狀態(tài)轉(zhuǎn)入低功耗睡眠狀態(tài)需要付出額外的代價,一是增加了狀態(tài)轉(zhuǎn)換時所需的能耗Eex,二是增加了系統(tǒng)的延遲tde。因此設(shè)備只有在空閑時間足夠長的情況下,轉(zhuǎn)換至睡眠狀態(tài)才會節(jié)省設(shè)備的能量損耗。設(shè)這個足夠長的空閑時間最小值為Tthr,設(shè)備運行狀態(tài)的功耗為Pa,睡眠狀態(tài)的功耗為Ps,空閑時間為Ti,設(shè)備喚醒所需的時間Twup和進入睡眠狀態(tài)所需的時間tde之和為T0,則設(shè)備狀態(tài)轉(zhuǎn)換時必須滿足的條件:
設(shè)備在空閑狀態(tài)消耗的能量小于該時間段內(nèi)設(shè)備為工作狀態(tài)消耗的能量,即如下公式所示:Ps×(Ti-T0)+E0
然而在Ti時間段內(nèi),設(shè)備仍然處于高功耗運行狀態(tài),因而造成部分能量損耗。為了改善這種能量浪費,本文使用另一種策略,空閑時間預(yù)測策略。該策略的核心思想是對當(dāng)前的空閑時間T長度進行預(yù)測,當(dāng)預(yù)測的空閑時間長度Ti>T,那么設(shè)備一空閑就進入睡眠狀態(tài)??臻e時間T長度與很多因素有關(guān),如網(wǎng)絡(luò)環(huán)境、用戶習(xí)慣和網(wǎng)絡(luò)設(shè)備的工作頻率等,并且設(shè)備空閑時間T的取值并沒有規(guī)律性可循,不能用傳統(tǒng)的概率方法來預(yù)測??紤]到在大多數(shù)情況下,在同一網(wǎng)絡(luò)環(huán)境中用戶的習(xí)慣是相似的,因此在同一網(wǎng)絡(luò)中的設(shè)備空閑時間長度一般在某個固定的范圍內(nèi)。從這個角度來分析,同一網(wǎng)絡(luò)中的設(shè)備相鄰的空閑時間段一般具有一定的延續(xù)性。然而空閑時間也有突發(fā)性情況,比如說使用某一網(wǎng)絡(luò)設(shè)備的所有用戶突然都離開電腦去休息或做別的事情,造成網(wǎng)絡(luò)設(shè)備很長一段時間的空閑時間,過一段時間后,空閑時間段的延續(xù)性又會恢復(fù)到常態(tài)。
為了更好地描述設(shè)備空閑時間的突發(fā)性情況,文獻定義:若ti(n)/Ti(n)≥C(其中,ti(n)為當(dāng)前空閑時間的長度,Ti(n)為預(yù)測空閑時間的長度,C為常數(shù)),則認為ti(n)是網(wǎng)絡(luò)設(shè)備突發(fā)性的空閑時間段。由于設(shè)備當(dāng)前空閑時間的長度是根據(jù)它與上一個空閑時間的長度有延續(xù)性預(yù)測的,因此設(shè)備突發(fā)性的空閑時間段出現(xiàn)使實際值和上一空閑時間段長度的預(yù)測之間出現(xiàn)偏差,對當(dāng)前設(shè)備的空閑時間長度預(yù)測產(chǎn)生不利,為了糾正空閑時間長度預(yù)測中的偏差,采用下式來預(yù)測當(dāng)前的空閑時間長度如公式所示:Ti(n+1)=
本文提出一種新的網(wǎng)絡(luò)設(shè)備睡眠機制策略,采用動態(tài)閾值方法調(diào)整網(wǎng)絡(luò)設(shè)備的睡眠時間。由于本文的網(wǎng)絡(luò)設(shè)備節(jié)能QoS路由算法在選路時繞開空閑設(shè)備,因此空閑設(shè)備的空閑時間更多,有機會進入睡眠狀態(tài)。設(shè)網(wǎng)絡(luò)設(shè)備可在任何時刻進入睡眠狀態(tài)和運行狀態(tài),而且將網(wǎng)絡(luò)設(shè)備關(guān)閉能夠進一步地降低設(shè)備能耗。這里假定將網(wǎng)絡(luò)設(shè)備轉(zhuǎn)換為睡眠狀態(tài)和關(guān)閉網(wǎng)絡(luò)設(shè)備的功耗是可忽略的,但是網(wǎng)絡(luò)設(shè)備轉(zhuǎn)換為運行狀態(tài)和重新開啟的功耗是不可忽略的。如果網(wǎng)絡(luò)設(shè)備在某一時刻不執(zhí)行任何命令,就稱網(wǎng)絡(luò)設(shè)備在該時刻處于“空閑狀態(tài)”。初始狀態(tài)設(shè)設(shè)備的睡眠時間閾值為Ts,Ts的值通過該網(wǎng)絡(luò)設(shè)備的歷史情況預(yù)測。應(yīng)用動態(tài)閾值法調(diào)整睡眠時間的長度,前提是網(wǎng)絡(luò)在運行期間的工作負載不均勻,并且系統(tǒng)能夠以一定的可信度預(yù)測到工作負載的波動性,并且系統(tǒng)對工作負載的預(yù)測不消耗過多的能量。接下來討論網(wǎng)絡(luò)設(shè)備進入睡眠和喚醒的時間和條件:
3 結(jié)語
雖然這種睡眠機制還會有丟包現(xiàn)象,但是在網(wǎng)絡(luò)設(shè)備睡眠時間閾值Ts不斷調(diào)整的過程中,睡眠時間會越來越適應(yīng)數(shù)據(jù)包到達時間,丟包率明顯下降。
參考文獻:
[1]Hewleet-Packard I.Advanced configuration and power interface specification.ACPI Specification Document.Revision4.0a,2010.
[2]吳福煒,甘駿人.一種實時功耗管理算法[J].計算機學(xué)報, 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-),女,遼寧朝陽人,信息工程系副主任,副教授,研究方向:軟件開發(fā)。
摘要:網(wǎng)絡(luò)設(shè)備的睡眠機制是實現(xiàn)網(wǎng)絡(luò)節(jié)能的一種方法。本文對網(wǎng)絡(luò)設(shè)備睡眠機制進行了詳細的設(shè)計,先分析了傳統(tǒng)睡眠機制存在的缺陷,然后提出動態(tài)閾值調(diào)整睡眠時間的方法。
關(guān)鍵詞:網(wǎng)絡(luò)設(shè)備 睡眠機制 運行狀態(tài)
0 引言
網(wǎng)絡(luò)設(shè)備的睡眠機制需要實際硬件的支持,Microsoft,Intel,Toshiba在1997年共同制定了ACPI規(guī)范,ACPI定義了設(shè)備電源狀態(tài)、系統(tǒng)的全局狀態(tài)和處理器電源狀態(tài),ACPI的主要目標(biāo)是使系統(tǒng)動態(tài)地管理電源。根據(jù)ACPI規(guī)范,本文將網(wǎng)絡(luò)設(shè)備按照網(wǎng)絡(luò)設(shè)備狀態(tài)劃分。
1 網(wǎng)絡(luò)設(shè)備狀態(tài)劃分
為了清楚地闡述網(wǎng)絡(luò)設(shè)備的睡眠機制,本文將網(wǎng)絡(luò)設(shè)備的狀態(tài)劃分:運行狀態(tài)、睡眠狀態(tài)、空閑狀態(tài)、關(guān)閉狀態(tài)。
2 動態(tài)調(diào)整睡眠時間機制
利用網(wǎng)絡(luò)設(shè)備睡眠可以實現(xiàn)網(wǎng)絡(luò)節(jié)能。對于一個設(shè)備,如果其狀態(tài)轉(zhuǎn)換是即時的,即設(shè)備性能和功耗的損失為0,那么網(wǎng)絡(luò)設(shè)備睡眠機制的設(shè)計將會非常容易,設(shè)備狀態(tài)轉(zhuǎn)換策略可以非常貪婪:只要設(shè)備一空閑,就將其轉(zhuǎn)換到最深睡眠狀態(tài);如果有請求到來,設(shè)備立即轉(zhuǎn)換到運行狀態(tài)。然而,這種假設(shè)只存在于理想設(shè)備中,現(xiàn)實情況是大多數(shù)設(shè)備在狀態(tài)轉(zhuǎn)換時,性能和功耗損失都不可忽略。設(shè)備從運行狀態(tài)進入睡眠狀態(tài)需要一定的時間完成狀態(tài)轉(zhuǎn)換,從睡眠狀態(tài)返回到運行狀態(tài)需要的恢復(fù)時間更長,因為在該過程中設(shè)備需要依次完成穩(wěn)定電源和始終、重新初始化設(shè)備、恢復(fù)上下文等工作。
因此,當(dāng)網(wǎng)絡(luò)設(shè)備正處于空閑狀態(tài)時,系統(tǒng)將決定該設(shè)備是選擇繼續(xù)保持空閑狀態(tài)還是進入低功耗的睡眠狀態(tài)。如果選擇進入睡眠狀態(tài),系統(tǒng)需要先保存當(dāng)前的數(shù)據(jù),然后再讓設(shè)備進入睡眠狀態(tài),直到檢測到設(shè)備喚醒信號為止。系統(tǒng)檢測到設(shè)備喚醒信號后,系統(tǒng)需要先恢復(fù)設(shè)備數(shù)據(jù),然后將設(shè)備轉(zhuǎn)換回到運行狀態(tài)。網(wǎng)絡(luò)設(shè)備睡眠機制的關(guān)鍵問題就在于在什么時候、根據(jù)什么條件發(fā)起狀態(tài)轉(zhuǎn)換的命令。
由于設(shè)備從運行狀態(tài)轉(zhuǎn)入低功耗睡眠狀態(tài)需要付出額外的代價,一是增加了狀態(tài)轉(zhuǎn)換時所需的能耗Eex,二是增加了系統(tǒng)的延遲tde。因此設(shè)備只有在空閑時間足夠長的情況下,轉(zhuǎn)換至睡眠狀態(tài)才會節(jié)省設(shè)備的能量損耗。設(shè)這個足夠長的空閑時間最小值為Tthr,設(shè)備運行狀態(tài)的功耗為Pa,睡眠狀態(tài)的功耗為Ps,空閑時間為Ti,設(shè)備喚醒所需的時間Twup和進入睡眠狀態(tài)所需的時間tde之和為T0,則設(shè)備狀態(tài)轉(zhuǎn)換時必須滿足的條件:
設(shè)備在空閑狀態(tài)消耗的能量小于該時間段內(nèi)設(shè)備為工作狀態(tài)消耗的能量,即如下公式所示:Ps×(Ti-T0)+E0
然而在Ti時間段內(nèi),設(shè)備仍然處于高功耗運行狀態(tài),因而造成部分能量損耗。為了改善這種能量浪費,本文使用另一種策略,空閑時間預(yù)測策略。該策略的核心思想是對當(dāng)前的空閑時間T長度進行預(yù)測,當(dāng)預(yù)測的空閑時間長度Ti>T,那么設(shè)備一空閑就進入睡眠狀態(tài)??臻e時間T長度與很多因素有關(guān),如網(wǎng)絡(luò)環(huán)境、用戶習(xí)慣和網(wǎng)絡(luò)設(shè)備的工作頻率等,并且設(shè)備空閑時間T的取值并沒有規(guī)律性可循,不能用傳統(tǒng)的概率方法來預(yù)測??紤]到在大多數(shù)情況下,在同一網(wǎng)絡(luò)環(huán)境中用戶的習(xí)慣是相似的,因此在同一網(wǎng)絡(luò)中的設(shè)備空閑時間長度一般在某個固定的范圍內(nèi)。從這個角度來分析,同一網(wǎng)絡(luò)中的設(shè)備相鄰的空閑時間段一般具有一定的延續(xù)性。然而空閑時間也有突發(fā)性情況,比如說使用某一網(wǎng)絡(luò)設(shè)備的所有用戶突然都離開電腦去休息或做別的事情,造成網(wǎng)絡(luò)設(shè)備很長一段時間的空閑時間,過一段時間后,空閑時間段的延續(xù)性又會恢復(fù)到常態(tài)。
為了更好地描述設(shè)備空閑時間的突發(fā)性情況,文獻定義:若ti(n)/Ti(n)≥C(其中,ti(n)為當(dāng)前空閑時間的長度,Ti(n)為預(yù)測空閑時間的長度,C為常數(shù)),則認為ti(n)是網(wǎng)絡(luò)設(shè)備突發(fā)性的空閑時間段。由于設(shè)備當(dāng)前空閑時間的長度是根據(jù)它與上一個空閑時間的長度有延續(xù)性預(yù)測的,因此設(shè)備突發(fā)性的空閑時間段出現(xiàn)使實際值和上一空閑時間段長度的預(yù)測之間出現(xiàn)偏差,對當(dāng)前設(shè)備的空閑時間長度預(yù)測產(chǎn)生不利,為了糾正空閑時間長度預(yù)測中的偏差,采用下式來預(yù)測當(dāng)前的空閑時間長度如公式所示:Ti(n+1)=
本文提出一種新的網(wǎng)絡(luò)設(shè)備睡眠機制策略,采用動態(tài)閾值方法調(diào)整網(wǎng)絡(luò)設(shè)備的睡眠時間。由于本文的網(wǎng)絡(luò)設(shè)備節(jié)能QoS路由算法在選路時繞開空閑設(shè)備,因此空閑設(shè)備的空閑時間更多,有機會進入睡眠狀態(tài)。設(shè)網(wǎng)絡(luò)設(shè)備可在任何時刻進入睡眠狀態(tài)和運行狀態(tài),而且將網(wǎng)絡(luò)設(shè)備關(guān)閉能夠進一步地降低設(shè)備能耗。這里假定將網(wǎng)絡(luò)設(shè)備轉(zhuǎn)換為睡眠狀態(tài)和關(guān)閉網(wǎng)絡(luò)設(shè)備的功耗是可忽略的,但是網(wǎng)絡(luò)設(shè)備轉(zhuǎn)換為運行狀態(tài)和重新開啟的功耗是不可忽略的。如果網(wǎng)絡(luò)設(shè)備在某一時刻不執(zhí)行任何命令,就稱網(wǎng)絡(luò)設(shè)備在該時刻處于“空閑狀態(tài)”。初始狀態(tài)設(shè)設(shè)備的睡眠時間閾值為Ts,Ts的值通過該網(wǎng)絡(luò)設(shè)備的歷史情況預(yù)測。應(yīng)用動態(tài)閾值法調(diào)整睡眠時間的長度,前提是網(wǎng)絡(luò)在運行期間的工作負載不均勻,并且系統(tǒng)能夠以一定的可信度預(yù)測到工作負載的波動性,并且系統(tǒng)對工作負載的預(yù)測不消耗過多的能量。接下來討論網(wǎng)絡(luò)設(shè)備進入睡眠和喚醒的時間和條件:
3 結(jié)語
雖然這種睡眠機制還會有丟包現(xiàn)象,但是在網(wǎng)絡(luò)設(shè)備睡眠時間閾值Ts不斷調(diào)整的過程中,睡眠時間會越來越適應(yīng)數(shù)據(jù)包到達時間,丟包率明顯下降。
參考文獻:
[1]Hewleet-Packard I.Advanced configuration and power interface specification.ACPI Specification Document.Revision4.0a,2010.
[2]吳福煒,甘駿人.一種實時功耗管理算法[J].計算機學(xué)報, 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-),女,遼寧朝陽人,信息工程系副主任,副教授,研究方向:軟件開發(fā)。