宋 家 余 靖 金順福
(燕山大學信息科學與工程學院 秦皇島066004)
隨著智能手機的大量普及和移動通信網絡的迅猛發展,各類網絡應用程序,如交互式游戲、虛擬現實、自然語言處理等層出不窮。這些應用程序通常是計算密集型和高耗能的,不適合在計算能力和電池供應有限的移動設備上工作。為了滿足復雜應用程序的資源需求,移動云計算的概念應運而生。如何設計同時保證云用戶的服務質量和云服務供應商運營利潤的云計算卸載策略成為熱門研究問題[1-2]。
過去的幾年中,云數據中心的能源消耗持續增長,云數據中心消耗的大量能量對環境造成了不利影響。文獻[3]提出了以節省能量消耗為目標的云資源調度優化管理程序,利用虛擬機監控程序分配資源,實現云計算資源分配的最小能耗和最高效率。文獻[4]為了解決云用戶的服務質量和能耗等問題提出了一種云計算環境下動態資源分配模型,使用間距多目標蟻群算法將云系統狀態的動態變化與任務調度相結合,通過調整未使用的虛擬機,節省云系統的能源消耗。上述文獻均采用資源優化配置的方式節省云系統能源消耗。
考慮到大部分云資源的使用率都較低,部分研究通過應用休眠機制以實現降低能源消耗的目的。文獻[5]為提高云系統節能水平,同時滿足云用戶響應性能,引入休眠延遲機制與休眠喚醒閾值,提出了一種云資源調度策略。建立帶有休假延遲與啟動過程的同步N-策略多重休假排隊模型,評估了所提策略的系統性能。文獻[6]以實現綠色云計算為目的,將基于喚醒閾值的休眠模式引入到集群虛擬機中,提出了一種云任務分配策略。建立異步N-策略多重休假排隊模型,給出了任務平均延遲和系統節能率的表達式。在以上的休眠機制中,處于休眠狀態的虛擬機完全不工作,雖然有效降低了云系統能源消耗,但是云用戶的服務質量得不到保證。
本文兼顧云用戶的服務質量與云系統的能源消耗水平,在云端引入周期性同步半休眠模式,提出一種新型的云計算任務卸載策略。考慮不同負載情況下的云端虛擬機服務速率,構建連續時間工作休假的排隊模型,研究云用戶的隨機行為。結合系統中任務請求的數量、本地處理器狀態以及云端虛擬機狀態,建立二維連續時間的Markov 鏈,進行云用戶平均響應時間與云系統能源消耗的理論分析。考慮不同休眠參數和不同系統負載,基于Matlab 進行系統實驗,給出系統性能指標的統計結果。構造系統成本函數,利用Logistic 映射混沌方法初始化種群位置,改進海鷗優化算法。以最小化系統成本函數為目標,優化任務請求本地分配概率,為云計算任務卸載策略的實施提供理論依據。
針對移動設備存儲空間不足且處理能力有限等問題,將部分任務請求遷移到云端[7]。云服務通過分布式軟件依托于云計算環境。在云數據服務中心上通常部署一個或多個物理機,而一個物理機上又可以部署多個虛擬機。當一個物理機上沒有需要被執行的任務時,如果其上部署的虛擬機保持空閑狀態,會因此產生大量的能耗,讓空閑的虛擬機進入休眠狀態是降低云計算能耗的有效方法之一。然而,休眠模式也可能會降低響應性能。因此在云端引入半休眠模式,提出一種新的云計算任務卸載策略。
產生于移動設備的任務請求首先匯聚于接入點,然后在本地負載均衡器的調度下就近分配到本地處理器接受服務,或卸載至云端接受服務。卸載到云端的任務請求由云端負載均衡器分配給某一個物理機。云計算任務卸載策略的系統架構如圖1 所示。

