朱啟成
(安徽工貿(mào)職業(yè)技術(shù)學(xué)院 計算機信息工程系,安徽 淮南 232001)
隨著商業(yè)科技應(yīng)用的不斷增多,其計算規(guī)模也在與日俱增,云計算為了更好地滿足這些需求及時推出了一種滿足成本效益的計算資源調(diào)度方式,有效地推動了各行業(yè)領(lǐng)域的建設(shè)發(fā)展,并得到了廣泛的應(yīng)用。[1]云數(shù)據(jù)中心將各種資源構(gòu)造成動態(tài)資源池,由此實現(xiàn)其云資源的靈活部署、按需分配。用戶通過互聯(lián)網(wǎng),可在任意時間、任意地點,根據(jù)需求獲取網(wǎng)絡(luò)資源服務(wù)。然而,商業(yè)場景下的用戶需求更復(fù)雜、更多樣,為其提供有質(zhì)量保證的服務(wù)是當(dāng)前階段積極推動云計算服務(wù)商業(yè)化運營的關(guān)鍵。在這種情況下,如何有效保證用戶QoS (Quality of Service 服務(wù)質(zhì)量)是云計算資源管理中的重要問題。
基于此,本文從客戶角度出發(fā),綜合考慮全方位因素,在云計算環(huán)境下對于資源管理應(yīng)用用戶QoS保障機制。[2]以創(chuàng)建的用戶QoS保障資源管理系統(tǒng)為平臺框架,分析用戶的多任務(wù)需求,構(gòu)造可評估量化的用戶QoS指標(biāo)體系;同時,以最少的運營成本為最終目標(biāo),實現(xiàn)在對虛擬資源的合理分配。設(shè)計一種虛擬資源動態(tài)分配機制,最大程度上利用虛擬資源,實現(xiàn)云計算環(huán)境下,虛擬資源的合理管理、優(yōu)化配置,最大程度上保障用戶QoS。[3]
QoS (Quality of Service)作為一種網(wǎng)絡(luò)安全機制。對服務(wù)質(zhì)量(QoS)進(jìn)行研究,可推進(jìn)服務(wù)商不斷改善現(xiàn)有服務(wù)質(zhì)量,擴展用戶;另一方面,用戶的服務(wù)質(zhì)量也能夠得到良好的保證。[4]
云計算服務(wù)包含服務(wù)目標(biāo)和服務(wù)提供者。[5]云計算服務(wù)目標(biāo)是網(wǎng)絡(luò)用戶,網(wǎng)絡(luò)用戶復(fù)雜多樣,而提供云計算服務(wù)的是云資源服務(wù)提供商,所提供的云資源具有動態(tài)變化性。在云計算環(huán)境下,虛擬資源分配情況差異顯著,既有可能是高性能集群,也可能是服務(wù)器集群。因此,為網(wǎng)絡(luò)用戶提供長期服務(wù)和質(zhì)量保障的機制,需要解決以下幾點問題:云資源性能、資源可利用程度、網(wǎng)絡(luò)安全性。
在云計算環(huán)境下,云資源提供商可提供的資源有多種,其中包含存儲資源、計算資源。網(wǎng)絡(luò)虛擬資源等??紤]到這些資源的多樣性,對用戶服務(wù)質(zhì)量進(jìn)行評估量化階段需要考慮到上述資源的相關(guān)影響。
以往創(chuàng)建的云計算技術(shù)框架,將云服務(wù)集中控制在云端,用戶只能通過云端獲取云服務(wù)。因此,云服務(wù)供應(yīng)商一定要保證其提供資源的能用性,但是我國云計算技術(shù)發(fā)展并不成熟,難以避免在實際應(yīng)用中會存在技術(shù)問題。如微軟的云計算平臺在2009年試運行階段,也發(fā)生長時間服務(wù)中斷情況,這種情況的發(fā)生導(dǎo)致許多網(wǎng)絡(luò)用戶數(shù)據(jù)丟失。[8]
數(shù)據(jù)中心含有海量計算節(jié)點,有部分節(jié)點無法實現(xiàn)長時間工作,會出現(xiàn)少量節(jié)點死亡的情況,因此,網(wǎng)絡(luò)虛擬機的停止運作是一種時常發(fā)生的情況。將網(wǎng)絡(luò)虛擬機進(jìn)行動態(tài)轉(zhuǎn)移,調(diào)度新的節(jié)點取代已死亡的計算節(jié)點,可實現(xiàn)故障切斷,有效保證云計算環(huán)境的可利用性極其重要。除此之外,云端無法保證用戶上傳數(shù)據(jù)的安全性,理論上來講,存儲在云端的數(shù)據(jù)是冗余的。因此,云服務(wù)提供者如何應(yīng)對節(jié)點失效情況以及節(jié)點快速恢復(fù)能力,也是其中一個關(guān)鍵問題。將存儲在本地、自己能夠操縱的數(shù)據(jù)上傳到一個外部的存儲中心,數(shù)據(jù)的安全性和隱私程度是用戶關(guān)注的重點,因此當(dāng)用戶采用云計算服務(wù)時,無法得知自己上傳的數(shù)據(jù)放置在那臺服務(wù)器上,同時也無法得知該服務(wù)器的具體IP地址。[9]
在以往的分布式環(huán)境下,虛擬資源是可免費獲取的,進(jìn)行資源分配的最佳目標(biāo)僅需保證系統(tǒng)整體性能為最佳即可。在云計算網(wǎng)絡(luò)環(huán)境下,云計算服務(wù)為用戶提供的資源多種多樣,用戶可根據(jù)自身需求選取所用資源,對資源付費。在上述商業(yè)模式下,云計算為有需求用戶提供各種匹配的虛擬資源,用戶根據(jù)實際使用情況和付費情況綜合選擇更高質(zhì)量的云資源服務(wù),服務(wù)等級的不同對應(yīng)的付費情況也是不同的。因此,對于云服務(wù)供應(yīng)商來說,需要在服務(wù)質(zhì)量QoS保障和運營成本之間找尋平衡。[10]當(dāng)前階段,云服務(wù)資源管理僅能提供一部分用戶的資源調(diào)度策略,并且調(diào)度策略影響因素較多,難以有效兼顧用戶服務(wù)需求、運營成本等問題。
服務(wù)質(zhì)量一直是以用戶體驗為主,是評價用戶需求是否得到滿足的一項指標(biāo)。在互聯(lián)網(wǎng)和計算機領(lǐng)域,將服務(wù)質(zhì)量(QoS)設(shè)定為“使用服務(wù)的總體效果,這些效果決定了一個用戶對這項服務(wù)的滿意程度”,一般情況下可用于處理互聯(lián)網(wǎng)網(wǎng)絡(luò)堵塞和延遲等問題,是一種網(wǎng)絡(luò)安全機制,應(yīng)用網(wǎng)絡(luò)過程中,如出現(xiàn)網(wǎng)絡(luò)擁塞或是延遲情況,QoS可以確保最關(guān)鍵的網(wǎng)絡(luò)任務(wù)不會被丟失,同時確保網(wǎng)絡(luò)穩(wěn)態(tài)運行。
在云計算環(huán)境下,云計算服務(wù)對象的需求是實時變化的,對應(yīng)的服務(wù)內(nèi)容也是根據(jù)用戶需求而實時改變的,這種對接模式是云計算發(fā)展至今被商業(yè)科技應(yīng)用所認(rèn)可的關(guān)鍵。因此,面對服務(wù)對象的多樣性,服務(wù)需求的多面性,云計算服務(wù)商對于資源調(diào)度的分配情況也在不斷完善。云計算服務(wù)對象在明確自身需求后,選取匹配的云計算服務(wù)供應(yīng)商和相應(yīng)的服務(wù)時,因不同類別的云計算服務(wù)商提供的服務(wù)級別有顯著差異,需要綜合考慮服務(wù)商所提供的服務(wù)、規(guī)模以及具體費用等因素,并盡可能在用戶需求、期望服務(wù)水平以及費用支出等方面抉擇出最佳服務(wù)供應(yīng)商。而對云計算服務(wù)供應(yīng)商來講,用戶需求復(fù)雜多變,需要從技術(shù)可實現(xiàn)程度和服務(wù)完善情況等角度建立資源管理平臺,有效分配任務(wù),提供有保障的云計算服務(wù)。
在laaS資源服務(wù)層中,用戶作為目標(biāo)對象,云資源作為供應(yīng)主體,服務(wù)質(zhì)量QoS作為衡量云計算服務(wù)的基準(zhǔn)。因此,為了保證服務(wù)質(zhì)量,在確定QoS參數(shù)時,應(yīng)當(dāng)綜合考慮用戶情況和云資源情況,綜合兩者,在QoS參數(shù)選取階段應(yīng)當(dāng)體現(xiàn)全面。具體用戶QoS與云計算資源特征之間的映射情況如圖1所示。
圖1 用戶QOS與資源特征的映射關(guān)系如圖
P—中值選址模型是地址問題中被了解最多的一類,它描述在一個固定個數(shù)和位置的需求集合和一個備選設(shè)施位置的集合下,將大概為p個服務(wù)設(shè)施有效劃分到匹配空間內(nèi),并與P—中值選址模型中多個需求節(jié)點有對接關(guān)系,有效降低匹配空間內(nèi)服務(wù)設(shè)施與對應(yīng)的需求點之間的傳遞費用。這種選址優(yōu)化問題在物流企業(yè)中應(yīng)用較為廣泛,因此也可將其描述為“經(jīng)濟效益型”目標(biāo)。從數(shù)學(xué)角度對其定義,為P—中值模型。將其劃分為選址優(yōu)化問題的目標(biāo)函數(shù)、約束條件以及可變量定義這些方面,并對這些方面進(jìn)行準(zhǔn)確描述,通常情況下,將P—中值問題的目標(biāo)函數(shù)描述為:
(1)
對應(yīng)的約束條件如下:
(2)
(3)
xij≤yi,i∈I,j∈J
xij≤{0,1},j∈J
yj∈{0,1},j∈J
式中,I用于描述需求點集合,I={1,2,…,i},di用于描述客戶i當(dāng)前階段的運輸量;將M描述為為用戶目標(biāo)而構(gòu)建的m個備選點,M=(1,2,…,m);cij用于描述從備選點i到j(luò)的移動費用;p用于描述可構(gòu)造的設(shè)施數(shù)量。
式(1)是P—中值問題的目標(biāo)即總移動費用為最低,也可將其考慮成最低移動費用為目標(biāo)函數(shù),其約束條件;(2)是需要確保各個需求節(jié)點僅有一個服務(wù)設(shè)施與其對接,約束條件;(3)為保證總的服務(wù)設(shè)施數(shù)量為P,約束條件;(4)用于描述與需求節(jié)點相關(guān)的服務(wù)設(shè)施必然存在。
擴展選址問題是描述在基本選址問題上考慮其他影響因素,并對這些影響因素進(jìn)行分析,將其加入約束條件中。
(4)
P—中值選址模型是有容量限制的,與其他無容量限制的模型是有明顯的區(qū)別的,有容量的各個設(shè)施的容量是有上限的,要求其容量不小于被劃分到需求點的需求總量。
分等級的具有容量限制的P—中值模型是至今為止被廣泛關(guān)注的擴展選址問題之一,綜合考慮其約束條件,最終將服務(wù)設(shè)施的等級和容量作為約束條件。分級選址模型應(yīng)用場景十分廣泛,可將帶容量的分級選址模型目標(biāo)函數(shù)描述為:
(5)
約束條件
xijs≤yjs,i∈I,j∈J,s∈S
(6)
xijs∈{0,1},i∈I,j∈J,s∈S
yijs∈{0,1},i∈I,s∈S
式中,I用于描述帶容量的分級選址模型需求點集合,J用于描述研究目標(biāo)中j個服務(wù)設(shè)施的備選地點。J={1,2,…j}。
蟻群算法作為一種求解多目標(biāo)問題的仿生優(yōu)化算法,以螞蟻種群搜索目標(biāo)過程中螞蟻之間信息交換和協(xié)同交互來獲取最終覓食的最短路徑。采用蟻群算法求解組合優(yōu)化問題的優(yōu)勢為能夠快速獲取最優(yōu)解,實際應(yīng)用過程中效果較好。根據(jù)種群個體之間信息素的反饋機制能夠快速獲取最優(yōu)解。同時,使用蟻群算法還能夠采用其獨有的啟發(fā)式搜索機制,在找尋實物的過程中快速得到最佳解。
對于n個PC機對應(yīng)于m個宿主的對接分配問題,按照上述資源調(diào)度機制對傳統(tǒng)蟻群算法進(jìn)行優(yōu)化,并依據(jù)虛擬機動態(tài)遷移技術(shù)完成PC機資源的合理分配。假設(shè),如果某一宿主主機處于勿打擾的工作狀態(tài),說明該主機的工作量已飽和,如有接收其他虛擬資源分配問題時,將與宿主主機對接的虛擬機轉(zhuǎn)移到其他位置,用于保障QoS;假設(shè)該宿主主機處于等待狀態(tài),將與其對接的虛擬機集中,并將剩余工作分配至其他處于等待狀態(tài)的宿主主機上,減少宿主物理主機的工作量。使用調(diào)度機制的目標(biāo)在于控制云計算資源數(shù)據(jù)中心的總功率,最大程度上降低能源消耗。
假設(shè),K={1,2,…K}表示蟻群個體總數(shù),J=(1,2,…j)用于描述PC機總數(shù),τj(t)用于描述宿主j在種群迭代至第(t)次迭代時的已釋放的信息素的量。在第(t)次迭代時,種群中每個個體選取下一個宿主物理機的轉(zhuǎn)移概率可利用下式描述為:
(7)
其中,種群中每個個體k都會有相應(yīng)的禁忌表tabuk,這個禁忌表用于統(tǒng)計個體k至今為止所選取的宿主物理機的集合,該表可根據(jù)具體時間動態(tài)調(diào)整。當(dāng)種群中全部個體完成一次種群迭代,則每個宿主主機對應(yīng)的信息素濃度也需要更新,具體更新公式如下:
(8)
(9)
為了驗證本文提出基于云計算的Qos保障機制優(yōu)化服務(wù)策略可應(yīng)用于真實環(huán)境,進(jìn)行了一次仿真實驗,實驗數(shù)據(jù)取自于某大學(xué)的網(wǎng)格實驗室。此次實驗中,設(shè)定的云計算服務(wù)對象共5人,這5個用戶的實際需求不同,根據(jù)具體的服務(wù)需求將云計算服務(wù)任務(wù)請求等級劃分為不同級別。與其相應(yīng)的,在云計算服務(wù)資源管理中心中,設(shè)定不同等級的虛擬機,根據(jù)Amazon的云服務(wù)的標(biāo)準(zhǔn)實例的按需定價標(biāo)準(zhǔn)。將某大學(xué)實驗室提供的3/5的樣本數(shù)據(jù)作為訓(xùn)練階段所用數(shù)據(jù),剩余數(shù)據(jù)作為實驗數(shù)據(jù)。
為了驗證本文提出基于云計算的Qos保障機制優(yōu)化服務(wù)策略可應(yīng)用于真實環(huán)境,進(jìn)行了一次仿真實驗,實驗劃分為兩個階段,第一個階段,將資源調(diào)度效率視為關(guān)鍵評價因素,評價本文所提出的基于云計算的Qos保障機制優(yōu)化服務(wù)策略的實際服務(wù)質(zhì)量。在實驗的第二個階段,將文獻(xiàn)[4]作為對照算法,進(jìn)行對比分析,判斷不同算法進(jìn)行資源調(diào)度的能量消耗情況。
(1)使用本文方法實現(xiàn)Qos保障機制服務(wù),設(shè)定實驗樣本數(shù)量為60,分析本文方法處理不同資源數(shù)據(jù)時對應(yīng)的調(diào)度效率,具體情況如圖2所示。
圖2 本文方法資源調(diào)度的效率
從圖2可知,本文方法進(jìn)行資源調(diào)度的效率較高,這是因為通過討論云計算QoS保障的關(guān)鍵問題,利用貪心算法組建基于分級選址問題模型。從而保證了本文方法進(jìn)行Qos保障機制服務(wù)的綜合有效性。
(2)分別利用本文方法和傳統(tǒng)方法進(jìn)行Qos保障機制服務(wù)實驗,對比不同方法進(jìn)行資源調(diào)度的能耗,對比結(jié)果見圖3。
圖3 不同方法資源調(diào)度能耗對比
從圖3可知,利用本文方法進(jìn)行資源調(diào)度的能量消耗情況要顯著低于文獻(xiàn)[4]方法,這是因為利用本文方法進(jìn)行Qos保障時,明確Qos約束條件,得出虛擬資源動態(tài)調(diào)度目標(biāo)函數(shù),從提高資源利用率的角度提出基于背包問題的虛擬資源動態(tài)調(diào)度模型,并給出改進(jìn)蟻群算法的資源調(diào)度策略。從而提升了Qos保障服務(wù)的質(zhì)量和整體優(yōu)越性。
針對不同的用戶需求,為各種任務(wù)請求配置合適的虛擬機執(zhí)行任務(wù),提供具有質(zhì)量保證的云計算Qos保障機制是當(dāng)前計算機領(lǐng)域亟待解決的主要任務(wù),但由于云計算技術(shù)發(fā)展并不成熟,目前還無法構(gòu)建較為完整的服務(wù)質(zhì)量指標(biāo)體系,影響了QoS的質(zhì)量。為此,本文綜合考慮云計算環(huán)境下的商業(yè)運營模式,對云計算資源管理中的QoS保障機制進(jìn)行研究并提出解決方案。通過擴展C1oudSim云計算仿真平臺,對云計算資源管理模型及算法進(jìn)行了實驗驗證和對比,證明了本文提出的算法的可行性和有效性。