惠州網(wǎng)站建設(shè)找惠州邦百度云盤網(wǎng)頁登錄入口
高性能網(wǎng)絡(luò) SIG(Special Interest Group) :在云計算時代,軟硬件高速發(fā)展,云原生、微服務(wù)等新的應(yīng)用形態(tài)興起,讓更多的數(shù)據(jù)在進(jìn)程之間流動,而網(wǎng)絡(luò)則成為了這些數(shù)據(jù)流的載體,在整個云時代扮演者前所未有的重要角色。在這個萬物互聯(lián)的時代,云上的網(wǎng)絡(luò)通信效率對各種服務(wù)至關(guān)重要,高性能網(wǎng)絡(luò)興趣組致力于利用 XDP、RDMA、VIRTIO 等新高效通信技術(shù),結(jié)合軟硬件一體化的思想,打造高性能網(wǎng)絡(luò)協(xié)議棧,提升云計算時代數(shù)據(jù)中心應(yīng)用的網(wǎng)絡(luò)的性能.
01
本月 SIG 整體進(jìn)展
1 月高性能網(wǎng)絡(luò) SIG 的工作在上游社區(qū)得到了積極響應(yīng),SMC、virtio 和業(yè)界相關(guān)參與方建立了持續(xù)的溝通機(jī)制。
關(guān)鍵進(jìn)展:
春節(jié)前龍蜥社區(qū)高性能網(wǎng)絡(luò) SIG 成員和 IBM SMC 團(tuán)隊(duì)相關(guān)開發(fā)人員進(jìn)行了一次視頻會議,討論關(guān)于 SMC 協(xié)議擴(kuò)展以及龍蜥社區(qū)高性能網(wǎng)絡(luò) SIG 小組在 SMC 上近期的一些工作,并建立起定期溝通機(jī)制。
繼 2022 年 12 月我們將 SMC loopback 和 virtio-ism 設(shè)備提交到 Linux 社區(qū)后,本月陸續(xù)得到了上游社區(qū)的反饋。針對 SMC 設(shè)備拓展,上游 Linux 社區(qū)合入了 SMC-D 和 ISM 設(shè)備的解耦修改,為后續(xù) SMC loopback 和 virtio-ism 的支持鋪平了道路。
SMC fallback 加速功能已開發(fā)完成,SIG 內(nèi)部 review 中。fallback 加速將確保 SMC 在 fallback 回 TCP 后性能不會出現(xiàn)損失,彌補(bǔ)當(dāng)前 SMC fallback 到 TCP 時短連接性能不足的問題。
SIG 開發(fā)的針對 virtio-net 的 xdp multi-buffer 的支持已被上游 Linux 社區(qū)接收。默認(rèn)情況下,xdp 和 jumbo frame 是沖突的,本特性允許我們在使用 jumbo frame 場景下也使用 xdp。
SIG 提交的 virtio-net 支持 XDP socket zerocopy 功能本月已完成開發(fā)并提交到上游 Linux 社區(qū)討論。virtio-net 之前不支持 XDP socket 的零拷貝功能,本特性使 virtio-net 完成了 XDP socket 零拷貝的支持,大幅提升 XDP Socket 的收發(fā)包性能。
02
Anolis OS
問題修復(fù)
本月 ANCK 網(wǎng)絡(luò)方向共計修復(fù) 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 團(tuán)隊(duì)進(jìn)行了一次視頻會議,針對 SMC 協(xié)議擴(kuò)展以及龍蜥社區(qū)高性能網(wǎng)絡(luò) SIG 小組在 SMC 上近期的一些工作進(jìn)行了討論,并建立起定期溝通機(jī)制,加強(qiáng)了雙方的了解與合作。
SMC-D 擴(kuò)展
上游 Linux 社區(qū)已合入 SMC-D 和 ISM 設(shè)備解耦修改,旨在提供一個更通用的擴(kuò)展 SMC-D 能力(https://lwn.net/Articles/921057/),為我們推送上游 Linux 社區(qū)的 SMC loopback 和 SMC + virtio-ism 方案準(zhǔn)備。
SMC loopback 方案推送上游 Linux 社區(qū)后,陸續(xù)得到了上游社區(qū)的反饋,其中一些技術(shù)細(xì)節(jié)仍在討論中(https://lkml.org/lkml/2022/12/19/1063(https://lkml.org/lkml/2022/12/19/1063)。SMC loopback 和 SMC + virtio-ism 方案本質(zhì)上都依賴 SMC-D 針對更多設(shè)備的擴(kuò)展能力,這其中一些共同的工作我們將會一起在上游 Linux 社區(qū)推進(jìn)(https://lists.oasis-open.org/archives/virtio-dev/202212/msg00041.html)。
SMC fallback 加速
加速 SMC fallback 的方案已經(jīng)開發(fā)完成,該方案旨在提供一種快速、輕量回退 TCP 的能力,拓寬 SMC 的使用場景。預(yù)計下個月推送上游 Linux 社區(qū)。
04
virtio
virtio-net tunnel
背景:網(wǎng)絡(luò)包使用 tunnel 相關(guān)技術(shù)的時候, 一般會有一個 outer header 和一個 inner header。而基于已經(jīng)有 virtio-net spec 定義, 在做隊(duì)列選擇的時候, 會基于 outer header 進(jìn)行 hash 計算。而一般情況下, tunnel 的數(shù)據(jù)包的 outer header 是固定的或相似的, 這樣只會有少量的網(wǎng)卡隊(duì)列會被選擇, 無法發(fā)揮多隊(duì)列網(wǎng)卡的優(yōu)勢。
Heng Qi hengqi@linux.alibaba.comHeng Qi hengqi@linux.alibaba.com 發(fā)起了 virtio_net: support inner header hash 的提案,目前針對熱遷移還有一些收尾的點(diǎn)需要討論(https://lists.oasis-open.org/archives/virtio-dev/202301/msg00051.html)。
virtio-net split header
背景:將數(shù)據(jù)包的 header 和 payload 進(jìn)行分離,在例如零拷貝等方向具有十分重要的意義,例如 Eric 提出的零拷貝方法(https://lwn.net/Articles/754681/)和 Jonathan Lemon 提出的零拷貝方法等(鏈接見下)。
https://lore.kernel.org/io-uring/20221007211713.170714-1-jonathan.lemon@gmail.com/
Xuan Zhuo 發(fā)起了 virtio_net: support for split transport header 的提案,并和 Heng Qi 共同社區(qū)推動,目前 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 的補(bǔ)丁被合入到 linux 主線(https://lore.kernel.org/all/20230114082229.62143-1-hengqi@linux.alibaba.com/)。XDP multi-buffer 允許一個 XDP ebpf 程序訪問多個收方向的 buffer,而像 Jumbo frame 一類的特性,9K 的 MTU 導(dǎo)致一個包的大小可能會超過 1 個 PAGE,而沒有 XDP multi-buffer 之前,XDP 程序只能訪問一塊連續(xù)的內(nèi)存。因此,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 終于提交給社區(qū), 等社區(qū)進(jìn)一步的討論。這個特性之前在龍蜥的內(nèi)核上通過其他方式完成了支持,并且基于 ExpressUDP 和 XQUIC 在阿里巴巴的入口網(wǎng)關(guān)大規(guī)模上線,現(xiàn)在我們把這個特性貢獻(xiàn)給上游社區(qū)。關(guān)于 ExpressUDP 和 XQUIC 實(shí)踐,參考 ExpressUDP(https://openanolis.cn/sig/high-perf-network/doc/414166381455196595)。
高性能網(wǎng)絡(luò) SIG 主頁鏈接地址:
https://openanolis.cn/sig/high-perf-network
—— 完 ——