圖1 云計算任務卸載策略系統架構
當一個物理機上的任務請求全部完成時,若緩存區中也無等待的任務請求,則該物理機上部署的全部虛擬機同時由常規狀態進入半休眠狀態。在常規狀態下的虛擬機有高速工作狀態和高速空閑狀態兩種狀態。在半休眠狀態下,虛擬機不是完全停止工作,而是以低速率運轉,此時包含有低速工作狀態和低速空閑狀態。在所提出的云計算任務卸載策略中,虛擬機共有4 種狀態:高速工作狀態、高速空閑狀態、低速工作狀態和低速空閑狀態。虛擬機的狀態轉換過程如圖2 所示。

圖2 虛擬機的狀態轉換圖
(1) 高速工作狀態。物理機及物理機上部署的全部虛擬機正常工作,此狀態下物理機中至少有一個虛擬機正在服務任務請求。高速工作狀態下到達緩存區的任務請求依次在虛擬機接受服務。當服務完成最后一個任務請求時,物理機啟動休眠定時器,開始一段半休眠期,物理機上的所有虛擬機同時進入低速空閑狀態。若處于高速工作狀態的虛擬機服務完成當前的任務請求,未分配到新的任務請求,且同一物理機內有其他虛擬機還處于高速工作狀態,則該虛擬機轉換到高速空閑狀態。
(2) 高速空閑狀態。處于高速空閑狀態的虛擬機若分配到新的任務請求,則立即轉換到高速工作狀態提供服務。若物理機服務完成最后一個任務請求,則啟動休眠定時器,其上的所有虛擬機同時進入低速空閑狀態。
(3) 低速空閑狀態。處于低速空閑狀態的虛擬機可以隨時為新到達的任務請求提供服務,不受半休眠定時器的控制。如果在休眠定時器所規定的范圍內沒有任務請求到達,物理機將重新啟動休眠定時器,開始一次新的半休眠期,其上的虛擬機均保持在低速空閑狀態。當一個虛擬機處于低速空閑狀態時,若休眠定時器到期,且同一物理機內有其他虛擬機未服務完成任務請求,則物理機結束半休眠,該虛擬機轉換到高速空閑狀態;若分配到新的任務請求,該虛擬機立即由低速空閑狀態轉換到低速工作狀態。
(4) 低速工作狀態。當一個虛擬機以較低的速率完成當前的任務請求時,如果緩存區沒有其他等待的任務請求,該虛擬機將由低速工作狀態轉換到低速空閑狀態;否則,該虛擬機保持在低速工作狀態,以較低的服務速率為緩存區中等待的任務請求提供服務。當休眠定時器到期時,如果有其他虛擬機還在服務當前的任務請求,該物理機上的全部虛擬機同時進入高速工作狀態[8]。
將移動設備的CPU 視為本地服務臺,建立單一服務臺連續工作排隊。云端每個虛擬機視為遠程服務臺,建立多服務臺同步多重工作休假排隊。結合單一服務臺連續工作排隊與同步多重工作休假排隊,建立系統模型。
假設移動設備任務請求的生成間隔是參數為λ(0<λ <+∞) 的指數分布。經過本地負載均衡器調度后以概率p分配到本地,以概率卸載至云端。
顯然,本地服務臺任務請求的到達服從參數為λ0=pλ(0<λ0<λ) 的Poisson 過程。假設本地服務臺對一個任務請求的服務時間服從參數為μ0(0<μ0<+∞) 的指數分布。假設本地只有一個服務臺,等待緩存區容量無窮大,假設任務請求的到達過程與服務過程是彼此獨立的。因此,本地服務臺執行任務請求的過程可看做M/M/1 排隊。
在云端負載均衡器的調度下,分配到云端的任務請求以qi(0<i≤n)(n為云端部署的物理機個數)的概率分配到第i個物理機接受服務。對于第i個物理機,任務請求的到達服從參數為的Poisson 過程。假設第i個物理機中部署了ci個相互獨立并行工作的虛擬機,當任務請求到達一個物理機時,若有高速空閑狀態的虛擬機,則立即接受服務,否則排隊等待。一旦物理機服務完成最后一個任務請求,ci個虛擬機同時開始隨機長度Vi的工作休假,其中Vi服從參數為θi(0<θi <+∞) 的指數分布。在非工作休假期內,任務請求的服務時間服從參數為μbi(0<μbi <+∞) 的指數分布,工作休假期服務時間服從參數為μvi(0<μvi <μbi) 的指數分布。假設所有物理機具有無限緩存,假設任務請求的到達間隔、服務時間和工作休假期的長度相互獨立。因此,第i個物理機執行任務請求的過程可看做同步多重工作休假M/M/ci排隊[9-10]。
令隨機變量Li(t)=l(l=0,1,…) 表示時刻t第i個物理機中任務請求的數量,稱為系統水平。令隨機變量Ji(t)=j(j=0,1) 表示時刻t物理機所處的狀態:j=0 表示物理機處于工作休假狀態,j=1 表示物理機處于正規忙狀態。{(Li(t),Ji(t)),t≥0} 構成一個二維連續時間Markov 鏈,其狀態空間Ωi為

