国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

機(jī)載時(shí)間敏感網(wǎng)絡(luò)流量調(diào)度算法性能研究

2022-07-09 06:45:00劉智武
關(guān)鍵詞:數(shù)據(jù)流隊(duì)列交換機(jī)

孔 璇,張 雙,劉智武

(中國(guó)航空工業(yè)集團(tuán)公司 西安航空計(jì)算技術(shù)研究所,西安 710068)

0 引言

在硬實(shí)時(shí)通信系統(tǒng)中,消息傳輸?shù)淖畲笱舆t必須得到保障且不能容忍任何的數(shù)據(jù)丟失[1]。嚴(yán)格的時(shí)間確定性,即確定的網(wǎng)絡(luò)時(shí)延和抖動(dòng),對(duì)于機(jī)載系統(tǒng)中的安全關(guān)鍵應(yīng)用是至關(guān)重要的。某些帶有關(guān)鍵控制信息的數(shù)據(jù)幀需要按照一定時(shí)間周期進(jìn)行傳輸,一旦時(shí)延和抖動(dòng)超過了上限,可能導(dǎo)致嚴(yán)重的機(jī)器、設(shè)備損壞及人身傷害。基于不同的設(shè)計(jì)思想,目前應(yīng)用在機(jī)載網(wǎng)絡(luò)的確定性以太網(wǎng)主要有基于時(shí)間觸發(fā)以太網(wǎng)(TTE, time-triggered ethernet)和時(shí)間敏感網(wǎng)絡(luò)(TSN, time sensitive network)。

在TTE網(wǎng)絡(luò)中,消息被劃分為時(shí)間觸發(fā)(TT, time-triggered)消息、速率受限(RC, rate-constraint)消息和盡力而為(BE, best-effort)消息[2]。通過對(duì)鏈路資源預(yù)先規(guī)劃和靜態(tài)時(shí)間調(diào)度表的設(shè)計(jì)[3],實(shí)現(xiàn)TT、RC和BE消息在同一網(wǎng)絡(luò)中的數(shù)據(jù)轉(zhuǎn)發(fā),保證了時(shí)間觸發(fā)流量的延時(shí)是可控的,并且固定在一定的范圍內(nèi)[4]。TTE能夠精確描述網(wǎng)絡(luò)中各種消息的調(diào)度行為,但是實(shí)現(xiàn)較為復(fù)雜,并且TT業(yè)務(wù)的分組調(diào)度是根據(jù)時(shí)間調(diào)度表對(duì)緩存空間的讀寫操作,并沒有采取基于排隊(duì)理論的網(wǎng)橋?qū)崿F(xiàn),和傳統(tǒng)以太網(wǎng)的轉(zhuǎn)發(fā)交換的具體實(shí)現(xiàn)和設(shè)計(jì)思想存在較大差異[5]。

TSN是由以太網(wǎng)音視頻橋接(AVB, audio video bridging)網(wǎng)絡(luò)演進(jìn)而來(lái)的[6],其通過時(shí)鐘同步、流預(yù)留、循環(huán)排隊(duì)、門控列表和搶占等機(jī)制保證了數(shù)據(jù)流的有界低時(shí)延。該技術(shù)的核心是以時(shí)間感知整形(TAS, time-aware shaper)和幀搶占為代表的流量調(diào)度算法。

TAS引入了時(shí)分多址(TDMA, time division multiple access)的思想,通過門控時(shí)間表(GCL, gate control list)控制隊(duì)列門控開關(guān)的打開閉合,在鏈路上創(chuàng)建獨(dú)享的保護(hù)窗口[7],使時(shí)間敏感業(yè)務(wù)在保護(hù)窗口內(nèi)無(wú)干擾地傳輸,從而提供確定的時(shí)延[8]。TAS的研究包括最壞情況分析和調(diào)度合成。通過最壞情況分析,可以得到通信系統(tǒng)的時(shí)延上限。文獻(xiàn)[9]研究了基于IEEE 802.1Qbv的預(yù)定流量時(shí)間感知,結(jié)果表明,TAS可以支持非常低的延遲以及抖動(dòng)保證,同時(shí),利用幀搶占機(jī)制,可以增強(qiáng)整形器的性能;考慮到相同優(yōu)先級(jí)幀間干擾的問題,文獻(xiàn)[10]分析了TAS與基于信用值的整形器(CBS, credit-based shaper)的組合性能。然而,基于模擬和形式的方法并不能解決TSN的配置問題[11],應(yīng)通過調(diào)度合成提高網(wǎng)絡(luò)通信的確定性。文獻(xiàn)[12-13]指出,調(diào)度合成是通過計(jì)算傳輸路由和GCL共同實(shí)現(xiàn)的。

幀搶占允許高優(yōu)先級(jí)流量中斷低優(yōu)先級(jí)流量的傳輸,減少高優(yōu)先級(jí)的阻塞時(shí)間,解決了保護(hù)窗口過長(zhǎng)引起的帶寬浪費(fèi)問題。文獻(xiàn)[14-15]分析了幀搶占調(diào)度的優(yōu)勢(shì)并給出了時(shí)延及抖動(dòng)性能的優(yōu)化方法。

