亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DCN 中基于前饋神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)多路徑負(fù)載均衡方法

        2021-09-15 07:36:02束永安
        計(jì)算機(jī)工程 2021年9期
        關(guān)鍵詞:交換機(jī)大象鏈路

        左 攀,束永安

        (安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230601)

        0 概述

        隨著互聯(lián)網(wǎng)的高速發(fā)展和各種計(jì)算機(jī)技術(shù)的不斷革新,網(wǎng)絡(luò)的傳輸任務(wù)變得越來(lái)越重,如物聯(lián)網(wǎng)技術(shù)讓所有能行使獨(dú)立功能的普通物體實(shí)現(xiàn)互聯(lián)互通,這使得接入網(wǎng)絡(luò)的設(shè)備增多,產(chǎn)生的網(wǎng)絡(luò)流量更是呈指數(shù)級(jí)增長(zhǎng)[1]。軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)作為一種新型網(wǎng)絡(luò)架構(gòu),是優(yōu)化網(wǎng)絡(luò)資源管理的新范例,其不僅實(shí)現(xiàn)了轉(zhuǎn)控分離和集中控制,而且開(kāi)放了接口,這使得第三方應(yīng)用只需要用編程的方式就可以定義一個(gè)新的網(wǎng)絡(luò)功能[2]。SDN作為未來(lái)最有發(fā)展前景的網(wǎng)絡(luò)技術(shù)之一,越來(lái)越多地被應(yīng)用在網(wǎng)絡(luò)性能更高的數(shù)據(jù)中心網(wǎng)絡(luò)(Data Center Network,DCN)中。

        目前,數(shù)據(jù)中心網(wǎng)絡(luò)普遍采用基于Clos 架構(gòu)的網(wǎng)絡(luò)拓?fù)?,如Fat-Tree[3]、VL2[4]等多根拓?fù)浣Y(jié)構(gòu)。該類(lèi)拓?fù)涫挂粚?duì)主機(jī)間有多條等價(jià)路徑可達(dá),極大地緩解了數(shù)據(jù)傳輸時(shí)不同傳輸任務(wù)對(duì)帶寬資源的競(jìng)爭(zhēng)問(wèn)題,一定程度上實(shí)現(xiàn)了負(fù)載均衡。但要解決數(shù)據(jù)中心網(wǎng)絡(luò)的負(fù)載均衡問(wèn)題仍面臨一些挑戰(zhàn)。有研究表明,在數(shù)據(jù)中心網(wǎng)絡(luò)中,數(shù)據(jù)流可分為老鼠流和大象流兩類(lèi),雖然大象流在數(shù)量上少于全部網(wǎng)絡(luò)流的10%,但約80%的網(wǎng)絡(luò)帶寬資源卻被大象流占據(jù)[5],且由于大象流的生存周期長(zhǎng),老鼠流經(jīng)常被大象流阻塞,造成長(zhǎng)時(shí)間的隊(duì)列延遲[6]。因此,如何對(duì)大象流進(jìn)行識(shí)別和處理,是解決數(shù)據(jù)中心網(wǎng)絡(luò)中負(fù)載均衡問(wèn)題的關(guān)鍵。

        本文提出一種基于前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network,F(xiàn)NN)的動(dòng)態(tài)多路徑負(fù)載均衡機(jī)制FNN-LB。利用SDN 架構(gòu)分層解耦的優(yōu)勢(shì),使位于控制 層的SDN 控制器可以 通過(guò)OpenFlow 協(xié) 議[7]與數(shù)據(jù)層的交換機(jī)進(jìn)行信息交互,從而收集整個(gè)網(wǎng)絡(luò)的實(shí)時(shí)狀態(tài)信息。在以往的研究中,這些網(wǎng)絡(luò)狀態(tài)信息往往被當(dāng)作獨(dú)立變量使用,相關(guān)性很少被探究。本文基于前饋神經(jīng)網(wǎng)絡(luò),將網(wǎng)絡(luò)狀態(tài)信息作為底層特征輸入,將每段鏈路的負(fù)載作為輸出,以此建立網(wǎng)絡(luò)狀態(tài)信息與鏈路負(fù)載之間的非線性映射模型,從而通過(guò)動(dòng)態(tài)網(wǎng)絡(luò)狀態(tài)信息實(shí)時(shí)反映鏈路綜合狀況。為滿(mǎn)足大象流傳輸時(shí)高吞吐量的需求,應(yīng)將鏈路狀況好的路徑盡可能分配給大象流。因此,本文將預(yù)估的鏈路負(fù)載值與蟻群算法[8]中的啟發(fā)信息相關(guān)聯(lián),利用蟻群算法的正反饋性和自適應(yīng)性,使最優(yōu)路徑向預(yù)估低負(fù)載值路徑收斂,從而實(shí)現(xiàn)路徑的動(dòng)態(tài)負(fù)載均衡。

        1 相關(guān)工作

        數(shù)據(jù)中心網(wǎng)絡(luò)中的負(fù)載均衡方案可分為靜態(tài)負(fù)載均衡和動(dòng)態(tài)負(fù)載均衡兩類(lèi)。

        靜態(tài)方案根據(jù)固定標(biāo)準(zhǔn)將數(shù)據(jù)流分配給可用路徑。文獻(xiàn)[9]提出的等價(jià)多路徑(Equal-Cost Multi-Path,ECMP)算法是一種被廣泛應(yīng)用的負(fù)載均衡技術(shù),其基于哈希散列,可通過(guò)多條等價(jià)路徑傳輸數(shù)據(jù)流達(dá)到負(fù)載均衡的目的。文獻(xiàn)[10]通過(guò)在主機(jī)端部署FlowBender 程序進(jìn)行路徑擁塞檢測(cè),F(xiàn)lowBender會(huì)修改報(bào)文的生存時(shí)間(Time to Live,TTL)字段,并改進(jìn)ECMP 算法使哈希運(yùn)算基于報(bào)文頭部的更多字段,其中包括TTL 字段,從而實(shí)現(xiàn)往返時(shí)延時(shí)間粒度的數(shù)據(jù)流動(dòng)態(tài)調(diào)度。該方案利用主機(jī)端驅(qū)動(dòng)路徑規(guī)劃,但最終的路徑選擇仍基于ECMP 算法,不能確保因擁塞而重新選擇的路徑滿(mǎn)足額外的傳輸需求,從而造成數(shù)據(jù)流的多次路由并發(fā)生網(wǎng)絡(luò)動(dòng)蕩。

        動(dòng)態(tài)方案則根據(jù)各種當(dāng)前網(wǎng)絡(luò)指標(biāo)自適應(yīng)地選擇路由路徑。文獻(xiàn)[11]提出了一種可擴(kuò)展的動(dòng)態(tài)流調(diào)度方案Hedera,在邊緣交換機(jī)上識(shí)別出大象流后,系統(tǒng)根據(jù)其帶寬需求,利用全局首次匹配(GFF)算法為大象流分配路徑,自適應(yīng)地調(diào)度多級(jí)交換結(jié)構(gòu)以有效利用聚合網(wǎng)絡(luò)資源。文獻(xiàn)[12]提出了一種基于隊(duì)列長(zhǎng)度的定向自適應(yīng)路由方案,根據(jù)交換機(jī)輸出端口的隊(duì)列長(zhǎng)度對(duì)數(shù)據(jù)流進(jìn)行路由。然而這兩種方案都僅根據(jù)單一網(wǎng)絡(luò)指標(biāo)進(jìn)行路由規(guī)劃,不能綜合反映鏈路狀況,當(dāng)網(wǎng)絡(luò)負(fù)載嚴(yán)重時(shí)可能會(huì)導(dǎo)致網(wǎng)絡(luò)擁塞。

        此外,一些研究者試圖從分割大象流的角度來(lái)優(yōu)化數(shù)據(jù)中心網(wǎng)絡(luò)的數(shù)據(jù)流傳輸問(wèn)題。文獻(xiàn)[13]旨在解決因大流與小流之間的差異導(dǎo)致的負(fù)載不均衡,因此Presto 將數(shù)據(jù)流分割為相同大小的流單元,并結(jié)合循環(huán)調(diào)度算法尋找發(fā)送路徑,但為了防止報(bào)文接收后亂序,需要修改通用接收卸載結(jié)構(gòu),這增加了流量管理的難度與成本。

        為解決ECMP 算法無(wú)法有效調(diào)度大象流的缺點(diǎn),且在不增加流管理難度的前提下引入多種網(wǎng)絡(luò)指標(biāo)進(jìn)行路由規(guī)劃,本文提出一種基于前饋神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)多路徑負(fù)載均衡機(jī)制FNN-LB。利用前饋神經(jīng)網(wǎng)絡(luò)預(yù)估鏈路負(fù)載,對(duì)大象流和老鼠流進(jìn)行差異化路由,并通過(guò)仿真實(shí)驗(yàn)驗(yàn)證所提方案的有效性。

        2 FNN-LB 機(jī)制

        FNN-LB 架構(gòu)如圖1 所示。根據(jù)數(shù)據(jù)流中傳輸字節(jié)的數(shù)據(jù)大小,大象流被主機(jī)終端中的流檢測(cè)程序發(fā)現(xiàn)并標(biāo)記。拓?fù)涓兄K根據(jù)鏈路層發(fā)現(xiàn)協(xié)議(Link Layer Discovery Protocol,LLDP)獲取網(wǎng)絡(luò)的全局視圖。FNN-LB 機(jī)制是基于多種網(wǎng)絡(luò)狀態(tài)的負(fù)載均衡機(jī)制,因此在流量信息監(jiān)控模塊中,通過(guò)OpenFlow 協(xié)議實(shí)現(xiàn)控制層和數(shù)據(jù)層的信息交互,從而對(duì)底層網(wǎng)絡(luò)狀況進(jìn)行實(shí)時(shí)監(jiān)控,獲取每段鏈路的帶寬利用率、時(shí)延、丟包率等流量信息。前饋神經(jīng)網(wǎng)絡(luò)模塊則可將這些底層網(wǎng)絡(luò)特征作為輸入,預(yù)估每段鏈路對(duì)應(yīng)的負(fù)載。最終,路由計(jì)算模塊利用優(yōu)化蟻群算法,使最優(yōu)路徑向預(yù)估負(fù)載值低的鏈路收斂,從而保證大象流傳輸時(shí)高吞吐量的需求,實(shí)現(xiàn)路徑的動(dòng)態(tài)負(fù)載均衡。

        圖1 FNN-LB 架構(gòu)Fig.1 Architecture of FNN-LB

        2.1 大象流檢測(cè)與標(biāo)記

        在數(shù)據(jù)中心網(wǎng)絡(luò)中,由于大象流具有生存周期長(zhǎng)的特點(diǎn)和高吞吐量的需求,因此對(duì)大象流的檢測(cè)與標(biāo)記一直是數(shù)據(jù)中心網(wǎng)絡(luò)負(fù)載均衡研究工作中重要的一環(huán)。在以往研究中,對(duì)大象流的識(shí)別有多種方式。如在交換機(jī)處對(duì)每條數(shù)據(jù)流的流條目進(jìn)行監(jiān)控,定期提取統(tǒng)計(jì)信息用以標(biāo)記大象流;或?qū)粨Q機(jī)端口的數(shù)據(jù)包進(jìn)行采樣,并傳至控制器分析樣本以判斷是否為大象流。雖然這些方法能完成檢測(cè)任務(wù),但消耗了大量交換機(jī)和控制器資源。本文采用Mahout[14]所提的大象流標(biāo)記方法,在主機(jī)終端監(jiān)視套接字緩沖區(qū),判定傳輸字節(jié)數(shù)據(jù)超過(guò)100 KB 的數(shù)據(jù)流為大象流,并修改數(shù)據(jù)包包頭的區(qū)分服務(wù)字段以標(biāo)記大象流。該方法將大象流的檢測(cè)識(shí)別工作從交換機(jī)轉(zhuǎn)移到了主機(jī)終端中,以期節(jié)約網(wǎng)絡(luò)運(yùn)行時(shí)對(duì)數(shù)據(jù)層的資源消耗。

        2.2 網(wǎng)絡(luò)拓?fù)涓兄?/h3>

        在拓?fù)涓兄K中,控制器通過(guò)LLDP 協(xié)議進(jìn)行鏈路發(fā)現(xiàn),根據(jù)交換機(jī)反饋的信息構(gòu)建網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在軟件定義網(wǎng)絡(luò)中,控制器會(huì)通過(guò)Packet_out消息將LLDP 報(bào)文封裝進(jìn)OpenFlow 協(xié)議,并發(fā)送給所有與之相連的交換機(jī)。為減少對(duì)網(wǎng)絡(luò)資源的消耗,本文將Packet_out 消息由原來(lái)的每個(gè)端口下發(fā)一個(gè)改為每個(gè)交換機(jī)下發(fā)一個(gè)。當(dāng)交換機(jī)收到從控制器端口發(fā)來(lái)的LLDP 數(shù)據(jù)包后,會(huì)將其源MAC 地址修改為端口MAC 地址,然后從相應(yīng)的端口轉(zhuǎn)發(fā)出去。當(dāng)下一個(gè)交換機(jī)收到從非控制器端口發(fā)來(lái)的LLDP 數(shù)據(jù)包后,會(huì)再次將其封裝進(jìn)Packet_in 消息,上傳給控制器??刂破鲃t可通過(guò)解析該數(shù)據(jù)包,獲得目的交換機(jī)、目的端口、源MAC 地址、源交換機(jī)等信息,并由它們的對(duì)應(yīng)關(guān)系獲取鏈路的邏輯連接情況[15]。此模塊生成的網(wǎng)絡(luò)拓?fù)鋱D將提供給其他模塊以輔助工作。

        2.3 流量信息監(jiān)控模塊

        FNN-LB 是一種基于當(dāng)前網(wǎng)絡(luò)流量信息狀況的動(dòng)態(tài)多路徑負(fù)載均衡機(jī)制,因此,對(duì)流量信息進(jìn)行實(shí)時(shí)準(zhǔn)確的監(jiān)控至關(guān)重要。本文采用周期性監(jiān)控機(jī)制,根據(jù)OpenFlow 協(xié)議,控制器可以預(yù)定周期T,向所有與之相連的交換機(jī)下發(fā)統(tǒng)計(jì)請(qǐng)求消息,獲取端口、流表、流表項(xiàng)、組表等信息,在這些底層網(wǎng)絡(luò)信息的基礎(chǔ)上進(jìn)行邏輯處理,可得到實(shí)時(shí)的網(wǎng)絡(luò)狀態(tài)信息,具體如下:

        1)帶寬利用率:為一段時(shí)間內(nèi)鏈路傳輸?shù)目傋止?jié)數(shù)與該鏈路的最大帶寬的比值,如式(1)所示。

        2)時(shí)延:本文通過(guò)對(duì)鏈路發(fā)現(xiàn)協(xié)議中的LLDP數(shù)據(jù)包和控制報(bào)文協(xié)議中的Echo 數(shù)據(jù)包進(jìn)行解析,獲得兩者的發(fā)送和接收時(shí)間戳,由此得到兩者的正反向傳輸時(shí)延。根據(jù)式(2)可得該段鏈路的平均傳輸時(shí)延。

        3)丟包率:為鏈路間丟失數(shù)據(jù)包數(shù)目與已發(fā)送數(shù)據(jù)包數(shù)目的比值,如式(3)所示。

        2.4 前饋神經(jīng)網(wǎng)絡(luò)模塊

        該模塊接收流量信息監(jiān)控模塊收集的網(wǎng)絡(luò)流量信息,并通過(guò)前饋神經(jīng)網(wǎng)絡(luò)預(yù)估每段鏈路的負(fù)載。前饋神經(jīng)網(wǎng)絡(luò)相較于其他概率統(tǒng)計(jì)類(lèi)機(jī)器學(xué)習(xí)而言,其輸入向量沒(méi)有特定概率分布或變量之間獨(dú)立性等需求限制,因此適用于處理復(fù)雜多變的網(wǎng)絡(luò)流量數(shù)據(jù)。前饋神經(jīng)網(wǎng)絡(luò)一般包含一個(gè)輸入層、一個(gè)或多個(gè)隱藏層和一個(gè)輸出層。每一層都包含若干個(gè)神經(jīng)元,各神經(jīng)元從輸入層開(kāi)始,接收前一層的輸入并輸出給下一層,直到輸出層,且位于同一層的神經(jīng)元之間不能相互連接[16]。

        本文采用三層前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖2 所示。

        圖2 前饋神經(jīng)網(wǎng)絡(luò)模塊Fig.2 Feedforward neural network module

        在輸入層中,神經(jīng)元數(shù)目一般等于所需處理數(shù)據(jù)的變量數(shù),因此,本文將帶寬利用率、時(shí)延、丟包率這3 個(gè)網(wǎng)絡(luò)特征作為3 個(gè)輸入單元。對(duì)于輸出層僅設(shè)置一個(gè)神經(jīng)元,用來(lái)輸出鏈路負(fù)載。隱藏層的神經(jīng)元個(gè)數(shù)的確定在以往的研究中通常都是一個(gè)難點(diǎn),目前沒(méi)有統(tǒng)一的解決方案[17]。因此,在下文實(shí)驗(yàn)中,通過(guò)設(shè)置5 種不同隱藏層神經(jīng)元個(gè)數(shù)的前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),觀察它們的均方誤差,以此選取較合適的隱藏層神經(jīng)元個(gè)數(shù)h。隱藏層神經(jīng)元的輸入輸出關(guān)系可用式(4)和式(5)表示。最終輸出的鏈路負(fù)載可用式(6)表示。

        其中:xi為輸入層的輸入值;woi為輸入層和隱藏層神經(jīng)元之間的連接權(quán)重;wj為隱藏層和輸出層神經(jīng)元之間的連接權(quán)重;θo和θ分別為隱藏層和輸出層神經(jīng)元的閾值;f(x)為激活函數(shù),一般為tanh、sigmoid、ReLU 等;ao和zo分別為隱藏層的輸入值和輸出值;L為鏈路負(fù)載。

        各個(gè)層次之間都采用全連接的方式進(jìn)行連接,并采用反向傳播算法不斷訓(xùn)練整個(gè)神經(jīng)網(wǎng)絡(luò)以調(diào)整權(quán)值。

        2.5 路由計(jì)算模塊

        在路由計(jì)算模塊中,控制器首先判斷所要處理的流是大象流還是老鼠流。若是老鼠流,則采用ECMP 算法。但對(duì)于大象流,ECMP 算法可能會(huì)發(fā)生哈希碰撞,從而使多條大象流聚集在同一條鏈路上進(jìn)行傳輸,造成網(wǎng)絡(luò)擁塞。因此,對(duì)大象流的調(diào)度,本文采用優(yōu)化蟻群算法進(jìn)行路徑計(jì)算。蟻群算法是由DORIGO 等提出的一種啟發(fā)式算法,該算法模擬了螞蟻尋找食物的過(guò)程。螞蟻在經(jīng)過(guò)路徑時(shí)會(huì)釋放一種名為信息素的特殊激素,用于種群間的信息傳遞。蟻群內(nèi)的其他螞蟻會(huì)識(shí)別路徑上留有的信息素,并選擇信息素濃度最高的路徑繼續(xù)前進(jìn)。與此同時(shí),該螞蟻在移動(dòng)過(guò)程中同樣也會(huì)釋放自己的信息素,使整個(gè)過(guò)程形成正反饋。在單位時(shí)間內(nèi),越短的路徑上信息素濃度越高,螞蟻由此得到通往食物的最優(yōu)路徑。本文中應(yīng)用蟻群算法的具體步驟如下:

        1)進(jìn)行初始化設(shè)置。主要分為2 個(gè)部分:首先是對(duì)蟻群算法涉及的主要參數(shù)進(jìn)行設(shè)置,包括信息素和啟發(fā)信息的加權(quán)因子、信息素蒸發(fā)率、信息素總量、螞蟻數(shù)量、算法迭代次數(shù)以及對(duì)各路徑的信息素濃度進(jìn)行初始化;其次是網(wǎng)絡(luò)信息獲取。除了流量信息監(jiān)控模塊對(duì)底層網(wǎng)絡(luò)狀態(tài)的不斷監(jiān)控,還需要獲取大象流的源地址和目的地址,以及大象流所需帶寬大小,用于確定所需最優(yōu)路徑的數(shù)目。

        2)確定當(dāng)前位置,計(jì)算轉(zhuǎn)移概率。蟻群算法是一種尋找優(yōu)化路徑的概率型算法,當(dāng)螞蟻位于起始節(jié)點(diǎn)后,可根據(jù)式(7)計(jì)算轉(zhuǎn)移概率。

        3)結(jié)合輪盤(pán)賭選擇(Roulette Wheel Selection,RWS)算法[18],選擇下一跳節(jié)點(diǎn)。由式(7)可得在當(dāng)前節(jié)點(diǎn)處到下一跳所有可選節(jié)點(diǎn)的轉(zhuǎn)移概率。為了保證算法的隨機(jī)性,使具有較小轉(zhuǎn)移概率的節(jié)點(diǎn)依然有被選擇的可能性,不能直接選取轉(zhuǎn)移概率最大的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)。本文結(jié)合輪盤(pán)賭選擇算法選擇下一跳節(jié)點(diǎn)。假設(shè)螞蟻k在交換機(jī)u 處時(shí)下一跳共有m個(gè)交換機(jī)可選。首先,由式(7)可計(jì)算這m個(gè)交換機(jī)的轉(zhuǎn)移概率,再根據(jù)式(8)可計(jì)算這些交換機(jī)的累計(jì)概率qv。然后,在[0,1]區(qū)間產(chǎn)生一個(gè)隨機(jī)數(shù)r。若0 ≤r≤q1,則選擇交換機(jī)1為下一跳節(jié)點(diǎn);若qd-1

        表1 累計(jì)概率統(tǒng)計(jì)表Table 1 Cumulative probability statistics table

        4)判斷螞蟻是否到達(dá)目的節(jié)點(diǎn)。若螞蟻沒(méi)有到達(dá)目的節(jié)點(diǎn)則回到步驟2),繼續(xù)尋找下一跳節(jié)點(diǎn)。若已到達(dá)目的節(jié)點(diǎn),則轉(zhuǎn)向步驟5),并使到達(dá)的螞蟻數(shù)量加1。

        5)根據(jù)螞蟻經(jīng)過(guò)的節(jié)點(diǎn)記錄,生成一條備選路徑。根據(jù)到達(dá)的螞蟻數(shù)量判斷是否蟻群內(nèi)所有螞蟻均到達(dá)目的節(jié)點(diǎn)。若是,則轉(zhuǎn)向步驟6),并使迭代次數(shù)加1;若否,則轉(zhuǎn)回步驟2),對(duì)下一只螞蟻進(jìn)行操作。

        6)更新路徑上的信息素濃度。當(dāng)所有螞蟻到達(dá)目的節(jié)點(diǎn)且生成備選路徑后,根據(jù)式(9)和式(10)對(duì)路徑上的信息素進(jìn)行更新。

        其中:0<ρ≤1 為信息素的蒸發(fā)率;1-ρ表示信息素?fù)]發(fā)后的殘留因子;Q為信息素總量;N為螞蟻數(shù)量;pathk表示螞蟻k所經(jīng)過(guò)的路徑;hk表示路徑pathk的跳數(shù),可理解為該路徑的長(zhǎng)度。

        7)判斷算法是否達(dá)到最大迭代次數(shù)。若是,則停止迭代,獲得所有的備選路徑;若否,則返回步驟2)繼續(xù)迭代。

        8)根據(jù)大象流的帶寬需求,從備選路徑中選擇多條部署路徑。一條路徑中包含多段鏈路,每段鏈路的剩余帶寬都不相同,將這些剩余帶寬進(jìn)行比較,最小值則為該條路徑的可傳輸帶寬量。考慮到當(dāng)網(wǎng)絡(luò)繁忙時(shí),單條路徑的可傳輸帶寬量無(wú)法滿(mǎn)足大象流的高帶寬需求,最終選擇多條路徑作為大象流的傳輸路徑。首先根據(jù)信息素濃度從大到小對(duì)備選路徑進(jìn)行排序,然后從已排序路徑中依次選擇一條路徑作為部署路徑,并判斷該路徑集合的可傳輸帶寬總量是否滿(mǎn)足大象流的傳輸需求。若不滿(mǎn)足,則繼續(xù)添加路徑;若已滿(mǎn)足,則輸出最終的部署路徑集合。

        大象流的部署路徑選擇如算法1 所示。

        算法1基于FNN 的優(yōu)化蟻群算法

        輸入拓?fù)鋱DG(V,E),源地址src,目的地址dst,大象流所需帶寬BW_request

        輸出路由部署路徑R

        3 仿真與分析

        3.1 實(shí)驗(yàn)環(huán)境與相關(guān)參數(shù)

        本文采用開(kāi)源控制器Ryu[19]和網(wǎng)絡(luò)模擬平臺(tái)Mininet[20]來(lái)仿真現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境。Fat-Tree 拓?fù)浣Y(jié)構(gòu)可分為接入層、匯聚層、核心層這3 個(gè)層次,其中接入層交換機(jī)與匯聚層交換機(jī)可組合形成多個(gè)Pod。本文采用Pod 數(shù)量為4 的Fat-Tree 拓?fù)浣Y(jié)構(gòu)進(jìn)行仿真,如圖3 所示。實(shí)驗(yàn)采用Iperf[21]工具產(chǎn)生數(shù)據(jù)流量,并服從泊松分布,其中大象流90%、老鼠流10%。網(wǎng)絡(luò)流量信息監(jiān)控模塊的監(jiān)聽(tīng)周期T設(shè)置為5 s??刂茖优c數(shù)據(jù)層之間采用OpenFlow1.3 版本的協(xié)議進(jìn)行交互。設(shè)置蟻群算法中的信息素和啟發(fā)信息加權(quán)因子分別為α=1.5 和β=2,信息素蒸發(fā)率ρ=0.5。

        圖3 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.3 Network topology structure

        3.2 隱藏層神經(jīng)元個(gè)數(shù)選取

        由于網(wǎng)絡(luò)安全與隱私問(wèn)題,暫無(wú)公開(kāi)的DCN 負(fù)載數(shù)據(jù)集可用,因此本文在各主機(jī)隨機(jī)通信的基礎(chǔ)上,收集鏈路上的負(fù)載信息作為數(shù)據(jù)集,并分為訓(xùn)練集和測(cè)試集2 個(gè)部分。再分別設(shè)置隱藏層神經(jīng)元個(gè)數(shù)h為3、5、7、9、11 的5 種FNN 結(jié)構(gòu),學(xué)習(xí)率均設(shè)置為0.01,通過(guò)實(shí)驗(yàn)比較這5 種FNN 的均方誤差(Mean Square Error,MSE),以此確定較合適的隱藏層神經(jīng)元個(gè)數(shù)。均方誤差如式(11)所示。

        其中:Xi和Yi分別為真實(shí)鏈路負(fù)載和預(yù)估鏈路負(fù)載;n為數(shù)據(jù)集數(shù)目。由圖4 可知,當(dāng)數(shù)據(jù)集數(shù)量較少時(shí),雖然隱藏層神經(jīng)元個(gè)數(shù)為7 時(shí)的神經(jīng)網(wǎng)絡(luò)表現(xiàn)不如隱藏層神經(jīng)元個(gè)數(shù)為5 時(shí)的神經(jīng)網(wǎng)絡(luò),但隨著數(shù)據(jù)集數(shù)量增加,隱藏層神經(jīng)元為7 時(shí)神經(jīng)網(wǎng)絡(luò)的均方誤差相對(duì)最小且保持穩(wěn)定,因此,最終確定隱藏層神經(jīng)元個(gè)數(shù)為7。

        圖4 不同F(xiàn)NN 結(jié)構(gòu)下的均方誤差Fig.4 Mean square error under different FNN structures

        3.3 實(shí)驗(yàn)結(jié)果及分析

        為驗(yàn)證FNN-LB 算法的有效性,選取GFF 算法和ECMP 算法這2 種負(fù)載均衡算法來(lái)進(jìn)行實(shí)驗(yàn)對(duì)比,并觀察上述算法在不同發(fā)包速率下傳輸時(shí)延、鏈路利用率和網(wǎng)絡(luò)吞吐量這3 種網(wǎng)絡(luò)性能指標(biāo)的變化情況。

        由圖5 可知,通過(guò)等價(jià)路徑傳輸數(shù)據(jù)的ECMP算法,在各種發(fā)包速率下的傳輸時(shí)延都要高于另外2 種算法。當(dāng)發(fā)包速率低于600 Mb/s 時(shí),GFF 算法與FNN-LB 算法的傳輸時(shí)延相近。而當(dāng)發(fā)包速率高于600 Mb/s 時(shí),由于FNN-LB 算法將鏈路平均傳輸時(shí)延作為底層特征輸入前饋神經(jīng)網(wǎng)絡(luò)以預(yù)估鏈路負(fù)載,故算法受此參數(shù)影響,最終部署的路由路徑具有較小的傳輸時(shí)延。

        圖5 不同發(fā)包速率下的傳輸時(shí)延Fig.5 Transmission delay under different packet sending rates

        由圖6 可知,當(dāng)發(fā)包速率較低時(shí),3 種算法的鏈路利用率無(wú)明顯差別。隨著發(fā)包速率的增加,3 種算法的鏈路利用率都有所增加,但ECMP 算法會(huì)產(chǎn)生大象流阻塞,因此鏈路利用率最低。GFF 算法在選取路徑時(shí)考慮了路徑是否滿(mǎn)足當(dāng)前大象流的帶寬需求,因此鏈路利用率高于ECMP 算法。而FNN-LB 算法基于各種實(shí)時(shí)網(wǎng)絡(luò)狀態(tài)參數(shù)選擇路徑,相較于另外2 種算法有動(dòng)態(tài)調(diào)節(jié)的優(yōu)勢(shì),因此當(dāng)發(fā)包速率大于500 Mb/s 時(shí),其鏈路利用率在三者中最高。

        圖6 不同發(fā)包速率下的鏈路利用率Fig.6 Link utilization under different packet sending rates

        圖7 為不同發(fā)包速率下3 種算法網(wǎng)絡(luò)吞吐量的變化情況??梢钥闯觯篍CMP 算法對(duì)大象流調(diào)度效果不佳,故網(wǎng)絡(luò)吞吐量最先到達(dá)瓶頸且總體低于另外2 種算法;FNN-LB 算法基于預(yù)估鏈路負(fù)載選取路徑,考慮了實(shí)時(shí)網(wǎng)絡(luò)狀況,因此當(dāng)發(fā)包速率較高時(shí),網(wǎng)絡(luò)吞吐量仍高于另外2 種算法。

        圖7 不同發(fā)包速率下的網(wǎng)絡(luò)吞吐量Fig.7 Network throughput under different packet sending rates

        4 結(jié)束語(yǔ)

        為解決數(shù)據(jù)中心網(wǎng)絡(luò)中因大象流而引起的負(fù)載不均衡問(wèn)題,本文提出一種基于前饋神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)多路徑負(fù)載均衡方法。利用帶寬利用率、時(shí)延、丟包率等多種網(wǎng)絡(luò)狀態(tài)參數(shù),通過(guò)前饋神經(jīng)網(wǎng)絡(luò)預(yù)估鏈路負(fù)載,結(jié)合蟻群算法為大象流尋找滿(mǎn)足高吞吐量需求的路徑。仿真結(jié)果表明,該方法能夠有效提高鏈路利用率和網(wǎng)絡(luò)吞吐量,降低傳輸時(shí)延。下一步將考慮利用更多變的拓?fù)浣Y(jié)構(gòu)和差異性更大的數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),以提高系統(tǒng)的可擴(kuò)展性并評(píng)估鏈路負(fù)載的準(zhǔn)確性。

        猜你喜歡
        交換機(jī)大象鏈路
        家紡“全鏈路”升級(jí)
        天空地一體化網(wǎng)絡(luò)多中繼鏈路自適應(yīng)調(diào)度技術(shù)
        修復(fù)損壞的交換機(jī)NOS
        使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
        大象無(wú)形
        中華奇石(2017年4期)2017-06-23 23:04:38
        認(rèn)真的大象
        大象
        幼兒園(2016年10期)2016-06-22 19:31:47
        PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計(jì)
        基于3G的VPDN技術(shù)在高速公路備份鏈路中的應(yīng)用
        羅克韋爾自動(dòng)化交換機(jī)Allen-Bradley ArmorStratix 5700
        国产精品不卡在线视频| 精品人妻无码一区二区色欲产成人 | 55夜色66夜色国产精品视频| 欧美成人三级网站在线观看| 中文字幕成人精品久久不卡| 国产av天堂亚洲av刚刚碰| 久久综合亚洲色hezyo国产| 亚欧AV无码乱码在线观看性色| 国产三级黄色片子看曰逼大片| 按摩师玩弄少妇到高潮av| 人人爽人人爽人人片av| 玖玖资源站无码专区| 精品国产自拍在线视频| 日韩精品在线一二三四区| 人妻哺乳奶头奶水| 欧美一级色图| 美女人妻中文字幕av| 国产精品婷婷久久爽一下| 午夜dj在线观看免费视频| 亚洲性69影视| 99久久国产免费观看精品| 99久久精品免费观看国产| 欧美自拍视频在线| 天堂av一区一区一区| 99久久99久久精品国产片| 国产性生交xxxxx免费| 亚洲AⅤ男人的天堂在线观看| 久久亚洲网站中文字幕| 亚洲精品久久久久成人2007| 国产精品理人伦国色天香一区二区| 黄片午夜免费观看视频国产| 99久久99久久精品国产片| 亚洲av无码专区国产乱码不卡| 亚洲免费毛片网| av在线播放免费网站| 亚洲一卡2卡3卡4卡5卡精品| 国产精品美女白浆喷水| 亚洲国产高清一区av| 国产精品无码一区二区三区电影| 午夜家庭影院| 玩弄丝袜美腿超短裙校花|