令πi(l,j) 表示穩態下系統水平為l且物理機狀態為j的概率分布。πi(l,j) 定義為

令πi(0)=πi(0,0) 表示為穩態下系統水平為0 的概率向量,令πi(l)=(πi(l,0),πi(l,1))表示為穩態下系統水平為l的概率向量。二維連續時間Markov 鏈{(Li(t),Ji(t)),t≥0} 的穩態概率分布Πi表示為

根據云計算任務卸載策略建立的系統模型由1 個M/M/1 排隊和n(n為云端部署的物理機個數)個同步多重工作休假M/M/ci排隊構成,其中ci為云端部署的第i(0<i≤n) 個物理機上虛擬機的個數。為確保整個系統模型達到穩態,需要系統模型中的每一個排隊均達到穩態。
本地處理器所對應的M/M/1 排隊的穩態條件為

其中,ρ0表示為本地處理器的流通強度。
云端服務器上部署的第i(0<i≤n) 個物理機所對應的同步多重工作休假M/M/ci排隊的穩態條件為

其中,ρi表示云端服務器上部署的第i個物理機的流通強度。
結合式(1)與式(2),給出系統模型處于穩定狀態的充分必要條件為

根據云端中每個物理機上任務請求的數量l與物理機所處狀態j之間的關系,給出Markov 鏈{(Li(t),Ji(t)),t≥0} 的狀態轉移過程,如圖3所示。

圖3 Markov 過程的狀態轉移
由圖3 可知,狀態轉移只發生在相鄰的系統水平之間,表明二維Markov 鏈{(Li(t),Ji(t)),t≥0}是擬生滅過程。
令Qi表示Markov 鏈{(Li(t),Ji(t)),t≥0}的一步轉移率矩陣。根據系統水平劃分Qi為若干個子陣。令Qi(x,y) 表示系統水平由x(x=0,1,…) 到y(y=0,1,…) 的轉移率子陣。為表述方便,將Qi(x,x -1)、Qi(x,x) 和Qi(x,x +1) 分別記為Bi(x)、Ai(x) 和Ci(x)。
(1) 當第i個物理機中任務請求的數量由x變為x -1 時,轉移率子陣為Bi(x)。
當x=1 時,若以低速率服務完成任務請求,虛擬機將由低速工作狀態變為低速空閑狀態,即由狀態(1,0)轉換到狀態(0,0),轉移率為μvi;若以高速率服務完成任務請求,虛擬機將由高速工作狀態變為低速空閑狀態,即由狀態(1,1)轉換到狀態(0,0),轉移率為μbi。Bi(1) 為2 ×1 維矩陣,可表示為