上述文獻(xiàn)試圖采用商用的TSN數(shù)據(jù)流傳輸場(chǎng)景進(jìn)行網(wǎng)絡(luò)仿真,評(píng)估流量調(diào)度機(jī)制對(duì)網(wǎng)絡(luò)確定性的影響,且要求應(yīng)用和網(wǎng)絡(luò)完全同步,沒有針對(duì)不同關(guān)鍵等級(jí)的機(jī)載業(yè)務(wù)給出量化的性能評(píng)估。針對(duì)上述問題,通過探索TAS和幀搶占算法的特征,推導(dǎo)出一個(gè)數(shù)據(jù)流傳輸時(shí)延的數(shù)學(xué)模型,使用開源TSN網(wǎng)絡(luò)仿真平臺(tái),評(píng)估了TAS和幀搶占在機(jī)載應(yīng)用場(chǎng)景下的性能結(jié)果,分析算法在可靠性、通信性能和適用場(chǎng)景的不同。

1 TSN系統(tǒng)模型

1.1 交換架構(gòu)

IEEE 802.1Q標(biāo)準(zhǔn)中規(guī)定了TSN交換機(jī)架構(gòu),如圖1所示,TSN交換機(jī)的每個(gè)全雙工端口都配置了8個(gè)優(yōu)先級(jí)隊(duì)列。到達(dá)交換機(jī)的數(shù)據(jù)幀在轉(zhuǎn)發(fā)到出端口之前,要經(jīng)過過濾、計(jì)時(shí)。出端口的8個(gè)隊(duì)列對(duì)應(yīng)不同的流量類別,交換機(jī)根據(jù)優(yōu)先碼將數(shù)據(jù)幀分配給出口隊(duì)列,傳輸選擇(TS, transmission selection)從優(yōu)先級(jí)最高的隊(duì)列頭部選擇符合條件的數(shù)據(jù)幀,發(fā)送到鏈路上,如果隊(duì)列整形器的時(shí)隙與數(shù)據(jù)幀配置相符,則允許數(shù)據(jù)幀傳輸。TSN工作組規(guī)定了各種不同的整形器,如嚴(yán)格優(yōu)先級(jí)和基于信用的整形器(IEEE 802.1Qav)。如圖2所示,TAS是在其他整形器之后生效的,通過TS后,MAC負(fù)責(zé)傳輸數(shù)據(jù)幀,這里就涉及到幀搶占機(jī)制。

圖1 TSN交換機(jī)架構(gòu)

圖2 出端口傳輸選擇(TS)和門控開關(guān)

1) 時(shí)間感知整形器:TAS是出口隊(duì)列的一個(gè)門控開關(guān),分為基于流的TAS和基于類的TAS,通過打開或關(guān)閉對(duì)應(yīng)的出口隊(duì)列來(lái)啟用或禁用它,只有啟用的隊(duì)列才能進(jìn)行數(shù)據(jù)流的傳輸。驅(qū)動(dòng)程序根據(jù)GCL來(lái)周期地改變門控開關(guān)的狀態(tài)。GCL中規(guī)定了門控開關(guān)的開啟時(shí)間和保持時(shí)間,GCL循環(huán)一次所需的時(shí)間與網(wǎng)絡(luò)周期時(shí)間相同。

2) 幀搶占:幀搶占采用了IEEE 802.1Qbu和IEEE 802.3br的搶占式MAC傳輸機(jī)制,將出端口分為2個(gè)MAC服務(wù)接口,即快速M(fèi)AC(eMAC, express MAC) 和可搶占MAC(pMAC, preemptable MAC)。如圖3所示,pMAC可被eMAC搶占,進(jìn)入隊(duì)列后,等待eMAC數(shù)據(jù)傳輸完成后,再傳輸pMAC數(shù)據(jù)。如果沒有幀搶占,一個(gè)最大傳輸單元(MTU, maximum transmission unit)幀(1 500字節(jié)) 在1 Gpbps速率下,能夠阻塞端口約12.5 μs,而幀搶占將最大阻塞時(shí)間限制為1 μs。如果發(fā)生了搶占,被搶占幀的剩余部分的數(shù)據(jù)負(fù)載將重新整合成新的幀,稱為分片,其長(zhǎng)度至少為64字節(jié)。端口的出口隊(duì)列分為快速隊(duì)列或可搶占隊(duì)列,分別在eMAC和pMAC中處理快速幀和可搶占幀。

圖3 幀搶占機(jī)制

1.2 流

