什么是ECN?
顯式擁塞通知(ECN)是計算機網絡中的一種機制,它允許發送設備明確地通知接收設備網絡擁塞,而不是依賴于傳統的“丟包”方法。在傳統的TCP/IP網絡中,當路由器或交換機出現擁塞時,它會丟棄數據包以防止進一步的數據包丟失,這是有損的。
ECN通過引入一種新的數據包標記類型來解決這些問題,這種標記稱為 “CE” (經歷擁塞),它在不丟棄數據包的情況下通知發送方網絡擁塞。ECN允許設備做出智能化的決策,以減少它們的流量速率來緩解擁塞。在這種情況下,端側擁塞控制協議,比如DCQCN將被用來減少流量速率以進行擁塞控制。
ECN如何工作?
ECN標記機制的工作原理是基于出口隊列利用率來使用標記概率線。當隊列使用率低于最小閾值(Kmin)時,不標記任何數據包。對于Kmin和Kmax之間的隊列使用率,應用概率P來標記數據包。
sonic-mgmt/docs/ECN-test-plan.md at master · sonic-net/sonic-mgmt
SONiC無損隊列?
交換機隊列(如圖1)是存儲等待被交換機轉發數據包的緩沖區。它就像一個臨時存儲區域,數據包在這里暫時存儲,然后被傳輸到它們的最終目的地。
圖1、端口隊列
“SONiC默認有兩個無損優先級:3和4。需要注意的是,只有無損優先級才能對PFC幀做出反應或生成PFC幀。換句話說,PFC幀不應該對有損優先級的流量有任何影響。DSCP 3和4的數據包分別映射到優先級3和4。”
sonic-mgmt/docs/testplan/PFC-test-plan.md at master · sonic-net/sonic-mgmt
本例中,我們不采用優先級流控制(PFC)來管理擁塞,只是遵循SONiC無損隊列的指導原則。
把AI負載的DSCP映射到隊列中,需要如下的步驟:
映射DSCP-TC → 綁定接口DSCP-TC配置 → 映射TC-queue → 綁定接口TC-queue配置。
?把DSCP映射Traffic Class(TC)(圖2)。
圖2、DSCP映射到Traffic Class
?你可以通過config命令(需要sudo)創建多個dscp-tc的配置(圖3)。
圖3、創建dscp-tc配置
?為接口綁定dscp-tc配置,如下命令,其中AZURE是創建的profile的名稱,Ethernet144是綁定的端口
config interface qos dscp-tc bind Ethernet144 AZURE
?映射Traffic Class到隊列
圖4、TC與隊列映射配置
?為接口綁定tc-queue配置,如下命令
config interface qos tc-queue bind Ethernet144 AZURE
隊列的緩存配置
交換機上的入口和出口緩沖區在轉發過程中都扮演著關鍵角色。具體來說,入口緩沖區有助于觸發PFC的決策過程,而出口緩沖區則在決定何時用ECN-CE標記數據包方面起著至關重要的作用。
圖5、入口及出口緩沖區
同時,你還需要為接口配置緩沖區大小。如下命令,其中egress_lossless_profile 為緩沖區配置的名稱。
config interface buffer bind queue Ethernet144 3 egress_lossless_profile
ECN水線調優
通過SONiC ECN設置,您可以配置多達三個不同的[min, max, P]集,這些配置集通過一個包含綠色、黃色和紅色后綴來設置。在本例中,我們也將利用這個特性來探索其潛在益處。
我們將添加一個新的WRED配置文件‘test’,并首先配置紅色集。
config wred add test --mode ecn
config wred update --ecn-gmin 20000000 --ecn-gmax 26000000 --ecn-gmark 80 --no-ecn-yellow --no-ecn-red --mode ecn test
圖6、第一次嘗試水線
將ECN配置與接口綁定
config interface wred bind queue Ethernet144 3 test
結合Keysight AI工作負載模擬和DCQCN特性,我們可以估計總線帶寬利用率大約為20.77 GB/s,這相當于理想帶寬利用率的約42%。被標記為ECN-CE的數據包數量較多,這表明流量速率控制介入較晚,導致緩沖區使用率升高,相應地,標記概率也較高。
圖7、第一次嘗試集合通信基準測試
為了主動管理擁塞,我們可以嘗試設置較低的ECN最小和最大閾值,以便更早地觸發擁塞控制機制。
config wred update --ecn-gmin 10000000 --ecn-gmax 20000000 --ecn-gmark 80 --no-ecn-yellow --no-ecn-red --mode ecn test
圖8、第二次嘗試水線
在進行了這些調整之后,我們成功地實現了大約53%的優化總線帶寬利用率,同時在模擬過程中顯著減少了接收到的ECN-CE數據包。
圖9、第二次嘗試集合通信基準測試
在嘗試調整Kmin和Kmax設置后,我們發現逐步調整并不能始終如一地實現最佳總線帶寬利用率。因此,我們引入了額外的黃色集配置來進一步優化性能。
config wred update --ecn-gmin 20000000 --ecn-gmax 30000000 --ecn-gmark 80 --ecn-ymin 2000000 --ecn-ymax 20000000 --ecn-ymark 20 --no-ecn-red --mode ecn test
圖10、第三次嘗試水線
最終我們通過引入黃色配置集達到了96%的優化總線帶寬利用率,使用少量的ECN-CE數據包來控制擁塞,成功的達到了調優目標。
圖11、第三次嘗試集合通信基準測試
總結
優化AI工作負載的ECN閾值需要精巧的平衡:在確保工作負載期間沒有數據包丟失的同時,最小化ECN-CE標記。隨著緩沖區消耗的增加,它可能導致接口上的轉發延遲變長,最終影響作業完成時間。為了克服這一挑戰,早期介入和降低標記概率至關重要。此外,將優先級流控制(PFC)作為補充解決方案可以進一步增強擁塞管理并優化整體系統性能。
關于是德科技
是德科技(NYSE:KEYS)啟迪并賦能創新者,助力他們將改變世界的技術帶入生活。作為一家標準普爾 500 指數公司,我們提供先進的設計、仿真和測試解決方案,旨在幫助工程師在整個產品生命周期中更快地完成開發和部署,同時控制好風險。我們的客戶遍及全球通信、工業自動化、航空航天與國防、汽車、半導體和通用電子等市場。我們與客戶攜手,加速創新,創造一個安全互聯的世界。
-
負載
+關注
關注
2文章
615瀏覽量
35207 -
計算機
+關注
關注
19文章
7657瀏覽量
90683 -
交換機
+關注
關注
22文章
2740瀏覽量
101857 -
AI
+關注
關注
88文章
35040瀏覽量
278973
原文標題:案例分享:如何用AI 負載為SONiC 交換機調整ECN水線
文章出處:【微信號:是德科技KEYSIGHT,微信公眾號:是德科技KEYSIGHT】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
ATM交換機詳解
接入層交換機、匯聚層交換機和核心層交換機的區別
工業控制交換機和工業交換機的區別
核心交換機、匯聚交換機與普通交換機的區別介紹
家庭交換機怎么安裝_交換機網速是平分的嗎
交換機重要嗎 如何使用NVIDIA交換機展現云計算、AI的性能
什么是網絡交換機?網絡交換機的分類標準
核心交換機、匯聚交換機、接入交換機之間的對比分析
千兆交換機和百兆交換機應該如何選擇?

PoE交換機可以當普通交換機使用嗎
一文解析交換機行業5大技術趨勢

評論