當2 ≤x≤ci時,若以低速率服務完成任務請求,虛擬機將由低速工作狀態變為低速空閑狀態,即由狀態(x,0) 轉換到狀態(x -1,0),轉移率為xμvi;若以高速率服務完成任務請求,虛擬機將由高速工作狀態變為高速空閑狀態,即由狀態(x,1) 轉換到狀態(x -1,1),轉移率為xμbi。Bi(x) 為2 ×2維矩陣,可表示為

當x >ci時,若以低速率服務完成任務請求,虛擬機將繼續保持低速工作狀態,即由狀態(x,0) 轉換到狀態(x -1,0),轉移率為ciμvi;若以高速率服務完成任務請求,虛擬機將繼續保持高速工作狀態,即由狀態(x,1) 轉換到狀態(x -1,1),轉移率為ciμbi。Bi(x) 為2 ×2 維矩陣,可表示為

(2) 當第i個物理機中任務請求的數量x保持不變時,轉移率子陣為Ai(x)。
當x=0 時,第i個物理機處于半休眠狀態,其上所有虛擬機低速空轉。若無任務請求到達,狀態(0,0)保持不變,轉移率為-λi。Ai(0) 退化為一個數,可表示為

當1 ≤x≤ci時,若j=0,第i個物理機處于半休眠狀態,其上部署的虛擬機部分低速運轉部分低速空轉。若無任務請求到達也無任務請求離開且休眠定時器未到期,狀態(x,0) 保持不變,轉移率為-(λi+xμvi+θi);若休眠定時器到期,物理機由狀態(x,0) 轉換到狀態(x,1),轉移率為θi。若j=1,第i個物理機處于常規狀態,其上部署的虛擬機部分高速運轉部分高速空轉。若無任務請求到達也無任務請求離開,狀態(x,1) 保持不變,轉移率為-(λi+xμbi)。Ai(x) 為2 ×2 維矩陣,可表示為

當x >ci時,若j=0,第i個物理機處于半休眠狀態,其上部署的虛擬機部分低速運轉部分低速空轉。若無任務請求到達也無任務請求離開且休眠定時器未到期,狀態(x,0)保持不變,轉移率為-(λi+ciμvi+θi);若休眠定時器到期,物理機由狀態(x,0) 轉換到狀態(x,1),轉移率為θi。若j=1,第i個物理機處于常規狀態,其上部署的虛擬機部分高速運轉部分高速空轉。若無任務請求到達也無任務請求離開,狀態(x,1)保持不變,轉移率為-(λi+ciμbi)。Ai(x) 為2 ×2 維矩陣,可表示為

(3) 當第i個物理機中任務請求的數量由x變為x +1 時,轉移率子陣為Ci(x)。
當x=0 時,第i個物理機處于半休眠狀態,其上所有虛擬機低速空轉。若有任務請求達到,其中一個虛擬機將變為低速工作狀態,即由狀態(0,0)轉換到狀態(1,0),轉移率為λi。Ci(0) 為1 ×2 維矩陣,可表示為

當x≥1 時,若j=0,第i個物理機處于半休眠狀態,其上部署的虛擬機既有低速空轉又有低速運轉。若有任務請求到達,物理機由狀態(x,0) 轉換到狀態(x +1,0),轉移率為λi。若j=1,第i個物理機處于常規狀態,其上部署的虛擬機部分高速運轉部分高速空轉。若有任務請求到達,物理機由狀態(x,1) 轉換到狀態(x +1,1),轉移率為λi。Ci(x) 為2 ×2 維矩陣,可表示為

結合以上給出的一步轉移率子陣,發現Bi(x)(0<i≤n) 和Ai(x)(0<i≤n) 從系統水平ci起開始重復,轉移率子陣Ci(x)(0<i≤n) 從系統水平1 起開始重復。將重復的Bi(x)、Ai(x) 和Ci(x) 分 別 用Bi、Ai和Ci表 示,則Markov 鏈{(Li(t),Ji(t)),t≥0} 的一步轉移率矩陣Qi可表示為分塊三對角形式

擬生滅過程{(Li(t),Ji(t)),t≥0} 正常返的充分必要條件是矩陣二次方程式