流是指具有傳輸方向的數(shù)據(jù)流。TSN將數(shù)據(jù)流分為同步流、循環(huán)流和“盡力而為”流。對(duì)于同步流而言,發(fā)送周期需要高精度網(wǎng)絡(luò)時(shí)鐘同步技術(shù)的支持,數(shù)據(jù)流按照規(guī)定的起始時(shí)間和偏移,在指定的網(wǎng)絡(luò)周期內(nèi)完成傳輸。同步流具有最小的端到端時(shí)延和最小的抖動(dòng)上限,例如某些運(yùn)動(dòng)控制應(yīng)用。循環(huán)流的發(fā)送周期無(wú)需與網(wǎng)絡(luò)周期同步,其傳輸起始時(shí)間可以是網(wǎng)絡(luò)周期內(nèi)的任何時(shí)刻,其端到端延遲不超過一個(gè)網(wǎng)絡(luò)周期,抖動(dòng)以周期時(shí)間來(lái)衡量。一個(gè)網(wǎng)絡(luò)周期內(nèi),同步流和循環(huán)流只傳輸一幀,最大幀長(zhǎng)為300字節(jié)。TSN需要保證最大數(shù)據(jù)負(fù)載的同步流和循環(huán)流的時(shí)延上限。

1.3 幀延遲

為了確定網(wǎng)絡(luò)傳輸時(shí)延和抖動(dòng)上限,需要分析端到端時(shí)延的組成因素。

發(fā)送方發(fā)出一幀數(shù)據(jù),從發(fā)送方開始傳輸數(shù)據(jù)到接收方收到全部數(shù)據(jù)的時(shí)間間隔稱為端到端延遲,由傳播延遲、幀相關(guān)延遲、幀無(wú)關(guān)延遲及排隊(duì)延遲共同決定,其中前三者統(tǒng)稱為路徑延遲,每個(gè)流的路徑延遲是恒定的,它只取決于路徑長(zhǎng)度和幀長(zhǎng)。因此,保證端到端的傳輸延遲需要確定排隊(duì)延遲的上限。

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

在時(shí)間敏感網(wǎng)絡(luò)中,主要的網(wǎng)絡(luò)構(gòu)件包括端系統(tǒng)、網(wǎng)絡(luò)交換機(jī)和物理鏈路。

端系統(tǒng)作為數(shù)據(jù)流的發(fā)送方或接收方,需要同時(shí)支持同步流、循環(huán)流和“盡力而為”流的收發(fā)處理。與傳統(tǒng)以太網(wǎng)不同,TSN端系統(tǒng)集成了時(shí)鐘同步模塊和流量整形模塊,基于統(tǒng)一的全局時(shí)鐘,能夠滿足數(shù)據(jù)流無(wú)沖突的發(fā)送和接收。

網(wǎng)絡(luò)交換機(jī)主要功能是同時(shí)支持TSN三種數(shù)據(jù)流的轉(zhuǎn)發(fā),同時(shí),交換機(jī)集成了時(shí)鐘同步模塊、流量過濾警管模塊和數(shù)據(jù)容錯(cuò)控制機(jī)制。時(shí)鐘同步模塊記錄數(shù)據(jù)流通過交換機(jī)入端口和出端口的高精度時(shí)間戳,以支持網(wǎng)絡(luò)各端口隊(duì)列的流量整形算法;通過流量過濾管制模塊,可以解決數(shù)據(jù)流在交換機(jī)內(nèi)部的帶寬占用問題,保證數(shù)據(jù)流能夠在流量整形器計(jì)劃的時(shí)延窗口轉(zhuǎn)發(fā)出去;交換機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)流的整個(gè)過程,采用數(shù)據(jù)容錯(cuò)控制機(jī)制對(duì)錯(cuò)誤進(jìn)行恢復(fù)。

TSN端系統(tǒng)與交換機(jī)之間以及交換機(jī)與交換機(jī)之間,通過物理鏈路兩兩互連的,構(gòu)成的網(wǎng)絡(luò)拓?fù)浒凑战粨Q機(jī)的互聯(lián)方式可以分為總線型和交換型,如圖4所示。

圖4 時(shí)間敏感網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

總線型拓?fù)涫菚r(shí)間敏感網(wǎng)絡(luò)的典型拓?fù)浣Y(jié)構(gòu),在工業(yè)界已得到廣泛應(yīng)用。在總線型拓?fù)渲?,每個(gè)交換機(jī)都需要連接一個(gè)或多個(gè)端系統(tǒng),且每個(gè)交換機(jī)都與其相鄰交換機(jī)相連。盡管拓?fù)浣Y(jié)構(gòu)簡(jiǎn)單,但不同調(diào)度算法在總線型網(wǎng)絡(luò)上的表現(xiàn)出的特征和性能仍存在差異。如果網(wǎng)絡(luò)系統(tǒng)需要鏈路冗余,總線型拓?fù)涞耐ㄐ怕窂娇梢詳U(kuò)展成一個(gè)環(huán),即,將收發(fā)兩端連接成環(huán)形,以防止網(wǎng)絡(luò)分區(qū)。

