高效能網路SIG月度動態:SMC 與 IBM 就擴充套件協議達成一致,virtio 支援 XDP 新特性
高效能網路 SIG(Special Interest Group) :在雲端計算時代,軟硬體高速發展,雲原生、微服務等新的應用形態興起,讓更多的資料在程式之間流動,而網路則成為了這些資料流的載體,在整個雲時代扮演者前所未有的重要角色。在這個萬物互聯的時代,雲上的網路通訊效率對各種服務至關重要,高效能網路興趣組致力於利用 XDP、RDMA、VIRTIO 等新高效通訊技術,結合軟硬體一體化的思想,打造高效能網路協議棧,提升雲端計算時代資料中心應用的網路的效能.
01 本月 SIG 整體進展
1 月高效能網路 SIG 的工作在上游社群得到了積極響應,SMC、virtio 和業界相關參與方建立了持續的溝通機制。
關鍵進展:
-
春節前龍蜥社群高效能網路 SIG 成員和 IBM SMC 團隊相關開發人員進行了一次視訊會議,討論關於 SMC 協議擴充套件以及龍蜥社群高效能網路 SIG 小組在 SMC 上近期的一些工作,並建立起定期溝通機制。
-
繼 2022 年 12 月我們將 SMC loopback 和 virtio-ism 裝置提交到 Linux 社群後,本月陸續得到了上游社群的反饋。針對 SMC 裝置擴充,上游 Linux 社群合入了 SMC-D 和 ISM 裝置的解耦修改,為後續 SMC loopback 和 virtio-ism 的支援鋪平了道路。
-
SMC fallback 加速功能已開發完成,SIG 內部 review 中。fallback 加速將確保 SMC 在 fallback 回 TCP 後效能不會出現損失,彌補當前 SMC fallback 到 TCP 時短連線效能不足的問題。
-
SIG 開發的針對 virtio-net 的 xdp multi-buffer 的支援已被上游 Linux 社群接收。預設情況下,xdp 和 jumbo frame 是衝突的,本特性允許我們在使用 jumbo frame 場景下也使用 xdp。
-
SIG 提交的 virtio-net 支援 XDP socket zerocopy 功能本月已完成開發並提交到上游 Linux 社群討論。virtio-net 之前不支援 XDP socket 的零複製功能,本特性使 virtio-net 完成了 XDP socket 零複製的支援,大幅提升 XDP Socket 的收發包效能。
02 Anolis OS
問題修復
本月 ANCK 網路方向共計修復 17 個 CVE(包含一個高危 CVE-2023-0179),覆蓋 netfilter/tcp/udp/bluetooth/net.packet/proc/xen/slip 等模組,CVE 列表:CVE-2022-4378,CVE-2022-20368,CVE-2022-42895,CVE-2022-42896,CVE-2022-3564,CVE-2022-3566,CVE-2022-2588,CVE-2022-36879,CVE-2022-1966,CVE-2022-3535,CVE-2022-3524,CVE-2022-42722,CVE-2022-33741,CVE-2022-1966,CVE-2022-1204,CVE-2022-41858,CVE-2023-0179。
03 SMC
外部會議
本月與 IBM SMC 團隊進行了一次視訊會議,針對 SMC 協議擴充套件以及龍蜥社群高效能網路 SIG 小組在 SMC 上近期的一些工作進行了討論,並建立起定期溝通機制,加強了雙方的瞭解與合作。
SMC-D 擴充套件
-
上游 Linux 社群已合入 SMC-D 和 ISM 裝置解耦修改,旨在提供一個更通用的擴充套件 SMC-D 能力(),為我們推送上游 Linux 社群的 SMC loopback 和 SMC + virtio-ism 方案准備。
-
SMC loopback 方案推送上游 Linux 社群後,陸續得到了上游社群的反饋,其中一些技術細節仍在討論中()。SMC loopback 和 SMC + virtio-ism 方案本質上都依賴 SMC-D 針對更多裝置的擴充套件能力,這其中一些共同的工作我們將會一起在上游 Linux 社群推進(https://lists.oasis-open.org/archives/virtio-dev/202212/msg00041.html)。
SMC fallback 加速
加速 SMC fallback 的方案已經開發完成,該方案旨在提供一種快速、輕量回退 TCP 的能力,拓寬 SMC 的使用場景。預計下個月推送上游 Linux 社群。
04 virtio
virtio-net tunnel
背景:網路包使用 tunnel 相關技術的時候, 一般會有一個 outer header 和一個 inner header。而基於已經有 virtio-net spec 定義, 在做佇列選擇的時候, 會基於 outer header 進行 hash 計算。而一般情況下, tunnel 的資料包的 outer header 是固定的或相似的, 這樣只會有少量的網路卡佇列會被選擇, 無法發揮多佇列網路卡的優勢。
Heng Qi hengqi@linux.alibaba.com 發起了 virtio_net: support inner header hash 的提案,目前針對熱遷移還有一些收尾的點需要討論(https://lists.oasis-open.org/archives/virtio-dev/202301/msg00051.html)。
virtio-net split header
背景:將資料包的 header 和 payload 進行分離,在例如零複製等方向具有十分重要的意義,例如 Eric 提出的零複製方法()和 Jonathan Lemon 提出的零複製方法等(連結見下)。
Xuan Zhuo 發起了 virtio_net: support for split transport header 的提案,並和 Heng Qi 共同社群推動,目前 Nvidia 的 Parav Pandit 也提出了一些新的想法參與到這個功能的討論中,正在討論(https://lists.oasis-open.org/archives/virtio-dev/202301/msg00306.html)。
virtio-net multi-buffer xdp
本月 SIG 成員 Heng Qi 提交的 virtio-net 對於 xdp multi-buffer 的補丁被合入到 linux 主線()。XDP multi-buffer 允許一個 XDP ebpf 程式訪問多個收方向的 buffer,而像 Jumbo frame 一類的特性,9K 的 MTU 導致一個包的大小可能會超過 1 個 PAGE,而沒有 XDP multi-buffer 之前,XDP 程式只能訪問一塊連續的記憶體。因此,jumbo frame 和 XDP 存在衝突,透過 multi-buffer XDP 的支援,可以解決 jumbo frame 和 XDP 不能共存的問題。
virtio-net XDP Socket(AF_XDP) zerocopy
在完成了 per-queue reset 的 spec 及 kernel 工作的前期下, 最新版本的 virtio-net 支援 XDP socket zerocopy 的 patch set 終於提交給社群, 等社群進一步的討論。這個特性之前在龍蜥的核心上透過其他方式完成了支援,並且基於 ExpressUDP 和 XQUIC 在阿里巴巴的入口閘道器大規模上線,現在我們把這個特性貢獻給上游社群。關於 ExpressUDP 和 XQUIC 實踐,參考 ExpressUDP()。
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2934815/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高效能網路SIG月度動態:virtio-net 支援動態中斷調節,SMC v2 協議增加新擴充套件協議套件
- 高效能網路SIG月度動態:virtio新裝置進入virtio規範、smc新特性IPC效能比tcp提升88%TCP
- 高效能網路 SIG 月度動態:推動 virtio 支援動態中斷調節及更靈活的分流機制
- 高效能網路SIG月度動態:virtio 動態中斷調節最佳化、多項核心網路缺陷修復
- 高效能網路 SIG 月度動態:長期投入得到業界認可,新增一位 virtio reviewerView
- OpenCloudOS Kernel SIG 月度動態:釋出 OCK 6.6.30-4 版本,新增特性支援Cloud
- 高效能儲存SIG月度動態:EROFS支援直接索引容器映象tar包等索引
- Spring Cloud Gateway 擴充套件支援動態限流SpringCloudGateway套件
- Swift 核心動畫 面向協議 擴充套件封裝Swift動畫協議套件封裝
- OAuth 2.0 擴充套件協議之 PKCEOAuth套件協議
- JMeter 擴充套件外掛實現對自定義協議的支援JMeter套件協議
- GTC24 | 面向無限可擴充套件的高效能 AI 網路會議套件AI
- 開源 | SOFAMesh 的通用協議擴充套件協議套件
- 擴充套件Linux網路棧套件Linux
- Azure Load Balancer : 動態擴充套件套件
- MOSN 多協議擴充套件開發實踐協議套件
- 高效能儲存SIG月度動態:DSMS開始適配Anolis OS、將在ANCK 5.10中支援ublk
- IBM擴充套件在華雲端計算生態系統IBM套件
- 愛立信與麻省理工學院就新一代行動網路研究達成合作協議協議
- 高效能儲存SIG月度動態:ANCK 5.10正式支援ublk、erofs容器映象按需讀時延最佳化60%
- c# ExpandoObject動態擴充套件物件C#Object套件物件
- ONEMT 與 Flexion Mobile 達成一項新合作協議Flex協議
- 動態選路協議協議
- C# 9.0新特性詳解系列之二:擴充套件方法GetEnumerator支援foreach迴圈C#套件
- 【譯】 WebSocket 協議第九章——擴充套件(Extension)Web協議套件
- 一種MODBUS RTU擴充套件串列埠通訊協議套件串列埠協議
- Java 缺失的特性:擴充套件方法Java套件
- 跨鏈協議:擴充套件區塊鏈行業應用的生態邊界協議套件區塊鏈行業
- 商密SIG月度動態:檔案加密支援SM4演算法、Anolis 8.8將預設整合 | 龍蜥 SIG加密演算法
- Swift---協議和擴充套件、 錯誤處理、泛型Swift協議套件泛型
- DM8 DMDSC動態擴充套件節點套件
- 高效能儲存SIG月度動態:ublk完成POC、dsms-storage在Anolis OS上成功適配
- Lambda擴充套件與用途套件
- BSGS與擴充套件BSGS套件
- 高度可擴充套件,EMQX 5.0 達成 1 億 MQTT 連線套件MQQT
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 使用基於策略的網路擴充套件KubernetesDeployments套件
- PHP 高效能 Excel 擴充套件 1.2.7 釋出PHPExcel套件