有最小非負解Ri,且譜半徑Sp(Ri)<1。最小非負解Ri被稱為率陣,可以推出其精確解。
由于轉移率子陣Bi、Ai和Ci均為上三角矩陣,因此,率陣Ri也為上三角矩陣,表示為

將Ri、Bi、Ai和Ci代入矩陣二次方程式(4)中,可得方程組


利用所得出的率陣Ri,構建一個方陣B[Ri]為

由矩陣幾何解中的平衡方程和歸一化條件可知,擬生滅過程{(Li(t),Ji(t)),t≥0} 的平穩分布滿足方程組

其中,e1是(2ci -1)×1 的全1 列向量,e2是2 ×1的全1 列向量,I是2 ×2 的單位陣。

利用高斯-塞德爾法求解方程式(7),可以給出πi(k)(0 ≤k≤ci) 的數值解。
基于矩陣幾何解方法,由πi(ci) 進一步給出πi(k)(k≥ci +1) 如下:

關注云用戶響應時間和云系統能耗水平,評估基于半休眠模式的云計算任務卸載策略的性能指標。
任務請求在本地處理器接受服務的平均響應時間TMD包括任務請求在本地緩存中的等待時間與在本地處理器上執行的時間。根據M/M/1 排隊模型,可以得到TMD的表達式為

任務請求卸載到云端服務器接受服務的平均響應時間TC包括任務請求在云端緩存中的等待時間與在云端服務器上執行的時間。卸載到云端后第i個物理機上任務請求的平均響應時間Ti的表達式為

其中,Tsi表示任務請求在第i個物理機上的平均服務時間,e為2 ×1 的全1 列向量。
根據卸載到第i個物理機上的任務請求到達云端時的狀態,分以下4 種情況討論Tsi。(1) 若第i個物理機處于常規狀態,當前任務請求接受高速率服務,平均服務時間為;(2) 若第i個物理機處于半休眠狀態,休眠定時器到期之前緩存中排隊等待的所有任務請求及當前任務請求均完成服務,當前任務請求接受低速率服務,平均服務時間為;(3) 若第i個物理機處于半休眠狀態,休眠定時器到期之前緩存中排隊等待的所有任務請求均完成服務,但當前任務請求未服務完成,當前任務請求經歷一段低速率服務和一段高速率服務,平均服務時間為;(4) 若第i個物理機處于半休眠狀態,休眠定時器到期時,緩存中有排隊等待的任務請求未服務完成,當前任務請求接受高速率服務,平均服務時間為。因此,任務請求在第i個物理機上的平均服務時間Tsi表示為

令任務請求分配到第i個物理機上的概率為qi(0<qi <1),則卸載到云端接受服務的任務請求的平均響應時間TC的表達式為

云用戶的平均響應時間T定義為任務請求從進入系統開始直到離開系統所經歷的時間長度的平均值。結合式(8)和式(9),給出平均響應時間T的表達式為

其中,p(0<p <1) 為任務請求在本地處理器接受服務的概率,為任務請求卸載到云端服務器接受服務的概率。
本地處理器處于工作狀態時的平均運行功率表示為Pbusy,處于空閑狀態時的平均運行功率表示為Pidle。任務請求在本地處理器接受服務的平均功率消耗EMD為

云端上部署的第i個物理機處于半休眠狀態時,該物理機維持其上一個虛擬機空轉的平均運行功率表示為;維持其上一個虛擬機運轉的平均運行功率表示為。云端上部署的第i個物理機處于常規狀態時,該物理機維持其上一個虛擬機空轉的平均運行功率表示為;維持其上一個虛擬機運轉的平均運行功率表示為。任務請求在云端服務器接受服務的平均功率消耗為

結合式(11)和式(12),給出系統平均功率E的表達式為