為了提高網(wǎng)絡(luò)的傳輸帶寬和冗余容錯(cuò)能力,機(jī)載網(wǎng)絡(luò)通常采用交換型拓?fù)浣Y(jié)構(gòu)。在交換型拓?fù)渲校讼到y(tǒng)連接到交換機(jī)上,交換機(jī)采用級(jí)聯(lián)的方式構(gòu)成交換網(wǎng)絡(luò),交換機(jī)與交換機(jī)之間至少存在兩條相互隔離的通信鏈路。

2 TSN調(diào)度算法

2.1 幀搶占

幀搶占原理如圖5所示,當(dāng)鏈路中有可搶占幀時(shí),快速幀提出傳輸請(qǐng)求,發(fā)送方首先判斷當(dāng)前狀態(tài)下是否允許切片操作,如果允許,則在適當(dāng)位置中斷可搶占幀的傳輸。待快速幀傳輸完成后,被中斷的可搶占幀后半部分會(huì)被加上適當(dāng)?shù)那皩?dǎo)碼繼續(xù)傳輸。接收方根據(jù)前導(dǎo)碼來(lái)判斷幀的類型、進(jìn)行幀的重組。

圖5 幀搶占原理

幀搶占通過搶占BE幀的傳輸來(lái)減少快速幀的排隊(duì)時(shí)間,可以為單幀的端到端延遲和抖動(dòng)提供最壞情況下的上限。然而,隨著網(wǎng)絡(luò)中快速幀數(shù)量的增加,快速幀不能互相搶占,幀搶占會(huì)降級(jí)為嚴(yán)格優(yōu)先級(jí)調(diào)度。在最壞的情況下,網(wǎng)絡(luò)中所有的快速幀都使用相同的出端口,按照嚴(yán)格的優(yōu)先級(jí)順序傳輸。幀搶占的端到端延遲和抖動(dòng)上限主要依賴于發(fā)送方,假設(shè)所有的快速幀都是已知的、周期的,通過最壞情況分析,可以計(jì)算出每一跳的排隊(duì)延遲上限。因此,采用幀搶占調(diào)度算法,時(shí)延、抖動(dòng)的確定性強(qiáng)烈依賴于對(duì)網(wǎng)絡(luò)中所有潛在的快速幀的了解。

2.2 基于流的調(diào)度

基于流的調(diào)度算法采用了TTE網(wǎng)絡(luò)規(guī)劃的思想,關(guān)注每條數(shù)據(jù)流的傳輸,它適用于機(jī)載網(wǎng)絡(luò)同步流的傳輸。為了實(shí)現(xiàn)每個(gè)流在時(shí)間上和空間上的隔離,基于流的調(diào)度要求發(fā)送周期與網(wǎng)絡(luò)周期對(duì)齊,并且需要精確配置每條數(shù)據(jù)流傳輸?shù)钠鹗紩r(shí)刻(即GCL)和路由,以保證最小的排隊(duì)延遲。由于排隊(duì)延遲很小,甚至不存在,流的路徑延遲通常優(yōu)于端到端延遲,從而實(shí)現(xiàn)了傳輸?shù)母叽_定性。

基于流的調(diào)度只有在轉(zhuǎn)發(fā)高優(yōu)先級(jí)流量時(shí),BE的傳輸門才關(guān)閉,因此,網(wǎng)絡(luò)的帶寬利用率很高。在機(jī)載網(wǎng)絡(luò)中,基于流的調(diào)度規(guī)劃是一個(gè)復(fù)雜HP-Hard問題,規(guī)劃難度較大。為了便于應(yīng)用程序及時(shí)地提供數(shù)據(jù)以及網(wǎng)絡(luò)在預(yù)留的時(shí)隙內(nèi)發(fā)送數(shù)據(jù),網(wǎng)絡(luò)設(shè)備需要非常高精度的時(shí)間同步。時(shí)間上的微小偏差可能導(dǎo)致后續(xù)所有通信錯(cuò)過時(shí)間窗口的級(jí)聯(lián)反應(yīng),從而產(chǎn)生網(wǎng)絡(luò)重新同步的額外時(shí)延。為了防止這種情況的發(fā)生,需要對(duì)所有的流進(jìn)行嚴(yán)格警管,因此,基于流的調(diào)度要求每個(gè)流在其路徑上的每個(gè)交換機(jī)上有兩個(gè)門操作。當(dāng)發(fā)送方發(fā)送了過多流量或是在錯(cuò)誤的時(shí)間發(fā)送流量時(shí),占用了其他優(yōu)先級(jí)流量的帶寬,交換機(jī)通過其入端口門操作和出端口門操作實(shí)施基于流的調(diào)度策略,保證了數(shù)據(jù)流的時(shí)延。

在交換機(jī)的入端口處,設(shè)置流過濾器,內(nèi)建的門操作根據(jù)數(shù)據(jù)幀的特征,如虛鏈路(VLAN)、MAC地址、IP地址等,對(duì)轉(zhuǎn)發(fā)前的每條數(shù)據(jù)流進(jìn)行約束、監(jiān)管,以防止在交換機(jī)出端口處的隊(duì)列被非法幀淹沒。交換機(jī)在對(duì)流量的警管策略上,按照控制方式可以分為以下兩種:

