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