張翠芳, 姬楠楠
(1.大連工業(yè)大學藝術(shù)與信息工程學院機械工程系, 大連 116400; 2.長安大學理學院, 西安 710049)
多線程網(wǎng)絡是通信網(wǎng)絡中重要的一種,不同于一般的通信網(wǎng)絡,該網(wǎng)絡能夠在一個任務進程中開啟多條線程,每一條線程都能并行執(zhí)行多種不同的任務,有效提升任務執(zhí)行效率,降低CPU(中央處理器)與內(nèi)存消耗[1]。多線程網(wǎng)絡具有加快運行速度、可后臺運行處理時間較長的任務進而減少內(nèi)存占用等優(yōu)點[2]。同時也存在需要切換操作系統(tǒng)進而影響網(wǎng)絡性能、內(nèi)存過少導致系統(tǒng)無法運行、多線程、多任務同時運行可能會使程序出現(xiàn)bug,單線程終止可能會導致整個程序崩潰、多線程共用一個塊模型可能出現(xiàn)線程死鎖情況等缺點[3]。目前,相關(guān)學者已經(jīng)對多線程網(wǎng)絡通信延遲檢測問題進行了研究,并取得了一定的研究成果。
文獻[4]提出一種邊緣計算環(huán)境下應用驅(qū)動的網(wǎng)絡延遲測量與優(yōu)化技術(shù),對應用系統(tǒng)架構(gòu)特征進行提取,根據(jù)提取結(jié)果分析產(chǎn)生延遲的原因,并將原因進行分類,依據(jù)分類結(jié)果提出控制延遲的理論及具體方法。根據(jù)實驗結(jié)果可知,該方法對網(wǎng)絡通信延遲的影響因素以及產(chǎn)生延遲的原因分詞的較為具體,但是不能對網(wǎng)絡通信時延進行準確檢測。文獻[5]提出一種容錯網(wǎng)絡中分布式故障節(jié)點檢測方法,提出了一種完全分布式且易于實現(xiàn)的方法,使每個DTN(即時延容忍網(wǎng)絡)節(jié)點能夠快速識別其傳感器是否產(chǎn)生故障數(shù)據(jù)。該算法的動力學行為由一些連續(xù)的時間-狀態(tài)方程來近似,并對其平衡進行了描述。同時也考慮了節(jié)點行為不當?shù)拇嬖?,試圖干擾故障節(jié)點檢測過程。通過對理論和仿真結(jié)果的比較可知,該方法的檢測結(jié)果準確性較高,但是易受干擾,穩(wěn)定性不強。文獻[6]提出基于集合點概念的多線程網(wǎng)絡延遲檢測技術(shù),集合點是網(wǎng)絡中移動接收器暫停并從附近的傳感器節(jié)點收集數(shù)據(jù)的位置。為無線傳感器網(wǎng)絡的延遲約束應用中的移動宿軌跡的有效設計提出了一種有效的RP(快速成形技術(shù))選擇算法。該算法基于虛擬路徑和最小生成樹,對通信延遲做出檢測。該檢測方法的檢測準確性較好,但檢測耗時較長。
多線程網(wǎng)絡對應用系統(tǒng)要求較高,研究了一種基于模糊矩陣的多線程網(wǎng)絡通信延遲檢測技術(shù),準確、高效率檢測出多線程網(wǎng)絡通信延遲,為多線程網(wǎng)絡高速運行提供可靠地保障。
多線程網(wǎng)絡通信延遲時間由生成延遲、隊列延遲、傳輸延遲、接收延遲4個部分組成。多線程網(wǎng)絡通信延遲結(jié)構(gòu)圖如圖1所示。
圖1 多線程網(wǎng)絡通信延遲結(jié)構(gòu)Fig.1 Communication delay structure of multithreaded network
圖1中,微處理器接收到節(jié)點產(chǎn)生數(shù)據(jù)至將數(shù)據(jù)加入緩沖隊列過程中出現(xiàn)的延遲稱為生成延遲。緩沖隊列內(nèi)數(shù)據(jù)從消息幀至獲取總線控制權(quán)線間產(chǎn)生的延遲稱為隊列延遲。數(shù)據(jù)從發(fā)送節(jié)點的總線控制器至接收節(jié)點的總線控制器過程中產(chǎn)生的延遲稱為傳輸延遲。從接收節(jié)點總線控制器到有效數(shù)據(jù)發(fā)送至接收節(jié)點微處理器過程產(chǎn)生的延遲稱為接收延遲。
在多線程網(wǎng)絡中,生成延遲與接收延遲與多線程網(wǎng)絡特性無關(guān),僅與節(jié)點處理器運行程度有關(guān),并且與隊列延遲和傳輸延遲相比數(shù)量極小,因此考慮通信延遲時可忽略不計。多線程網(wǎng)絡通信延遲時間表示為
Rm=qm+tm
(1)
式(1)中:Rm為多線程網(wǎng)絡通信延遲;qm為多線程網(wǎng)絡中隊列延遲;tm為多線程網(wǎng)絡中傳輸延遲。
1.1.1 隊列延遲
在多線程網(wǎng)絡中,靜態(tài)段發(fā)送消息時間固定,因此無須考慮網(wǎng)絡中靜態(tài)段隊列延遲,僅考慮多線程網(wǎng)絡中動態(tài)段隊列延遲[6]。
在多線程網(wǎng)絡中,各消息幀按優(yōu)先權(quán)高低順序發(fā)送,因此如果動態(tài)時間段不夠長,優(yōu)先權(quán)低的消息幀有可能無法發(fā)送[7]。為避免隊列延遲計算時未考慮低優(yōu)先權(quán)消息,設多線程網(wǎng)絡中時間長度足夠長,所有動態(tài)段消息足夠在通信周期內(nèi)發(fā)送[8]。
多線程網(wǎng)絡中各消息間可能發(fā)生碰撞,因此隊列延遲為隨機變量,設E(x)為隊列延遲qm這一隨機變量的數(shù)學期望。
設動態(tài)段消息生成呈均勻分布,隨機時間動態(tài)段消息幀生成概率密度用d表示,可得
(2)
式(2)中:Q為生成1幀動態(tài)消息的通信周期數(shù);L多線程網(wǎng)絡通信周期長度。
設平均延遲時間為f,可得
(3)
式(3)中:n0為靜態(tài)段最后消息幀的ID;T為動態(tài)段消息幀由動態(tài)槽數(shù)量對應ID發(fā)送產(chǎn)生的延遲;M為動態(tài)段消息幀由動態(tài)槽數(shù)量未對應ID發(fā)送產(chǎn)生的延遲。
當優(yōu)先權(quán)高于n的動態(tài)信息幀完成發(fā)送,動態(tài)信息幀n開始發(fā)送,因此f表示動態(tài)信息幀n平均發(fā)送時刻。
用t表示動態(tài)信息幀n生成時間,那么從生成時間t至發(fā)送時間間隔為x(t),則有:
(4)
式(4)中:t為動態(tài)段開始時間;L為多線程網(wǎng)絡通信周期長度。動態(tài)信息幀n在滿足0≤x 動態(tài)信息幀n隊列延遲的數(shù)學期望公式為 (5) 用e2表示E(x)的方差,則有: (6) 均方差計算公式為 (7) 以上分析可知,多線程網(wǎng)絡內(nèi)動態(tài)信息幀隊列延遲的數(shù)學期望與均方差由通信周期長度決定[9]。 1.1.2 傳輸延遲 多線程網(wǎng)絡中傳輸延遲僅受信息幀本身及總傳輸線的參數(shù)影響[10]。依據(jù)各參數(shù)建立靜態(tài)幀與動態(tài)幀傳輸延遲數(shù)學模型如下: tm,s=[7+1+2+td+(8+Sm)(8+2)]fbit= (90+td+10Sm)fbit (8) tm,D=[7+1+2+td+tDTS+(8+Sm)(8+2)]fbit= (90+td+tDTS+10Sm)fbit (9) 式中:Sm為數(shù)據(jù)場在數(shù)據(jù)幀中長度;fbit為位時間;td為發(fā)送與接收節(jié)點時造成的傳播延遲,一般為2位或3位。傳輸開始序列通常為5~15位,幀開始序列與結(jié)尾序列為1位和2位。動態(tài)段包括用于排列時間片的動態(tài)幀結(jié)尾序列,因此比靜態(tài)段多4位以上[11]。 在多線程網(wǎng)絡通信延遲理論分析基礎(chǔ)上構(gòu)建多線程網(wǎng)絡通信延遲檢測模糊矩陣,利用隊列延遲qm與傳輸延遲tm設置多線程網(wǎng)絡通信延遲檢測模糊矩陣具體過程如下。 建立多線程網(wǎng)絡通信延遲檢測模糊矩陣S=[sqmtm]n×n,為便于計算,用i表示qm,用j表示tm。為評價模糊矩陣中不同元素的重要程度,設置權(quán)重評估系數(shù)k∈[0,1],當k=1時,該元素的最重要,因此該矩陣滿足?i,j,k,sij=sik-sjk+0.5,那么模糊矩陣S為模糊一致性矩陣。利用此模糊一致性矩陣對多線程網(wǎng)絡中通信延遲進行評價[12-13],實現(xiàn)多線程網(wǎng)絡通信延遲情況的有效檢測,模糊一致性矩陣中元素Sij作為第i個通信數(shù)據(jù)評價指標Si對第j個通信數(shù)據(jù)評價指標Sj的重要度,3種評價標準分別為:①Si與Sj同樣重要時,Sij=0.5;②當Sj比Si重要時,0≤Sij<0.5;③當Si比Sj重要時,0.5 該模糊矩陣中,所有指標與自身重要度相同,因此對角線數(shù)值均為0.5;不同行相應位置兩個數(shù)值相減結(jié)果為常數(shù)。 用R表示模糊矩陣中訓練集,用{E1,E2,…,Ek}表示類別級,將訓練集R利用屬性P分類為差異子集[14]。假設屬性P為{P1,P2,…,Pk},其中包含n個數(shù)值,那么訓練集R利用屬性P分類為i個子集。數(shù)據(jù)集R的例子數(shù)用|R|表示,P=Pi的例子數(shù)用|Ri|表示,Ej類的粒子數(shù)用|Ei|表示,并且滿足|Ei|=f(Ej,R),P=Pi粒子內(nèi)含有Ej類別的例子數(shù)用|Rip|表示,則類別Ej與屬性P=Pi的發(fā)生概率分別為 Q(Ej)=|Ej|∧R|=f(Ej,R)∧R| (10) Q(pi)=|Ri|∧R| (11) 類別Ej在屬性P=Pi例子中的條件概率為 Q(Ej/pi)=|Rjp|∧Rj| (12) 在多線程網(wǎng)絡中,干擾噪聲類別信息熵公式為 (13) 條件通信類別熵公式為 (14) 根據(jù)式(13)、式(14)可得信息增益公式為 Z(E,P)=U(E)-U(K)=I(R)=G(P) (15) 可知通信信息屬性P信息熵公式為 (16) 通信信息增益率公式為 G=Z(E,P)/U(P)/I(P) (17) 經(jīng)1 000次計算1~8階正互反矩陣,所得平均隨機一致性指標結(jié)果如表1所示。 表1 平均隨機一致性指標 最終可得求解模糊矩陣的一致性比例公式為 (18) 若式(18)結(jié)果小于0.1,該模糊矩陣一致性較強;若結(jié)果大于等于0.1,那么該模糊矩陣一致性較弱,需要調(diào)整該矩陣。通過以上步驟計算,利用信息熵所得模糊一致矩陣的結(jié)果為-0.985 6,因結(jié)果小于0.1,可知該模糊矩陣一致性較強,可以用作多線程網(wǎng)絡通信延遲檢測。 為驗證基于模糊矩陣的多線程網(wǎng)絡通信延遲檢測技術(shù)的有效性,在Qualnet高性能網(wǎng)絡模擬系統(tǒng)中利用本文方法對多線程網(wǎng)絡通信延遲進行仿真檢測實驗,并與文獻[4]和文獻[5]方法進行比較,QualNet網(wǎng)絡模擬系統(tǒng)是美國研發(fā)的產(chǎn)品,該系統(tǒng)主要對無線移動通信網(wǎng)絡進行優(yōu)化處理。實驗設置多線程網(wǎng)絡平臺共200個傳輸節(jié)點,對2 GB數(shù)據(jù)進行傳輸,測試該過程的傳輸延遲特性。實驗參數(shù)配置如表2所示。 在仿真多線程網(wǎng)絡平臺下進行一次通信,驗證本文方法檢測通信延遲的有效性,本次通信延遲檢測結(jié)果如表3所示。 表2 實驗參數(shù)配置 表3 通信延遲檢測結(jié)果對比 從表3可以看出,本文方法可有效檢測出多線程網(wǎng)絡中不同幀的通信延遲情況,與實際延遲對比可以看出本文方法檢測準確率較高,誤差在5 ms之內(nèi),而文獻[4]方法雖也可以檢測出通信延遲,但是誤差較大。 在仿真系統(tǒng)中將待檢測多線程網(wǎng)絡設置10個節(jié)點,在帶寬分別為1、5、10、20 MB/s時檢測網(wǎng)絡通信10個通信節(jié)點的延遲情況,檢測時間為10 min,檢測結(jié)果如表4所示。 表4 帶寬為1 MB/s時節(jié)點延時檢測結(jié)果 從表4結(jié)果可以看出,隨著帶寬的增加,網(wǎng)絡延時隨之增加,這與實際情況相符。本文方法在不同帶寬下檢測多線程網(wǎng)絡通信延遲結(jié)果與實際通信延遲結(jié)果相差不大,檢測誤差在10 ms左右,并且可以準確檢測出節(jié)點8存在的通信延遲較長情況,說明節(jié)點8出現(xiàn)故障;而文獻[5]方法檢測通信延遲結(jié)果與實際通信延遲誤差較大,并且無法檢測通信出現(xiàn)故障的具體節(jié)點位置。 多線程網(wǎng)絡通信中延時檢測方法較容易受到噪聲干擾導致檢測不夠準確,為驗證本文檢測方法的穩(wěn)定性,驗證不同干擾情況下檢測方法準確性,在單音干擾、多音干擾情況下分別進行檢測,檢測結(jié)果如圖2所示。 從圖2(a)、圖2(b)可以看出,隨著信噪比的增加,兩種檢測方法對干擾信號的抑制作用都開始降低,但文獻[5]方法降低幅度明顯大于本文方法,說明本文方法抗干擾能力高于神經(jīng)網(wǎng)絡方法,在噪聲較強環(huán)境下依然可以準確檢測出多線程網(wǎng)絡中的通信延遲情況。這是由于本文方法利用隊列延遲與傳輸延遲建立多線程網(wǎng)絡通信延遲檢測模糊矩 圖2 檢測性能對比Fig.2 Comparison of detection performance 陣,通過該矩陣對多線程網(wǎng)絡中通信延遲情況進行評價判別,能夠降低干擾因素的影響,從而保證通信延遲檢測的準確性,而傳統(tǒng)方法沒有考慮到隊列延遲對網(wǎng)絡通信延遲的影響,因此存在檢測準確性低的問題。 多線程網(wǎng)絡的實際通信中,不僅有著頻率特征集中的單音噪聲與多音噪聲,還存在頻率特征分散的窄帶干擾,圖2(c)為兩種方法在窄帶干擾下的通信延遲檢測結(jié)果。 由圖2(c)可以看出,在頻率特征分散的窄帶干擾信號較強時,本文方法的延遲檢測準確率保持在90%~100%,而文獻[5]方法的延遲檢測準確率平均保持在70%~90%,說明本文方法延遲檢測準確率仍優(yōu)于文獻[5]方法,驗證了本文方法的穩(wěn)定性。 以上實驗結(jié)果可知,本文方法在不同帶寬情況下檢測多線程網(wǎng)絡中通信延遲檢測誤差小于10 ms,并且可以準確檢測出延時過長的節(jié)點8,在不同干擾情況下檢測準確性仍高于90%,驗證了本文方法的準確性和穩(wěn)定性,說明本文方法可應用在實際多線程網(wǎng)絡通信檢測中。 基于模糊矩陣理論研究了多線程網(wǎng)絡下的通信延遲檢測方法,并通過仿真實驗驗證了該方法在不同帶寬與不同噪聲干擾下的通信延遲檢測情況,結(jié)果表明通過該方法在多線程網(wǎng)絡通信中檢測通信延遲準確率在90%以上,通信延遲檢測誤差低于10 ms,驗證了利用該方法檢測通信延遲的穩(wěn)定性和準確性,說明了該方法的研究對多線程網(wǎng)絡是相當有價值的,可應用在多種干擾環(huán)境下的實際應用中,為多線程網(wǎng)絡的高效運行提供了保障。1.2 基于模糊矩陣的多線程網(wǎng)絡通信延遲檢測
2 實驗分析
3 結(jié)論