加快數據傳輸并將CPU及DDR總線的使用效率推到極致是一個好的數據中心架構的評估標準。日前,PMC將其NVRAM技術與高速網卡公司Mellanox聯合,共同展示了NVMe over RDMA 以及P2P的高速傳輸實例,有效將CPU以及DDR總線資源解放出來,并顯著地提升了數據傳輸速度。此次聯合演示包含兩部分,首先展示了如何將NVMe和RDMA組合起來,在遠端大規模提供低延遲、高性能、基于塊的NVM訪問。第二部分的演示則將Mellanox的RDMA對端發起操作與PMC的Flashtec NVRAM加速卡集成在一起,將內存映射的I/O(MMIO)作為一個RDMA目標,以實現遠端大規模的持久性內存訪問。下面將逐一作詳細介紹:
NVM Express over RDMA
NVMe over RDMA (NoR) 展示出將NVMe協議延展到RDMA之上的潛在可能。該項演示中共采用了兩臺電腦,一臺作為客戶端,另一臺則作為服務器——其中配備Mellanox ConnectX-3 Pro NIC,且通過RoCEv2相連。演示中所采用的NVMe設備即為性能極高而延遲極低的PMC Flashtec NVRAM 加速卡。下圖為該演示的框圖。
此演示顯示出,利用RDMA來傳送NVMe命令及數據結果帶來了微乎其微的額外延遲,且不影響吞吐量。
對比本地NVMe設備與遠端NVMe設備的平均延遲,如下表所示,NoR方案中延遲增加低于10微妙。
而另外這組數據則對比了本地NVMe設備與遠端NVMe設備吞吐量的測試結果。從下表中可以看出,NoR方案中吞吐量并無減少。
RDMA與PCIe設備之間的點到點傳輸
此項演示中,通過在標準 RDMA之上增加服務器CPU和DRAM的分流,采用對端發起的方式來將遠端客戶端與一臺服務器的NVRAM/NVMe設備直連。我們將Mellanox提供的RoCEv2-capable ConnectX-3 Pro RDMA NIC與PMC的Flashtec NVRAM加速卡組合在一起,實現NIC和NVRAM之間的對端發起操作。對端發起操作可以實現遠端客戶對NVRAM加速卡的直接訪問,相比傳統的RDMA流程,可降低延遲,且有效地釋放CPU和DRAM資源。
同樣,該演示采用的兩臺電腦,一臺作為客戶端,另一臺則作為服務器。利用服務器中的PCIe交換設備可以將對端發起操作的性能大大提升。
對比采用傳統RDMA和對端發起的RDMA時服務器上可用的后臺DRAM帶寬,用perftest得出的數據如下:
下表則對采用傳統RDMA和對端發起的RDMA時的平均延遲作出了比較,結果得自于 RDMA mode of fio:
RDMA以及NVMe兩項技術均處于蓬勃上升的階段,RDMA能提供遠距離、大規模的低延遲及高效率的數據移動,而NVMe則能提供對SSD的低延遲訪問。將兩項技術相結合能實現非凡的性能。
供貨情況
NVRAM對端發起的解決方案包含有Mellanox提供的任意RDMA兼容的HCA以及PMC的Flashtec NVRAM加速卡。與之相輔的還有操作系統的驅動代碼(現在Linux上得到支持)以及Mellanox和PMC提供的相關軟件。所有實現該項技術所需的代碼均可見于 www.pmcs.com/lit。