1)對(duì)單條流的限流:限制單條流的發(fā)送,降低到過濾器的預(yù)設(shè)門限值;

2)對(duì)單條流的阻斷:完全阻斷錯(cuò)誤的或流量異常的某條流。

此外,基于流的調(diào)度在交換機(jī)的出端口處還設(shè)置了基于信用的整形器(CBS),通過門控操作確保交換機(jī)在特定的時(shí)機(jī)將被篩選出的數(shù)據(jù)轉(zhuǎn)發(fā)出去。

綜上,基于流的調(diào)度非常適合于機(jī)載同步流的調(diào)度,其缺點(diǎn)是規(guī)劃復(fù)雜度高,且存在實(shí)際的可伸縮性問題(GCL長(zhǎng)度)。

2.3 基于類的調(diào)度

與基于流的調(diào)度相比,基于類的調(diào)度是一種保證周期消息的端到端延遲和抖動(dòng)的TAS方法。如圖6所示,假設(shè)發(fā)送方按照如下規(guī)則發(fā)送周期消息:

圖6 基于類的調(diào)度

1)發(fā)送周期與網(wǎng)絡(luò)周期相同;

2)發(fā)送周期和網(wǎng)絡(luò)周期不嚴(yán)格對(duì)齊;

3)發(fā)送時(shí)刻可以偏離發(fā)送周期的±50%,即一個(gè)完整的周期。

在基于類的調(diào)度中,所有具有相同時(shí)延和抖動(dòng)要求的數(shù)據(jù)流被分配到同一個(gè)專用的通信類中。由于TAS只區(qū)分出口隊(duì)列,這個(gè)通信類需要映射到一個(gè)專用的出口隊(duì)列上。每個(gè)網(wǎng)絡(luò)周期開放一次傳輸門,門打開的時(shí)間間隔稱為類窗口,其長(zhǎng)度可以任意配置,但它需要與網(wǎng)絡(luò)中的交換機(jī)匹配。由于傳輸門只打開一次,類窗口必須足夠大,以保證所有流都在一個(gè)周期內(nèi)發(fā)送出去。為此,提出下列公式來(lái)計(jì)算類窗口的大小。

如前所述,所有循環(huán)流,端到端延遲不能大于一個(gè)網(wǎng)絡(luò)周期時(shí)間:

(1)

也可以表示為:

(2)

基于這個(gè)約束條件,給出一個(gè)基于公式(2)的類窗口大小tw的推導(dǎo)。

該推導(dǎo)適用于基于有向圖G(ν,ε)建模的任意網(wǎng)絡(luò)。頂點(diǎn)v代表交換機(jī)和主機(jī),交換機(jī)的全雙工鏈路用一個(gè)出站邊和一個(gè)入站邊表示,交換機(jī)在出端口配置了隊(duì)列和傳輸門,參數(shù)符號(hào)見表1所示。

表1 參考符號(hào)

(3)

(4)

tcycle和tw與循環(huán)流s無(wú)關(guān),故:

(5)

(6)

根據(jù)最長(zhǎng)路徑和最大幀長(zhǎng),可以確定路徑延遲:

(7)

(8)

將式(7)和式(8)代入式(6),可得:

(9)

綜上,tw的值足夠大,當(dāng)考慮路徑長(zhǎng)度和流s其他幀的潛在干擾時(shí),能夠保證每個(gè)流都可以到達(dá)目的節(jié)點(diǎn)。式(9)提供了一個(gè)tw的上限,如果要tw變得更小,有以下3個(gè)方法:

2)限制發(fā)送模型所允許的傳輸抖動(dòng);

3)使用相應(yīng)的流量整形和警管策略來(lái)執(zhí)行更可預(yù)測(cè)的行為。

基于類的調(diào)度保證了一個(gè)周期內(nèi)的端到端延遲和抖動(dòng),通過tw的數(shù)學(xué)模型,證明了基于類的調(diào)度需要很少的GCL條目,發(fā)送方只需要粗時(shí)間同步,由于粗同步精度需要更少的同步時(shí)間,基于類的調(diào)度允許在運(yùn)行時(shí)動(dòng)態(tài)地啟用和禁用發(fā)送端口。然而,機(jī)載安全關(guān)鍵業(yè)務(wù)不允許發(fā)生數(shù)據(jù)丟棄,因此,基于類的調(diào)度需要在交換機(jī)上有大量高優(yōu)先級(jí)的緩沖區(qū)。由于計(jì)算tw時(shí)考慮了最壞情況,類窗口很大,而tw的空閑時(shí)間不能被BE使用,導(dǎo)致帶寬效率很低。

綜上,基于類的調(diào)度提供了端到端延遲和抖動(dòng)保證、同步開銷和網(wǎng)絡(luò)配置之間的權(quán)衡,但代價(jià)是更寬松的邊界和更大的緩沖區(qū)。

