動態

詳情 返回 返回

未來數據庫硬件-網絡篇 - 動態 詳情

本文在綠泡泡“狗哥瑣話”首發於2025.2.17 <-關注不走丟。

最近看到一篇不錯的文章,叫做“Modern Hardware for Future Databases”,裏面從幾個方向講了下現在數據庫的硬件發展趨勢,今天先來説説網絡篇。

1.png

內容中,一位大佬對(獲過圖靈獎的大佬)OLTP系統進行了一些基準測試,發現TCP-IP協議棧對於總體CPU使用率是佔在47~68%。如果使用的網絡帶寬增加,這個開銷還會提升。這種東西在業內也叫做datacenter tax,數據中心税。

大佬信息⬇️

2.png

那如何降低datacenter tax呢?

一種方案是將TCP換成在UDP上運行的協議,比如QUIC。然而並沒有軟用,因為QUIC就是將TCP封裝並加密在UDP中,所以帶來的開銷是一樣的。

還有一種做法就是把計算密集型,但是簡單的部分交給硬件。比如payload的分段和校驗,KTLS還允許把加密解密也放到網卡上。這些都是切實可行的的方案,但是比較依賴於社區的推進。比如更激進的TOE(TCP offload engine——卸載整個TCP協議到網卡里)就被內核開發者基於維護成本的原因否定了。

既然內核為TCP IP花了這麼多計算資源,能不能繞開內核呢?有的,這就是Intel於2010年領導發起的 DPDK(Data Plane Development Kit)。

發起它主要是intel為了賣自家硬件,針對intel處理器和網卡開發的高性能網絡驅動組件,後來DPDK開源以後,越來越多廠商加入進來,所以也算是變成了業界的事實標準了。

3.png

左邊是傳統的內核網絡,而右邊是DPDK。可以看到右邊是直接繞開DPDK基礎庫的,在用户空間直接對數據包做收發、處理。

根據網上的實踐反饋呢,用下來至少可以提供50%+的網絡吞吐,缺點就是它需要獨佔一張網卡,並且它的開發並不簡單,需要有經驗的開發人員進行開發維護,這就是高性能的代價。

另一種思路則是基於DMA(Direct Memory Access,直接內存訪問)的RDMA(Remote Direct Memory Access,遠程直接內存訪問)是一種允許主機之間直接訪問彼此內存的技術。DMA 技術中,無需 CPU 參與,主機內部的設備(如硬盤或網卡)能夠直接與內存交換數據,所以RDMA也不需要CPU參與的,就直接走網卡。

4.png

目前比較常見的實現方案是RoCE(RDMA over Converged Ethernet,融合以太網的遠程直接內存訪問)和Infiniband。

  • Infiniband,是一種專門為 RDMA 而生的技術,由 IBTA(InfiniBand Trade Association, InfiniBand 貿易協會)在 2000 年提出,因不錯的性能在高性能計算領域中很受歡迎。 但構建 Infiniband 網絡需要配置全套專用設備,如專用網卡、專用交換機和專用網線,限制了其普及性。其次,它的技術架構封閉,不兼容現有的以太網標準。所以通用數據中心很難搞這套。
  • 為了降低 RDMA 技術的使用成本,並使其應用於通用數據中心領域,2010 年,IBTA 發佈了 RoCE(RDMA over Converged Ethernet,融合以太網的遠程直接內存訪問)技術,只需配備支持 RoCE 的專用網卡和標準以太網交換機,就可以趕上Infiniband速度了,相當於Wrapper了一層。

最後要注意的是:RDMA 網絡對丟包極為敏感,任何數據包的丟失都可能導致大量重傳,降低傳輸性能。所以對於整體的基礎設施要求是比較高的,都會涉及到一些專用硬件。

最後一種解決方案,是個比較新的玩意兒。叫DPU(Data Processing Unit),或者叫做SmartNIC,它會將更多的CPU要做的事放到這裏,聰明的你肯定想到了前面TOE(TCP offload engine——卸載整個TCP協議到網卡里)的方案。的確有點像,但是它還能涉及到一些存儲、安全、虛擬化的能力,而且這玩意兒會是一個標準的硬件,很多硬件大廠都在推進這個事兒,未來成為數據中心事實標準也就是花時間的事兒。

user avatar mulavar 頭像 donnie4w 頭像 huobaodejianpan 頭像 buyaomingdeshuilongtou_orcjl 頭像 fengliudedaxiang_esnzgz 頭像 winnn 頭像 airy 頭像 maventalker 頭像 ourbmc 頭像 automq 頭像
點贊 10 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.