為了進一步進行系統實驗研究任務請求初始分配概率與休眠參數對云計算任務卸載策略的影響,進行性能指標變化趨勢的系統實驗。系統實驗的計算機硬件環境為Intel(R) Core(TM),i7-4790 CPU@3.60 GHz,8.00 GB RAM。軟件環境為Matlab R2016a。
在保證系統模型穩定的條件下的參數設置如表1所示。

表1 實驗參數設置
根據表1 設定的實驗參數,針對不同的休眠參數θ和不同的任務請求到達率λ,給出云用戶平均響應時間T隨任務請求本地分配概率p的變化趨勢如圖4 所示。

圖4 云用戶平均響應時間的變化趨勢
對比圖4 (a)和4 (b)可知,當任務請求本地分配概率p和任務請求到達率λ一定時,隨著休眠參數θ的增大,云用戶平均響應時間T減小。休眠參數θ較大時,云端物理機處于半休眠狀態的時間長度縮短。這種情況下,云端服務器可以更及時地返回常規狀態以高速服務率為任務請求提供服務。因此,云用戶平均響應時間T減小。
固定任務請求到達率λ和休眠參數θ,分別觀察圖4(a)和圖4(b)可知,隨著任務請求本地分配概率p的增加,云用戶平均響應時間T呈現出先下降后上升的趨勢。在曲線最低點左側,任務請求本地分配概率p較小,任務請求到達系統后大概率地卸載到云端服務器接受服務,任務請求在云端的響應時間成為云用戶平均響應時間T的主導因素。隨著任務請求本地分配概率p的增加,分配到本地的任務請求逐漸增多,堆積在云端的任務請求減少,云用戶平均響應時間T隨之減小。在曲線最低點右側,任務請求本地分配概率p較大,任務請求到達系統后大概率地選擇在本地處理器接受服務,任務請求在本地處理器接受服務的響應時間成為云用戶平均響應時間T的主導因素。隨著任務請求本地分配概率p的增加,分配到本地的任務請求越來越多,大量的任務請求將會堆積在本地處理器的緩存區,云用戶平均響應時間T隨之增大。
固定休眠參數θ和任務請求本地分配概率p,分別觀察圖4(a)和圖4(b)可知,隨著任務請求到達率λ的增加,云用戶平均響應時間T增加。無論是在本地還是云端,隨著任務請求到達率λ的值增大,系統內到達的任務請求數量也就越多,顯然云用戶平均響應時間T將會增大。
針對不同的休眠參數θ和不同的任務請求到達率λ,給出云系統平均功率E隨任務請求本地分配概率p的變化趨勢如圖5 所示。
對比圖5(a)和5(b)可知,當任務請求到達率λ一定而任務請求本地分配概率p較小時,隨著休眠參數θ的增大,云系統平均功率E略有增大。休眠參數θ較大時,云端物理機處于半休眠狀態的時間長度縮短,物理機可以更及時地轉換到常規狀態。處于常規狀態的物理機所消耗的功率大于處于半休眠狀態的物理機所消耗的功率。因此,云系統平均功率E增加。當任務請求到達率λ一定而任務請求本地分配概率p較大時,卸載到云端的任務請求數量較少,云端物理機有更多的機會持續處于半休眠狀態。云系統平均功率E與休眠參數θ的關系減弱。
固定休眠參數θ和任務請求到達率λ,分別觀察圖5(a)和圖5(b)可知,隨著任務請求本地分配概率p的增加,云系統平均功率E呈現出先下降后上升的趨勢。在曲線最低點左側,任務請求本地分配概率p較小,任務請求到達系統后大概率地卸載到云端服務器接受服務。隨著任務請求本地分配概率p的增加,卸載到云端的任務請求減少,云端物理機有更多的機會進入半休眠狀態,云系統平均功率E隨之減小。在曲線最低點右側,任務請求本地分配概率p較大,任務請求到達系統后大概率地選擇在本地處理器接受服務。隨著任務請求本地分配概率p的增加,本地處理器提供服務需要的功耗增加,云系統平均功率E隨之變大。

