鄭小蘭
(福州理工學(xué)院,福建 福州 350506)
霧計(jì)算技術(shù)作為云計(jì)算技術(shù)的延伸主要部署在靠近用戶側(cè)。為提升霧架構(gòu)的QoE,通常將載荷的計(jì)算移至本地實(shí)施。然而這樣卻付出了開銷的代價(jià)。為此業(yè)界對(duì)此展開了相關(guān)研究。文獻(xiàn)[1]提出了基于最小篩選的均衡機(jī)制(MB)。主張通過統(tǒng)計(jì)整個(gè)霧系統(tǒng)所有服務(wù)器節(jié)點(diǎn)的用戶提請(qǐng)連接數(shù),進(jìn)而鎖定連接規(guī)模最小的那個(gè)服務(wù)器節(jié)點(diǎn)來應(yīng)對(duì)霧用戶發(fā)起的任務(wù)請(qǐng)求?;贛B算法思路,文獻(xiàn)[2]設(shè)計(jì)了基于權(quán)重最小化的均衡機(jī)制(WMB)。該機(jī)制考慮到了霧系統(tǒng)中服務(wù)器設(shè)備負(fù)載能力多變的客觀情況而引入了權(quán)重參量。然而每一次霧用戶提請(qǐng)任務(wù)的持續(xù)時(shí)間和任務(wù)所需消耗開銷資源存在變數(shù)。對(duì)于每一個(gè)服務(wù)器設(shè)備而言,即便其和霧用戶之間的響應(yīng)連接與權(quán)重參量呈一定的比例關(guān)系,卻依舊存在響應(yīng)連接規(guī)模和負(fù)載能力不匹配的情形。故提出基于約束的自適應(yīng)QoE算法設(shè)計(jì)。旨在以縮短霧用戶等待計(jì)算響應(yīng)時(shí)長為約束探討服務(wù)器節(jié)點(diǎn)與任務(wù)請(qǐng)求的優(yōu)化適配機(jī)制。
自適應(yīng)QoE算法目標(biāo)是最小化響應(yīng)終端用戶任務(wù)請(qǐng)求的時(shí)延代價(jià)[3]。此處將算法部署的體系依次分為三層,分別是云數(shù)據(jù)中心層、霧節(jié)點(diǎn)層、終端用戶層。在霧終端用戶向距離其最接近的霧節(jié)點(diǎn)發(fā)起任務(wù)請(qǐng)求后,霧系統(tǒng)開始對(duì)霧節(jié)點(diǎn)展開計(jì)算資源評(píng)估。若評(píng)估結(jié)果顯示無法受理任務(wù)請(qǐng)求則將該任務(wù)請(qǐng)求轉(zhuǎn)發(fā)給與此霧節(jié)點(diǎn)相鄰的其他霧層服務(wù)器,如此循環(huán)評(píng)估直至遍歷到合適的霧服務(wù)器節(jié)點(diǎn)。若算得該霧節(jié)點(diǎn)具有足夠的開銷則可用于響應(yīng)任務(wù)請(qǐng)求。用于響應(yīng)任務(wù)請(qǐng)求的霧服務(wù)器將最終計(jì)算結(jié)果送至霧層中最接近于霧用戶的那個(gè)霧服務(wù)器,進(jìn)而將霧計(jì)算數(shù)值響應(yīng)給發(fā)起任務(wù)請(qǐng)求的霧用戶。要是霧層無法遍歷到合適的霧節(jié)點(diǎn),此任務(wù)請(qǐng)求將被向上提交到云數(shù)據(jù)中心層。經(jīng)云層服務(wù)器節(jié)點(diǎn)計(jì)算處理后將結(jié)果下發(fā)至與該云節(jié)點(diǎn)最為接近的霧層中的霧服務(wù)器,然后再響應(yīng)給霧終端用戶。
評(píng)估一個(gè)服務(wù)器節(jié)點(diǎn)能否有足夠的開銷用于自適應(yīng)地應(yīng)對(duì)霧用戶提請(qǐng)的任務(wù)計(jì)算請(qǐng)求,需綜合分析下列幾種情形。情形A:當(dāng)CAll/σAll小于C(Ni)/σ(Ni)且RAll/σAll小于R(Ni)/σ(Ni)時(shí),說明當(dāng)前節(jié)點(diǎn)屬于重載情形;情形B:當(dāng)CAll/σAll大于C(Ni)/σ(Ni)且RAll/σAll大于R(Ni)/σ(Ni)時(shí),說明當(dāng)前節(jié)點(diǎn)屬于輕載情形;情形C:當(dāng)CAll/σAll大于C(Ni)/σ(Ni)且RAll/σAll小于R(Ni)/σ(Ni),說明此時(shí)當(dāng)前節(jié)點(diǎn)的連接規(guī)模雖小然而載荷度卻依舊很大;情形D:當(dāng)CAll/σAll小于C(Ni)/σ(Ni)且RAll/σAll大于R(Ni)/σ(Ni),說明此時(shí)當(dāng)前節(jié)點(diǎn)的連接規(guī)模雖大載荷度卻反而很小。出現(xiàn)后面兩種情形主要緣于SDN數(shù)據(jù)流呈現(xiàn)突發(fā)[5]特征,用戶提請(qǐng)的任務(wù)請(qǐng)求規(guī)模、任務(wù)持續(xù)時(shí)長、服務(wù)器瞬時(shí)開銷資源均是動(dòng)態(tài)隨機(jī)所致。
部署自適應(yīng)QoE算法時(shí)可定義一個(gè)數(shù)組用于容納情形B和情形D下的節(jié)點(diǎn),逐個(gè)遍歷數(shù)組中的節(jié)點(diǎn)直至為空。然后開始重新評(píng)估服務(wù)器的參數(shù)R(Ni)、RNull(Ni)、σ(Ni)、RAll、σAll、CAll,評(píng)估后若符合情形B和情形D的條件則可以放入數(shù)組內(nèi)用于應(yīng)對(duì)霧用戶提請(qǐng)的任務(wù)計(jì)算請(qǐng)求。
圖1 三種算法下的服務(wù)器載荷占用比
圖2 三種算法下的服務(wù)器閑置負(fù)載占比
基于約束的自適應(yīng)QoE算法以終端霧用戶可接受的等候時(shí)延為前提來降低服務(wù)器轉(zhuǎn)發(fā)任務(wù)請(qǐng)求的頻率。從QoE時(shí)延角度出發(fā),應(yīng)統(tǒng)籌考慮三種情形下霧層服務(wù)器執(zhí)行任務(wù)請(qǐng)求時(shí)節(jié)點(diǎn)進(jìn)行任務(wù)轉(zhuǎn)發(fā)操作的頻次,并盡可能地讓任務(wù)請(qǐng)求在霧層中就能夠得到順利的響應(yīng)?;诖怂枷耄麄€(gè)算法的實(shí)施過程做如下規(guī)劃:
初始化自適應(yīng)QoE算法各指標(biāo)參量Mi、Ci、Bi并定義一個(gè)數(shù)組后,首先通過評(píng)估R(Ni)、RNull(Ni)進(jìn)而求出σ(Ni)。其次,分別計(jì)算出σAll、CAll、RAll然后分析RAll/σAll和R(Ni)/σ(Ni)關(guān)系。如果前者小于后者,則返回至第一步驟;反之將Ni存放到數(shù)組內(nèi)。隨后判斷數(shù)組內(nèi)的節(jié)點(diǎn)是否為空。若非空數(shù)組則返回執(zhí)行步驟一;若為空數(shù)組再分析是否還有終端用戶發(fā)起任務(wù)請(qǐng)求。如果仍有則重返步驟一,如果沒有待執(zhí)行的任務(wù)請(qǐng)求則終止計(jì)算。
選用Matlab作為自適應(yīng)QoE算法的測(cè)試[6]環(huán)境。為云層配置15GHz的計(jì)算能力,霧層中霧服務(wù)器的計(jì)算能力配置為f(GHz)=[f1,…,fm]=[1.5、1、2.5、0.7、0.6、0.9、0.8、0.5],一次任務(wù)傳輸?shù)臅r(shí)延設(shè)置為Dt(s)=[0.02、0.17、0.1、0.19、0.09、0.1、0.08、0.06]。并為霧服務(wù)器f1和霧終端配置0.05s的任務(wù)傳輸時(shí)延。
圖1曲線是三種算法機(jī)制下節(jié)點(diǎn)受理相同用戶任務(wù)請(qǐng)求連接規(guī)模時(shí),節(jié)點(diǎn)表現(xiàn)出的載荷占用比。由于MB算法并未顧及終端用戶提請(qǐng)任務(wù)計(jì)算請(qǐng)求的數(shù)據(jù)規(guī)模,一味地將任務(wù)轉(zhuǎn)發(fā)給連接數(shù)最少的節(jié)點(diǎn)來受理。這勢(shì)必導(dǎo)致服務(wù)器節(jié)點(diǎn)載荷占用比的變化起伏不定。WMB雖然克服了MB所忽略的關(guān)鍵環(huán)節(jié)但未考慮到隨機(jī)突發(fā)特征環(huán)境下,終端用戶提請(qǐng)的任務(wù)數(shù)據(jù)規(guī)模存在多變情形所引發(fā)的載荷變化情況。QoE算法則是調(diào)用那些當(dāng)前載荷度低于所有節(jié)點(diǎn)平均載荷度的節(jié)點(diǎn)。因此節(jié)點(diǎn)載荷度依然以最小的變化幅度徘徊在系統(tǒng)均值左右。
圖2所示三條曲線描述了三種算法機(jī)制下的同一個(gè)終端用戶發(fā)起任務(wù)計(jì)算請(qǐng)求后,服務(wù)器節(jié)點(diǎn)表現(xiàn)出的閑置負(fù)載占比變化情況。顯而易見,由于只考慮用戶請(qǐng)求連接規(guī)模忽略了不同節(jié)點(diǎn)性能存在差異問題,MB算法機(jī)制下的節(jié)點(diǎn)在載荷占比指標(biāo)上很容易出現(xiàn)兩個(gè)極端,要么很小要么很大,因此負(fù)載起伏不定。WMB算法思想是在MB基礎(chǔ)上引入權(quán)重系數(shù)用于動(dòng)態(tài)計(jì)算某些節(jié)點(diǎn)的優(yōu)越性能。此機(jī)制下的節(jié)點(diǎn)載荷占比雖總體較為均衡但卻付出了系統(tǒng)開銷的代價(jià)。相比之下本文構(gòu)思的QoE算法通過統(tǒng)籌考察節(jié)點(diǎn)的權(quán)重系數(shù)、連接規(guī)模、載荷度等來客觀地動(dòng)態(tài)地評(píng)估所有節(jié)點(diǎn)的載荷使用情況。QoE機(jī)制下的節(jié)點(diǎn)載荷占比基本徘徊在系統(tǒng)均值附近。
QoE算法的構(gòu)思是從全局角度出發(fā)以時(shí)延控制為目標(biāo),為霧用戶設(shè)計(jì)的一種自適應(yīng)能力較強(qiáng)的算法方案。該方案通過引入權(quán)重參數(shù)為任務(wù)請(qǐng)求合理地計(jì)算出可用于響應(yīng)的服務(wù)器節(jié)點(diǎn)。評(píng)估結(jié)果表明相對(duì)于傳統(tǒng)研究方案,該QoE算法的部署具有良好的普適性。