3 仿真分析

為了測(cè)試幀搶占和TAS算法在機(jī)載網(wǎng)絡(luò)業(yè)務(wù)流量下的最佳和最壞邊界,使用離散仿真工具NeSTiNg開展調(diào)度算法的性能評(píng)估,該工具擴(kuò)展了OMNeT++/INET協(xié)議棧的TSN功能,包括幀搶占、TAS和基于信用的整形[16]。

3.1 仿真模型

OMNeT++可以用于模擬通信網(wǎng)的業(yè)務(wù)流,通信協(xié)議的模型,排隊(duì)網(wǎng)絡(luò)以及多處理器和分布式系統(tǒng)[17], NeSTiNg作為融合IEEE TSN網(wǎng)絡(luò)的模擬器,可以塑造各種流量整形器的模型,還可以模擬交換機(jī)入端口、出端口的虛鏈路(VLAN)標(biāo)記和多個(gè)分支、循環(huán)的控制功能。

如1.4節(jié)所述,為了更加真實(shí)地反映調(diào)度算法在機(jī)載背景流量下的性能,采用交換型拓?fù)溟_展仿真驗(yàn)證。端系統(tǒng)和交換機(jī)的仿真模型設(shè)計(jì)具體如下:

1) 端系統(tǒng)模型:主要由時(shí)鐘同步模塊、帶寬預(yù)留模塊、發(fā)送模塊和接收模塊構(gòu)成。

(1)時(shí)鐘同步模塊:負(fù)責(zé)為網(wǎng)絡(luò)模型提供統(tǒng)一的全局時(shí)鐘,OMNeT++提供了sim_Time( )函數(shù),可以獲取當(dāng)前仿真系統(tǒng)時(shí)間值,其精度符合 高精度時(shí)間同步協(xié)議(PTP,precise time protocol)的要求[18],主節(jié)點(diǎn)的時(shí)鐘同步模塊通過調(diào)用該API將全局時(shí)鐘同步至從節(jié)點(diǎn)的時(shí)鐘模塊。當(dāng)端系統(tǒng)模型發(fā)送或接收數(shù)據(jù)流時(shí),其內(nèi)部的數(shù)據(jù)幀處理函數(shù)調(diào)用INET框架提供的IEEE802時(shí)鐘模塊接口函數(shù)獲取當(dāng)前時(shí)間戳,并將其嵌入至發(fā)送數(shù)據(jù)幀或接收數(shù)據(jù)幀中。時(shí)鐘同步模塊提供時(shí)鐘同步周期處理功能,即當(dāng)時(shí)鐘同步周期開始時(shí),時(shí)鐘同步模塊向全網(wǎng)廣播時(shí)鐘同步數(shù)據(jù)幀;當(dāng)主節(jié)點(diǎn)接收到從節(jié)點(diǎn)的延遲響應(yīng)請(qǐng)求時(shí),檢查時(shí)間戳信息和數(shù)據(jù)幀類型,調(diào)用OMNeT++的getHardwareDelay( )函數(shù),模擬硬件延時(shí),隨后將時(shí)間戳嵌入應(yīng)答數(shù)據(jù)幀中發(fā)送至從節(jié)點(diǎn)。此外,從節(jié)點(diǎn)的時(shí)間同步模塊通過調(diào)用updateClock( )函數(shù),修正本地的時(shí)鐘偏差。

(2)帶寬預(yù)留模塊:負(fù)責(zé)為發(fā)送方和接收方預(yù)留充足的通信帶寬,主要包括通信節(jié)點(diǎn)注冊(cè)函數(shù)、網(wǎng)絡(luò)配置更新函數(shù)、通信節(jié)點(diǎn)故障管理函數(shù)等。對(duì)網(wǎng)絡(luò)中發(fā)送方模型和接收方模型內(nèi)的每一條數(shù)據(jù)流創(chuàng)建唯一標(biāo)識(shí)符StreamID, 通過定義數(shù)據(jù)流的發(fā)送方標(biāo)識(shí)、接收方標(biāo)識(shí)、數(shù)據(jù)幀負(fù)載長(zhǎng)度、數(shù)據(jù)幀間隔、保護(hù)窗口長(zhǎng)度等參數(shù),配置仿真環(huán)境的背景流量。例如,帶寬預(yù)留模塊通過調(diào)用OMNeT++內(nèi)建的getCurrentPeriod( )、getCurrentTicks( )獲取當(dāng)前時(shí)刻并判斷該時(shí)刻是否在保護(hù)窗口內(nèi),通過調(diào)用INET框架的各類EVENT狀態(tài)和EtherFrame類型,創(chuàng)建或注銷特定的數(shù)據(jù)流。

