當以太網碰上NVMe



­­­當以太網碰上NVMe

廖恆

       NVMe over Fabrics (簡稱NVMf)NVMe標準工作組中正在起草的新增功能。NVMe工作組最近發佈的NVMe over Fabrics Webinar閱讀量竟破了歷史紀錄。這可真成了SSD領域當前最熱門的話題。

       NVMf的基本思路是通過RDMA的方式來實現對NVMe命令和數據的跨越網絡的傳送。該標準中並未對傳送RDMA的數據網絡形態做出具體的規範。因此具有RDMA功能的任何網絡技術(包括InfinibandOmnipathEthernetFC,甚至尚未出現的未來網絡)只要具有RDMA的功能,理論上都可支持NVMf。具體到以太網,NVMf可能進一步引爆不同RDMA構架之爭,主要是在iWARPROCE之間。

       IETF早在2008年就訂出了iWARP的協議棧,只是生不逢時,只在特定場合被採用,而一直沒有成爲主流,NVMf能否爲iWARP帶來重生的機會,大家都在觀望中。iWARP依賴TCP/IP來保證數據的可靠傳送,因此較爲複雜,要做到高帶寬、低延遲,技術上要越過更多障礙,不過由於它可以在任何IP網絡上運行,因此通用性很強。

       此外IBTA制定了ROCERDMA協議,只是由於它出生於Inifiband Trade Association(IBTA),而既非主導以太網技術的IEEE802標準組,也非掌控IP協議的IETF標準組織,可謂出生有些缺乏正統性。ROCE在組網形態上又依賴於無丟包的DCE(數據中心以太網)而並非目前廣泛採用的會丟包的普通以太網,因此前途還不完全明朗。ROCE本身由於不需要處理丟包的問題(而依賴網絡本身來保證數據的可靠傳送),因此實現起來較簡單,要做到低延遲和高帶寬可能有些優勢。ROCE能否憑藉這些優勢而勝出也是我們在觀望的。不過對於沒有太多歷史包袱的廠商可能不會太在意哪一種RDMA構架會勝出,而可能採取兼容幷包的策略。畢竟排他式的二選一,一旦選錯可能導致全盤皆輸,在這個時期去冒這個風險,不值得。

       用以太網來連接NVMeSSD看似有些遙遠。連我自己寫這篇稿子時,也自覺有出爾反爾之嫌。過去三年來,我們一直在談服務器解耦合(FDIO)的構架,我們講過PCIe Switch是多麼適合用於SSD的連接,然後又試圖說服大家用SASS witch在機架內對HDD進行解耦和池化。在行動上,PMC一直在開放這些PCIeSAS相關產品。我們還曾指出過以太網要達到PCIe以及SAS的同等性能要面臨諸多技術和成本挑戰。現在拿以太網說事?這不是顛三倒四?

        其實大家(也包括我們自己)都容易犯二元對立的錯誤。往往選擇了一個技術,就一定要否定其他所有選擇對象。事實上一個看似理想的上層設計的理論,在實踐中往往會根據具體情況分化出各種複雜的實踐方法,而不能做到無所不包、一蹴而就。就FDIO解耦計算構架來說,在不同時間階段,SASPCIeEthernet各自有適用的場景和領域。比如在一個服務器內部連接多個NVMe SSD,這個方案非PCIe switch莫屬;而若要在多臺服務器之間動態共享多個JBOD內安裝的SATA HDD磁盤,SAS switch 就有很大優勢--- 畢竟這些SAS器件已通過多年部署達到了成熟和低價,又何必再浪費幾年時間用另一個協議把同樣功能實現一遍呢?一旦互聯需要有較好的可擴展性(盒子之間,機架之間)以太網的優勢就是難以替代的。這些複雜的技術演進過程,無非是依照抓到老鼠的就是好貓的實踐原則來自然完成。

       首先我們要考慮SSDCPU是否有分開的需要,也就是CPU是否要訪問存儲在另一個盒子裏的SSD的數據?除了我們過去談的FDIO的種種好處,即使在磚塊模式的構架上,也能找到很多理由去進行遠端數據的訪問(ServerSAN就是個很典型的例子)。從根本上說,數據中心的服務器和存儲節點就像人類社會一樣,除了漂流到孤島上的魯賓遜,每個人在不同程度上都依賴了其他人(或社會)的資源,交流和資源共享是普適性的,而獨佔纔是特例。因此我們斷言:總會有要高速訪問遠程SSD的需要出現。

       以太網是CPUSSD的互聯的最佳選擇嗎?答案恐怕不是簡單黑白分明的二元選擇。這裏我們面對着複雜而多元的選擇題。難以給出簡單明瞭的理想路標去供人找方抓藥。在不同時間點(現在和兩年以後),不同應用場景(盒子內/盒子間,機架內/機架間)下,我們會面臨諸多困難的選擇。除了前面提到的適合內部小規模互聯的SASPCIe之外,具有可擴展性的外部組網的技術選擇也不少:OmniPathInfinibandEthernetFiber Channel等。各路英雄們都在奮勇爭先。

       如果我們相信務實和開放改革的態度有助於一個體系的長期生存的話,我們則有理由看好NVMe over Ethernet。前面說的各種技術,各自都有這樣那樣的優勢和缺陷,這些決定了它們能在一段時間內佔據某些特殊的應用領域。可是作爲一個長期、通用、可擴展的外部互聯技術,以太網具有最務實、最能適應變化的、而又從不放棄通用性的傳統。說到頭,這些不同的技術之間,本質上共同點遠遠大於差異點,當你把每個技術的缺陷都分別彌補好了,它們之間就更沒有什麼差別了。而摩爾定律提供的恰恰是可以抹平缺陷的實現手段(實行具體協議功能的邏輯門電路幾乎是免費的)。在SSD的速率等級上,不管採用哪種協議,連接盒子之間的線纜成本都超過了節點內部硅片的成本而佔據了主要的部分。因此更沒有理由長期執着於某種協議的“個性”而阻擋走向通用化的必然趨勢。

        關切NVMe over Ethernet的玩家會有很多。說到了,NVMf就像現實中的其它事情一樣,無非是在其生命期內摸着石頭過河的一次次選擇過程。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章