天天看點

RDMA高速低延時網絡:流動緩存背後的功臣

戴爾fuild cache for

san,在伺服器閃存緩存與san陣列的內建方面可謂獨樹一幟。相信一些讀者對該技術已經不陌生,除了那500萬iops的demo之外,網上也能找到相關資料和分析的文章,如:《性能與ilm的平衡:伺服器閃存緩存的思考》。今天我們想回顧一下fuild

cache for san的獨特技術優勢,以及在流動緩存背後的功臣——rdma高速低延時網絡。

如果說pcie/ nvme打通了主機内部cpu與閃存之間通道的話,那麼rdma over infiniband或者roce則能夠有效改善跨節點的閃存通路性能。

fuild cache for san的獨特優勢

1 san整合

盡管有多家廠商都宣稱他們的伺服器閃存緩存軟體,可以配合後端san存儲使用,但許多也标明了隻是單機讀緩存。除了戴爾fuild cache for san之外,具備分布式緩存一緻性和rac支援的寥寥無幾。

這裡要強調一下,早期的server flash cache軟體通常不支援像oracle

rac這樣的雙活(active/active)叢集通路,簡單說就是當一台伺服器向後端共享存儲中寫入資料時會鎖定整個lun。而oracle

rac需要的是傳統scsi-3規範的細粒度鎖機制,一個lun上的不同lba允許同時接受來自多個伺服器的寫操作。

分布式緩存一緻性解決的就是協同,或者說資料一緻性。如果由一台伺服器改寫了後端lun内的資料,在另一台伺服器上flash cache内也有對應的資料塊,需要做過期處理,也就是說要維護一個同步的緩存中繼資料索引。

server cache pool——戴爾将fuild cache for san稱為緩存池,是因為一台伺服器閃存緩存中的資料可以供叢集中别的伺服器加速存儲通路,而後者并不是必須要作為這個閃存緩存池的貢獻者。

2 server cache pool

戴爾将fuild cache for san稱為緩存池,是因為一台伺服器閃存緩存中的資料可以供叢集中别的伺服器加速存儲通路,而後者并不是必須要作為這個閃存緩存池的貢獻者。

3 異構伺服器通路

既然fuild cache for san網絡中不是每個伺服器節點都需要配置閃存緩存(最少2個貢獻節點+1個仲裁節點),那麼也就允許第三方伺服器加入叢集。

4 write-back(寫回)緩存支援

盡管一家戴爾友商曾表示将支援write back寫緩存,但直到去年我們也沒有看到這一功能的釋出。

閃存一旦用于讀&寫緩存,和自動分層存儲已經有相似之處。隻是資料是否最終要持久化到後端的問題,因為這時閃存中的待寫入資料必須保證可靠性和高可用性。

這就涉及到本文的重點——rdma網絡。為了緩存池中的全局通路,還有把每台伺服器的閃存寫緩存鏡像到其它節點以實作備援,最好能有一個低延遲的專用高速網絡。

RDMA高速低延時網絡:流動緩存背後的功臣

5 低延時專用互連網絡

戴爾fuild cache for san需要配置專用的40gb或者10gb roce(rdma over coverge

ethernet)緩存通信網絡,roce在相同速率下的性能/延時表現可以媲美infiniband。我們看到部分多控制器的高端存儲陣列,其節點間就是用ib網絡互連,而戴爾fuild

cache for san的閃存緩存池更加靠近伺服器,取得更好的性能也在情理當中。

延時大跳水:繞開tcp/ip協定棧開銷

RDMA高速低延時網絡:流動緩存背後的功臣

如上圖,我們看到40gbe和10gbe交換網絡的實體延遲(當然不包括tcp/ip)分别隻有0.6和0.8微秒,roce(rdma over coverge ethernet)的延遲也不到1微秒。這裡我了解的應該是主機到交換機。

直行何必繞彎——看rdma如何工作

RDMA高速低延時網絡:流動緩存背後的功臣

來自去年閃存峰會資料的這張圖,簡明的解釋了rdma over

ib和roce的好處:從user層(使用者态)繞過kernel層(核心态),直接走infiniband

hca或者roce網卡從網絡發送資料;即從應用的buffer緩沖,繞過了os的接收和發送buffer,甚至網卡上都可以不再做buffer。當然,我們前面提到的另外一點——繞開tcp/ip也是改善性能的重要因素。

從rna記憶體虛拟化到fuild cache for san

RDMA高速低延時網絡:流動緩存背後的功臣

上圖來自mellanox 2011年的資料,mellanox是最大的infiniband網絡裝置制造商,也是roce的主要發起者。戴爾與mellanox在高性能計算和存儲方面有着緊密的合作。

rna這家公司已于同年被戴爾收購,上面的對比數字是他們之前的mvx記憶體虛拟化産品在roce和tcp/ip網絡下的延時對比。注意這裡是應用級benchmark和round

trip延時,當時使用的connectx-2是10gb萬兆網卡。從測試結果來看,roce延時隻有tcp/ip網絡的1/3多一點。

值得一提的是,fuild cache for san正是rna的技術融入戴爾之後推出的産品,将roce高速網絡與poweredge伺服器上expressflash nvme pcie ssd的優勢結合起來,相得益彰。

本文轉自d1net(轉載)