(3)發(fā)送模塊:負(fù)責(zé)數(shù)據(jù)幀的發(fā)送控制,在模塊出口隊(duì)列處構(gòu)建調(diào)度模塊,將不同數(shù)據(jù)流輸出到交換機(jī)的入端口上。根據(jù)IEEE802.1協(xié)議規(guī)定,在NeSTiNg調(diào)度模塊中,每條數(shù)據(jù)流通過VLAN標(biāo)識(shí)映射到深度為8的發(fā)送隊(duì)列上,基于類的調(diào)度算法通過VLAN標(biāo)識(shí)中的一個(gè)3位的優(yōu)先級(jí)碼點(diǎn)(PCP,priority code point)為每一類數(shù)據(jù)流配置不同的GCL長(zhǎng)度。此外,發(fā)送模塊還具備發(fā)送處理接口函數(shù),負(fù)責(zé)傳輸門發(fā)送數(shù)據(jù)幀的邏輯判斷。

(4)接收模塊:負(fù)責(zé)從交換機(jī)的各個(gè)出端口接收數(shù)據(jù)流,通過調(diào)用各個(gè)數(shù)據(jù)流的數(shù)處理模塊完成。

2) 交換機(jī)模型:主要由交換轉(zhuǎn)發(fā)模塊和端口調(diào)度模塊構(gòu)成。

(1)交換轉(zhuǎn)發(fā)模塊:負(fù)責(zé)數(shù)據(jù)流在交換機(jī)內(nèi)部的數(shù)據(jù)處理,主要由INET框架的鏈路組件實(shí)現(xiàn)。通過構(gòu)建MAC模塊模擬傳輸和轉(zhuǎn)發(fā)延遲,構(gòu)建轉(zhuǎn)發(fā)模塊跟蹤數(shù)據(jù)幀從交換機(jī)入端口隊(duì)列到出端口隊(duì)列的流動(dòng),通過中繼單元的延遲模塊,模擬交換機(jī)的處理延遲,最后根據(jù)VLAN標(biāo)識(shí)將數(shù)據(jù)幀移交至不同的出端口隊(duì)列。

(2)端口調(diào)度模塊:負(fù)責(zé)交換機(jī)入端口及出端口的調(diào)度算法實(shí)現(xiàn)。交換機(jī)除了具備端系統(tǒng)發(fā)送模塊和接收模塊的功能外,還需構(gòu)建基于流的檢索模塊,通過PCP值,傳輸門選擇適合傳輸?shù)南乱粭l數(shù)據(jù)流??刂坡窂椒譃閺娜攵丝谙蛳碌匠龆丝?,以及從出端口向上轉(zhuǎn)發(fā)。在向下控制路徑空閑之后,傳輸門才能觸發(fā)對(duì)新到達(dá)的數(shù)據(jù)流的處理;在向上控制路徑空閑之后,傳輸門根據(jù)GCL依次輪詢,排隊(duì)等待下一條符合條件的數(shù)據(jù)流。

3.2 仿真過程

使用網(wǎng)絡(luò)規(guī)模nl∈(10,20,30,50)為的網(wǎng)絡(luò)拓?fù)?鏈路帶寬均為1 Gbps。遍歷nl值,隨機(jī)為網(wǎng)絡(luò)分配nl個(gè)同步流、周期流和“盡力而為”流傳輸業(yè)務(wù),以模擬不同的機(jī)載業(yè)務(wù)。具體如下:

1)同步流參考了文獻(xiàn)[19]中TT業(yè)務(wù)幀的數(shù)據(jù)負(fù)載、發(fā)送周期、門控開關(guān)的保護(hù)窗口等參數(shù),即配置同步流的發(fā)送周期分別為2 000 μs、8 000 μs、16 000 μs、32 000 μs,配置同步流的幀間隔分別為2 000 μs、4 000 μs、8 000 μs、16 000 μs,消息負(fù)載可變且無(wú)分組轉(zhuǎn)發(fā),優(yōu)先級(jí)最高,不同任務(wù)流量的優(yōu)先級(jí)可變,具有一定隨機(jī)性;

2)周期流參考了文獻(xiàn)[20]中機(jī)電系統(tǒng)采集、狀態(tài)判斷、控制、告警發(fā)送、數(shù)據(jù)處理、異常處理、故障記錄等任務(wù)的特征,即配置周期流的任務(wù)周期分別為100 ms、200 ms、400 ms,消息優(yōu)先級(jí)中等,且不同任務(wù)流量的優(yōu)先級(jí)不同,任務(wù)周期越小,優(yōu)先級(jí)越高;

3)“盡力而為”流參考了文獻(xiàn)[21]中機(jī)載視頻影像的業(yè)務(wù)特點(diǎn),配置“盡力而為”流的數(shù)據(jù)負(fù)載為需要分組發(fā)送的長(zhǎng)消息,消息優(yōu)先級(jí)最低,不同任務(wù)流量的優(yōu)先級(jí)相同。

隨后,隨機(jī)選擇一個(gè)發(fā)送方及一個(gè)接收方,在基于流的調(diào)度仿真中,每個(gè)節(jié)點(diǎn)只模擬單個(gè)流的源節(jié)點(diǎn)以及多個(gè)流的目的節(jié)點(diǎn),流的負(fù)載在間隔[64 B,300 B]中隨機(jī)抽取。幀搶占仿真時(shí),發(fā)送方以線路速率向接收方發(fā)送可搶占的BE幀。