圖5 云系統平均功率的變化趨勢
固定休眠參數θ和任務請求本地分配概率p,分別觀察圖5(a)和圖5(b)還可知,隨著任務請求到達率λ的增加,云系統平均功率E增加。無論是在本地還是云端,隨著任務請求到達率λ的增大,系統內到達的任務請求數量增多,執行任務請求需要的功耗更多,因此云系統平均功率E將會增大。
綜合圖4 和圖5 的實驗結果可以發現,任務請求本地分配概率是影響系統性能的重要因素。兼顧云用戶和云系統的不同要求,在不同的任務請求到達率和相同的休眠參數情況下,優化任務請求本地分配概率。
為了權衡云用戶平均響應時間與云系統平均功率之間的折衷關系,構造系統成本函數F為

其中,β1表示云用戶平均響應時間T對系統成本的影響因子,β2表示云系統平均功率E對系統成本的影響因子。在實際應用中,對于高響應需求的云系統,可將參數β1的值設置得大些;而對于高節能需求的云系統,則可將參數β2的值設置得大些。
與其他智能優化算法相比,海鷗智能優化算法容易實現,且不需要調整過多的參數[13]。為了加快算法搜索速度,利用Logistic 映射混沌方法進行海鷗位置初始化,改進海鷗優化算法,優化任務請求本地分配概率。算法中海鷗的位置表示任務請求本地分配概率p,海鷗的適應值表示系統成本函數F的值。算法的主要步驟如下。
步驟1初始化海鷗數量N,最大迭代次數Maxiterations,控制海鷗在給定搜索空間中運動行為A的頻率fc,螺旋攻擊形狀的相關常數u、v,海鷗飛行位置的上邊界Maxp與下邊界Minp。初始化當前迭代次數t=0。
步驟2利用Logistic 映射方法產生混沌變量初始化海鷗的位置。

步驟3初始化當前最佳海鷗位置p*和適應值F*。

步驟4根據海鷗遷徙行為和攻擊行為更新海鷗位置。


步驟5使用系統成本函數F計算海鷗的適應值F(pm),m=1,2,…,N。

步驟6找出當前最佳海鷗位置p*和適應值F*。

步驟7更新迭代次數。

步驟8輸出最佳海鷗位置為最優任務請求本地分配概率p*;輸出最佳適應值為最小系統成本F*。
沿用第4 節系統實驗的參數,設定β1=2,β2=0.2,N=30,Maxiterations=1000,fc=2,u=1,v=1,Maxp=0.99999,Minp=0.00001。利用改進的海鷗優化算法,給出任務請求本地分配概率的優化結果如表2 所示。
由表2 的優化結果可知,對于相同的休眠參數θ,當任務請求到達率λ增大時,受本地處理器處理能力的限制,會有更多的任務請求卸載到云端服務器,因此,最優任務請求本地分配概率p*變小。對于相同的任務請求到達率λ,休眠參數θ越大,云端服務器處于半休眠狀態的時間越短,云端服務器產生的功率消耗越高。為了實現系統成本的最小化,更多的任務請求將在本地處理器接受服務,因此,最優任務請求本地分配概率p*越大越好。

表2 任務請求本地分配概率的優化結果
綜合考慮云用戶低響應時間與云系統低功率消耗的要求,根據系統負載調整云端服務器的工作速率,基于半休眠模式,提出了一種云計算任務卸載策略。通過建立本地單一服務臺連續工作排隊和云端多服務臺同步多重工作休假排隊,給出了穩態下云用戶平均響應時間和云系統平均功率的表達式,并通過實驗揭示出不同性能指標之間的折衷關系。從經濟學角度出發,構建了系統成本函數,改進傳統的海鷗優化算法,給出了任務請求本地分配概率的優化方案。
本文所引入的周期性同步半休眠模式具有良好的節能效果。在未來的研究中,將考慮具有多級適應性的半休眠模式,以進一步提高用戶的響應性能。