來源:TSNLAB 微信公眾號
很多時候人們會把TSN和由IEEE 802.1Qbv定義的TSN門控調度劃等號。關於這點我在很多場合很多途徑都不厭其煩的表達過,TSN是一係列技術的集合,Qbv門控隻是其中一項名聲很響亮的技術。從數據麵調度的角度,TSN還有幾種不同的調度方式。
當然,這不是我們今天話題的重點。我們今天就談Qbv門控調度以及如何理解門控調度的編排。
1.門控編排可以看做是一個純數學問題,學術界很熱衷於研究。
可以用道路交通舉例類比,如下圖所示:已知每個小汽車通過路口的時間(類比於存儲轉發時延+設備固有時延)、從一個路口到下一個路口的時間(類比於鏈路時延),已知小汽車要求抵達機場的最晚時間(類比於時延需求),問如何在各個路口規劃讓哪個小汽車先通過(類比於TSN門控規劃,如讓小車A、B在路口甲分別進入隊列a、隊列b,隊列a在1-2s開門,讓小車A通過,隊列b在2.5-3.5s開門,讓小車B通過)。
在進行規劃的時候,有一個簡單的原則,就是“誰更著急,讓誰先走;誰不著急,就可以等等”。
試想,在有幾百個路口、幾千台小車的情況下,這個問題確實會變得無比複雜。

2.實際場景的約束,帶來的是門控編排問題的極大簡化
約束1:不是所有“小車”都要保障。TSN相xiang比bi於yu當dang前qian的de總zong線xian類lei解jie決jue方fang案an而er言yan,最zui大da的de優you勢shi在zai於yu能neng為wei部bu分fen流liu提ti供gong確que定ding性xing低di時shi延yan服fu務wu的de同tong時shi,混hun合he承cheng載zai其qi它ta流liu量liang。也ye就jiu是shi說shuo,在zai進jin行xing門men控kong規gui劃hua時shi,我wo們men僅jin僅jin考kao慮lv關guan鍵jian流liu即ji可ke。
約束2:使用Qbv保障的流量都有穩定的周期特征。如果流量是音視頻類的,有顯著的波動和突發特性,則適合使用異步QoS類調度,TSN或者說802.1Q的標準轉發流程裏定義了優先級調度、帶寬分配調度(如加權輪詢)、CBS整形器、ATS整形器。如果流量是事件觸發的,但對時延的要求又特別特別高的話,適合使用SP調度,視情況配合幀搶占甚至cut through轉發。
約束3:無法編排端側行為。也就是說,網絡(至少在短期內)不能決定,例如讓小車A在1s發車,小車B在2s發車,這樣他們在路口自然就錯開了。因此,對於關鍵流,並不需要費勁心思把它們的報文編入不同的隊列,分配“誰先誰後”;而可以讓他們進入一個隊列,誰先到就趕緊先走。由於約束1的存在,網絡對於關鍵流而言,一定是輕載的。這時候,對於關鍵流量進行“你明明可以走,但我偏要你多等等,這樣下一跳才不會有突發”的這種操作很可能“費力不討好”。在一跳上因為基於時間的整形多等了100us的話,可能“一輩子”都追不回來了。 也許在未來,更多的端側設備支持和網絡的協同編排後,可以通過在端側合理的“負載分擔“,即通過編排合理地把發送相位錯開,避免報文在網絡中突發到一起,從而進一步提高網絡性能和對關鍵流的容量。
3.Qbv時間整形器的本質:整的是非關鍵流報文,不是整關鍵流報文
這就好比,領導出行,交通管製,從來我們都是紅燈,領導通行方向都是綠燈。同樣,Qbv提ti升sheng關guan鍵jian流liu時shi延yan性xing能neng保bao障zhang的de關guan鍵jian,就jiu是shi要yao避bi免mian低di優you先xian級ji對dui高gao優you先xian級ji報bao文wen的de阻zu擋dang,即ji在zai高gao優you先xian級ji報bao文wen到dao來lai之zhi前qian,把ba低di優you先xian級ji的de隊dui列lie關guan閉bi。而er高gao優you先xian級ji隊dui列lie要yao不bu要yao關guan,什shen麼me時shi候hou關guan,並bing不bu重zhong要yao,高gao優you先xian級ji隊dui列lie一yi直zhi開kai著zhe門men,又you有you什shen麼me影ying響xiang呢ne(就像SP調度裏麵,高優先級永遠是高優先級,又有什麼關係呢),無wu非fei大da家jia一yi起qi開kai門men的de時shi候hou,繼ji續xu使shi用yong優you先xian級ji或huo輪lun詢xun調tiao度du而er已yi,帶dai寬kuan不bu會hui被bei浪lang費fei。如ru果guo真zhen的de餓e死si了le低di優you先xian級ji,要yao麼me就jiu是shi因yin為wei高gao優you先xian級ji確que實shi要yao占zhan用yong足zu夠gou多duo的de帶dai寬kuan,那na沒mei辦ban法fa,擴kuo容rong吧ba;要麼是因為高優先級的端側行為錯誤,那這個屬於入口policing的任務(如Qci),而不是出口調度器的任務。 下圖是一個門控示例,在每個周期內根據關鍵報文要到達的時間相位規劃了兩個“特快通道”時隙。

與此同時,嚴格優先級調度雖然是一種簡單有效的調度方法,但是,一個1500Byte的低優先級以太幀,在100M、1G帶寬上,最多可以給高優先級關鍵流量帶來120us、12us的時延。不要小看這點時延,在工業控製的角度,尤其是對於控製精度要求最高的同步運動控製等場景,可能會造成很大的影響。
讀完這篇,請先消化一下;下一篇,我們會結合一個具體案例來講解。