3.3 仿真結(jié)果分析

圖7列出了3種調(diào)度算法的累計(jì)排隊(duì)延遲,即單個(gè)幀在從發(fā)送方到接收方的路徑上等待隊(duì)列所花費(fèi)的總時(shí)間。

在圖7(a)中,可以看到,在機(jī)載網(wǎng)絡(luò)業(yè)務(wù)流量下,幀搶占產(chǎn)生的累計(jì)排隊(duì)延遲的平均值是微秒級(jí)的。然而,幀搶占最壞情況下的延遲超過300 μs,這個(gè)數(shù)量級(jí)比平均累積排隊(duì)延遲大很多,也就是說(shuō),即使只有一個(gè)業(yè)務(wù)類別使用快速幀,由于排隊(duì)延遲的變化,端到端延遲也會(huì)有差異。此外,由于流量分配的隨機(jī)性,nl值的增大并不一定會(huì)使排隊(duì)延遲變小。統(tǒng)計(jì)結(jié)果表明,對(duì)于關(guān)鍵等級(jí)高的實(shí)時(shí)業(yè)務(wù),采用幀搶占并不能保證確定性,需要提前對(duì)整個(gè)機(jī)載網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行充分的規(guī)劃和編排。

在圖7(b)中,可以看到,在機(jī)載網(wǎng)絡(luò)業(yè)務(wù)流量下,基于流的調(diào)度可以可靠地實(shí)現(xiàn)接近零排隊(duì),最大累計(jì)排隊(duì)時(shí)延為5.1 μs。然而,高確定性帶來(lái)的問題是,需要使用強(qiáng)大的網(wǎng)絡(luò)配置工具,對(duì)每條機(jī)載業(yè)務(wù)數(shù)據(jù)流進(jìn)行規(guī)劃,解決NP-Hard問題。

基于類的調(diào)度的仿真結(jié)果如圖7(c)所示。nl的值越大,累計(jì)排隊(duì)延遲就越小。主要有以下兩個(gè)原因:

圖7 仿真結(jié)果分析

首先,由于tcycle是恒定的5 ms,隨著機(jī)載網(wǎng)絡(luò)規(guī)模和業(yè)務(wù)數(shù)量的增加,nl越大,類窗口tw就越大,即當(dāng)傳輸門關(guān)閉時(shí),數(shù)據(jù)到達(dá)接收方所造成的排隊(duì)延遲就越小;

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

文章研究了TSN的3種調(diào)度算法,即幀搶占、基于流的調(diào)度和基于類的調(diào)度,分析了這些算法的工作原理,建立了數(shù)學(xué)模型,開展了機(jī)載應(yīng)用場(chǎng)景的仿真。結(jié)果表明,幀搶占不需要網(wǎng)絡(luò)同步,但其確定性強(qiáng)依賴于對(duì)機(jī)載網(wǎng)絡(luò)潛在有沖突的快速幀的規(guī)避;基于流的調(diào)度適用于機(jī)載強(qiáng)實(shí)時(shí)業(yè)務(wù),但規(guī)劃較為復(fù)雜,且存在GCL長(zhǎng)度伸縮的問題;基于類的調(diào)度適用于周期業(yè)務(wù),它很容易進(jìn)行配置規(guī)劃,但由于類窗口較大,帶寬效率較低。總之,每種方法都可以服務(wù)于特定的、對(duì)網(wǎng)絡(luò)存在不同要求的機(jī)載應(yīng)用,單一的調(diào)度算法不能服務(wù)于所有的機(jī)載業(yè)務(wù),因此需要將這些算法組合起來(lái)。綜上所述,后續(xù)需評(píng)估網(wǎng)絡(luò)調(diào)度算法之間的相互作用,為進(jìn)一步的研究提供充分的機(jī)會(huì)。

猜你喜歡
數(shù)據(jù)流隊(duì)列交換機(jī)
汽車維修數(shù)據(jù)流基礎(chǔ)(下)
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
軟件(2020年3期)2020-04-20 00:58:44
在隊(duì)列里
修復(fù)損壞的交換機(jī)NOS
一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計(jì)
同心县| 儋州市| 花垣县| 满洲里市| 丹棱县| 班玛县| 改则县| 沙田区| 康马县| 阆中市| 平顶山市| 璧山县| 遂平县| 大洼县| 项城市| 惠州市| 文化| 富顺县| 东辽县| 微山县| 鄂温| 渭源县| 新巴尔虎左旗| 错那县| 基隆市| 弥勒县| 信宜市| 宁陵县| 洞头县| 额尔古纳市| 咸宁市| 来安县| 安西县| 屏南县| 张掖市| 古丈县| 和林格尔县| 廊坊市| 桃源县| 都匀市| 巩留县|