徐成桂,徐廣順
(成都理工大學(xué)工程技術(shù)學(xué)院,四川 樂山 614000)
網(wǎng)絡(luò)用戶數(shù)量持續(xù)增多背景下,對網(wǎng)絡(luò)的建設(shè)提出更嚴(yán)格的要求。用戶的高并發(fā)訪問會導(dǎo)致服務(wù)訪問速率較慢[1]、服務(wù)可用性降低,任何系統(tǒng)故障均會對用戶造成重大損失。集群為使用一組獨立服務(wù)器構(gòu)成的節(jié)點集合,為用戶提供統(tǒng)一的服務(wù)器資源,完成資源共享的同時實現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡[2]。傳統(tǒng)的集群部署形式多數(shù)采用磁盤共享掛載、共享儲存的策略,現(xiàn)已無法滿足當(dāng)前網(wǎng)絡(luò)服務(wù)需求。為滿足用戶大規(guī)模的訪問量,完成數(shù)量龐大的任務(wù)請求[3],服務(wù)器要具備較高的儲存空間與并發(fā)承受能力,并安置多個網(wǎng)絡(luò)集群,通過多個服務(wù)節(jié)點分擔(dān)網(wǎng)絡(luò)負(fù)載,完成網(wǎng)絡(luò)系統(tǒng)高可靠性的運行任務(wù)。
針對網(wǎng)絡(luò)資源分配及部署問題,文獻[4]通過開放Jackson排隊網(wǎng)絡(luò)建模業(yè)務(wù)流時延,融合遺傳算法與模擬退火算法映射服務(wù)節(jié)點,使用個體約束性評估防止出現(xiàn)局部最優(yōu)。文獻[5]考慮時延、能耗、等元素對服務(wù)器選擇的影響,基于參數(shù)的線性加權(quán)排序候選服務(wù)器,挑選最佳移動邊緣計算服務(wù)器為用戶提供服務(wù)。
以上方法的參數(shù)選擇均具有一定主觀性,導(dǎo)致其集群部署存在不同程度的偏差。為此,提出基于約束最大熵的網(wǎng)絡(luò)集群部署數(shù)學(xué)模型。分析物理主機屬性,計算并發(fā)用戶個數(shù)、最高在線用戶數(shù)等指標(biāo)完成作業(yè)資源統(tǒng)計;使用約束最大熵法判斷各類參數(shù)及指標(biāo)的重要性,通過圖分割理論實現(xiàn)網(wǎng)絡(luò)集群部署模型構(gòu)建目標(biāo)。仿真驗證了所提模型的實用性與應(yīng)用優(yōu)勢。
網(wǎng)絡(luò)集群部署前,首先要明確現(xiàn)階段用戶數(shù)據(jù)訪問行為對網(wǎng)絡(luò)資源的實際需求。把物理主機目前的屬性狀態(tài)記作
(1)
集群部署物理主機時,要掌握主機能夠供應(yīng)的資源上限[6],對比集群資源需求和物理主機能提供的資源。物理主機資源即為物理主機減去目前負(fù)載后的剩余資源,將式(1)內(nèi)的屬性參數(shù)拓展為
(2)
(3)
(4)
(5)
以并發(fā)用戶個數(shù)為基礎(chǔ)[7],將最高在線用戶數(shù)表示為
U=AU×UP
(6)
其中,AU表示網(wǎng)絡(luò)用戶總數(shù),UP為并發(fā)比率。
服務(wù)器文件儲存容量計算過程為
SC=AU×DC×YD×F/(1-O)
(7)
其中,DC為各用戶每日生成的信息增量,YD為有效工作時間,O為儲存冗余量比率,F表示網(wǎng)絡(luò)集群系統(tǒng)未來業(yè)務(wù)量發(fā)展的冗余空間。
將xe(k)的關(guān)聯(lián)系數(shù)描述成
(8)
其中,ρ表示分辨指數(shù),其數(shù)值越小,表明分辨能力越好,一般取值為0.6。
最終將關(guān)聯(lián)度ri解析式設(shè)置成
(9)
其中,n表示服務(wù)器數(shù)據(jù)集總數(shù),ξ為關(guān)聯(lián)系數(shù)。
通過上述過程,即可按照不同的用戶訪問行為劃分集群作業(yè)類別與數(shù)據(jù)規(guī)律,完成作業(yè)資源需求量評估任務(wù),為服務(wù)器集群部署策略的實時性調(diào)整發(fā)揮關(guān)鍵作用。
網(wǎng)絡(luò)集群部署操作中包含諸多參數(shù),例如磁盤、網(wǎng)絡(luò)利用率、內(nèi)存等。使用約束最大熵算法推導(dǎo)部署參數(shù)的重要性,挑選最關(guān)鍵的集群部署計算參數(shù)進行數(shù)據(jù)分析,降低計算量的同時,保證集群部署模型性能可靠性。
最大熵基礎(chǔ)定理為在滿足全部已知時間的前提下,客觀判斷未來事件[9]。采用約束最大熵進行集群部署參數(shù)估計主要考慮以下幾點:約束最大熵方法中使用的分布參數(shù)對數(shù)據(jù)的先驗分布沒有嚴(yán)格要求,能夠隨意搭配,且不會降低參數(shù)重要性估計正確性與一致性。與此同時,該方法能有效處理參數(shù)評估中的平滑問題,適用于不同應(yīng)用環(huán)境下的高精度參數(shù)重要性評估任務(wù)。
在符合復(fù)雜度約束條件的概率分布集合A中,挑選具備最大熵H(p)的模型p*,記作
(10)
式中,x、y均為隨機變量相對的網(wǎng)絡(luò)服務(wù)任務(wù),p(y|x)為條件分布值。
信息論領(lǐng)域中,使用對數(shù)評價函數(shù)[10]來分析兩個參數(shù)在相同空間內(nèi)的概率分布差別,此種評價函數(shù)即為Kullback-Leibler(KL)距離[11]。假設(shè)a為問題域U內(nèi)的一個概率密度函數(shù),a′為概率密度函數(shù)a的近似函數(shù),將二者之間的KL距離表示為
(11)
使用KL距離描述集群部署參數(shù)重要性估計的準(zhǔn)確率,計算公式為
(12)
數(shù)據(jù)通信網(wǎng)絡(luò)通常為三層結(jié)構(gòu)體系[12],從上至下分別為核心交換機、聚集交換機與接入交換機。使用約束最大熵算法完成集成參數(shù)計算后,以輸出的參數(shù)結(jié)果為前提,形式化定義虛擬環(huán)境下服務(wù)器之間的通信代價。集群部署點通信代價為隨機兩個部署點路由經(jīng)過的最小交換機數(shù)量,設(shè)置相同物理主機內(nèi)的虛擬機通信代價為0。
針對架構(gòu)各異的數(shù)據(jù)通信網(wǎng)絡(luò),其部署代價矩陣也各不相等。以樹結(jié)構(gòu)為例[13],將其網(wǎng)絡(luò)通信代價矩陣定義成
(13)
式中,p0代表接入交換機端口數(shù)量,p1為聚集交換機端口數(shù)量,i、j均為部署點編碼,suzhu(i)為部署點i所處的宿主物理服務(wù)器。
假設(shè)D(i,j)為服務(wù)器邏輯架構(gòu)內(nèi)的通信代價矩陣,通信代價為網(wǎng)絡(luò)數(shù)據(jù)傳輸速度[14]。此種狀態(tài)下,將服務(wù)器集群部署問題描述為
(14)
其中,C(i,j)代表部署點i、j之間的代價,m為部署點數(shù)量,Bi為服務(wù)器i最高服務(wù)帶寬。
服務(wù)器集群可劃分成三種計算方法:批處理計算、內(nèi)存計算和圖計算。其中,圖論為數(shù)學(xué)領(lǐng)域的關(guān)鍵分支,圖割論為一種在圖論基礎(chǔ)上,被廣泛應(yīng)用的圖像處理方法。服務(wù)器集群的結(jié)構(gòu)形態(tài)和圖論中的圖像有一定相似性,使用圖割論的有關(guān)知識完成網(wǎng)絡(luò)集群部署模型構(gòu)建。將圖論中的圖表示成
G=(V(G),E(G))
(15)
式中,V(G)代表圖G全部頂點的總和,即圖的頂點均為V(G)內(nèi)的元素;E(G)為圖G全部邊的總和,G內(nèi)的元素為不同點之間的連線。
集群部署前要充分考慮其資源利用率,以免造成資源浪費。按照集群資源需求量推導(dǎo)出服務(wù)器集群部署后,各類資源的資源利用率為否超出當(dāng)前物理主機的負(fù)載量,將資源利用率計算公式表示為
(16)
網(wǎng)絡(luò)集群包含多個服務(wù)器,與單服務(wù)器相比,其資源需求較高,接下來,構(gòu)建以圖分割[15]為原則的網(wǎng)絡(luò)集群部署數(shù)學(xué)模型。設(shè)定初始網(wǎng)絡(luò)服務(wù)器集群相對應(yīng)的圖為C,其頂點集合為V(C)={AVM1,AVM2,…,AVMn},邊集為e={AVMi,AVMj},將圖C劃分成o個子圖,記作C1,C2,…,Co,o個子圖相對的子圖密度為D1,D2,…,Do,子圖內(nèi)的頂點數(shù)量為h,將網(wǎng)絡(luò)集群部署模型定義成
(17)
其中,Φ表示一個空集,H為子圖頂點數(shù)量的臨界值。
為分析所建網(wǎng)絡(luò)集群部署模型的可靠性,設(shè)計仿真。仿真軟件為MATLAB 2020b,在計算機上搭建20個節(jié)點的物理集群,各物理節(jié)點上運行Docker 7.1容器引擎來創(chuàng)造虛擬節(jié)點,最多同時運行3個虛擬容器,虛擬容器的最高規(guī)模為42個節(jié)點。集群負(fù)載可以展現(xiàn)集群部署的信息處理能力,將其作為衡量網(wǎng)絡(luò)集群部署優(yōu)劣的指標(biāo),驗證本文方法能否依照負(fù)載變化情況及時調(diào)節(jié)集群形態(tài),明確方法的靈活性與有效性。構(gòu)建兩種負(fù)載數(shù)據(jù)集:第一種按照靜態(tài)部署節(jié)點比例設(shè)置作業(yè)類型,記作N1;第二種不依照節(jié)點比例設(shè)定作業(yè)類型,記作N2。實驗的仿真時間為55min。
圖1為本文方法在兩種不同負(fù)載運行狀態(tài)下,服務(wù)器節(jié)點狀態(tài)改變次數(shù)和相應(yīng)的計算時長。第一種負(fù)載數(shù)據(jù)集下,服務(wù)器節(jié)點狀態(tài)僅出現(xiàn)4次改變;第二種負(fù)載數(shù)據(jù)集下,服務(wù)器節(jié)點改變次數(shù)明顯增多。這為因為N1負(fù)載數(shù)據(jù)集為憑借原始服務(wù)器節(jié)點比例設(shè)置的,網(wǎng)絡(luò)集群模型無需調(diào)整計算形態(tài)就能很好地實現(xiàn)集群部署任務(wù),因負(fù)載噪聲引發(fā)了4次節(jié)點調(diào)整策略,處于模型計算誤差可容納范圍;因為N2數(shù)據(jù)集改變了原有的節(jié)點比例,所以產(chǎn)生了大量節(jié)點調(diào)節(jié)現(xiàn)象。
圖1 不同負(fù)載數(shù)據(jù)下本文方法服務(wù)器節(jié)點調(diào)節(jié)情況
由圖1可以看出,本文方法能夠按照實際網(wǎng)絡(luò)應(yīng)用情況計算負(fù)載變化,并通過節(jié)點的實時調(diào)節(jié)更改網(wǎng)絡(luò)集群部署形態(tài),為用戶提供貼合自身需求的網(wǎng)絡(luò)服務(wù),具備較強的實用性。
為進一步展現(xiàn)本文方法可用性,將其與文獻[4]遺傳模擬退火法、文獻[5]多重指標(biāo)法進行仿真對比。定義每個部署任務(wù)對CPU的需求大小為2100×24×60×60MI,數(shù)據(jù)中心具備150臺物理主機與300臺虛擬機,依次使用三種方法把服務(wù)器部署于物理主機上,考察三種指標(biāo):集群部署時間、物理機應(yīng)用個數(shù)和CPU利用率。圖2為三種方法網(wǎng)絡(luò)集群部署的響應(yīng)時間均值對比結(jié)果。
圖2 三種方法集群部署響應(yīng)時間均值比較
由圖2可知,與兩種文獻方法相比,本文方法部署響應(yīng)時間最短,且不會伴隨用戶數(shù)量的激增產(chǎn)生較大波動,穩(wěn)定性強。出現(xiàn)此種現(xiàn)象的原因在于,本文方法采用約束最大熵方法,在眾多部署參數(shù)中挑選重要度靠前的參數(shù),有效降低計算量,大幅縮短部署響應(yīng)耗時。
隨機抽取60臺物理主機與60臺服務(wù)器進行相同的資源任務(wù),依次使用三種方法進行集群部署,研究不同方法使用的物理主機個數(shù),結(jié)果如圖3所示。
圖3 三種方法物理主機應(yīng)用個數(shù)對比
從圖3看出,三種方法集群部署使用的物理主機個數(shù)均具備相同趨勢,但本文方法物理主機應(yīng)用數(shù)量最少。這為由于本文方法把資源需求相近的服務(wù)器進行集群再完成部署,降低了物理主機個數(shù)。遺傳模擬退火法即便考慮了物理主機的負(fù)載均衡因素,但其部署效果依舊不如本文方法;多重指標(biāo)法采用一臺服務(wù)器部署在一臺物理機的策略,耗費大量主機資源。
將15分鐘劃分為一個單元,計算75分鐘,即5個時間單元下三種方法執(zhí)行服務(wù)任務(wù)時,物理主機的CPU利用率情況,仿真結(jié)果參考圖4。
圖4 三種方法CPU利用率對比
觀察圖4可以看到,由于兩種文獻方法的物理主機資源充足但服務(wù)器需求較少,極易產(chǎn)生資源利用率低的現(xiàn)象,本文方法的CPU利用率要明顯高于兩種對比方法,證明本文方法在相同的集群部署時間內(nèi)能執(zhí)行更多的應(yīng)用程序,給用戶提供更豐富的資源服務(wù)。
為實現(xiàn)高質(zhì)量網(wǎng)絡(luò)集群部署,為用戶提供優(yōu)質(zhì)的網(wǎng)絡(luò)應(yīng)用服務(wù),提出一種基于約束最大熵的網(wǎng)絡(luò)集群部署數(shù)學(xué)模型。所提方法具有理想的可應(yīng)用性,適用于高并發(fā)的用戶訪問高峰期,與傳統(tǒng)集群部署模型相比,運行成本較少,避免了資源浪費。但是,本文方法是建立在網(wǎng)絡(luò)結(jié)構(gòu)已知的情況下,面對結(jié)構(gòu)未知網(wǎng)絡(luò)時如何快速有效地實現(xiàn)精準(zhǔn)部署,將在今后研究中加以深入探究。