NVMe over Fabric方案与测试结果分享

Memblaze对NVMe over Fabric的研究早已开始,2015年的FMS2015上,Memblaze就已经联合Mellanox演示了一个NVMe over Fabric的解决方案。而不久之前,Memblaze CTO路向峰拟写了《为了部落:NVMe over Fabric诞生记》系列文章,系统的介绍了NVMe over Fabric技术细节、市场前景及RDMA等内容。这篇文章将简述一个NVMe over Fabric方案的环境组成,并列举具体方案的性能测试结果。

简单的说NVMe over Fabric是将NVMe的数据包通过基于RDMA的网络进行传输,NVMe over Fabric把NVMe协议在单系统时代提供的高性能的优势进一步发挥到了NVMe存储系统互连结构中。在这种结构里,基于NVMe over Fabric的主机可以通过互连结构访问到任何一个数据中心的存储节点,可以说NVMe over Fabric是下一代数据中心存储的一个重点发展方向。

有了长时间的理论研究,尤其在NVMe over Fabric1.0规范发布之后,Memblaze已经将NVMe over Fabric落地在解决方案上,关于NVMe over Fabric的部署及实际方案能够达到的性能,Memblaze的最新白皮书《Export Memblaze PBlaze4 NVMe SSD by NVMe Over Fabric Or NVMe Over Fabric in SPDK》给出了一个明确的答案。(点击下载本白皮书

本次NVMe over Fabric的环境信息:

Server: 2* PowerEdge R730xd( Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz, 8 core,128GB DRAM)
Storage: Memblaze 3.2T PBlaze4 U.2 Disk (20W Power Limit)
OS: CentOS 4.7.0-rc2+
DPDK: dpdk-stable-16.07.1
RoCE Modes: RoCE v1
HCA: Mellanox ConnectX-3 Pro (Firmware version:2.36.5150)
NVMe Over Fabric Target of Linux Kernel: nvmet.ko (DEFDD1F71C669E1679530B9)
NVMe Over Fabric Target Driver of Linux Kernel: nvmet-rdma (865E9D5BA7A00E6EC149124)
NVMe Over Fabric Client: nvme-cli (nvme version 0.9.77.gc5e4)
NVMe Over Fabric Client Host Driver: nvme-rdma.ko (1E2A340FDC19F7E5BF87F8C)
fio测试配置(bs/rw/numjobs/iodepth等测试参数根据具体的测试案例进行配置):
ioengine=libaio
random_generator=tausworthe64
direct=1
thread=1
norandommap
randrepeat=0
测试的基本项目及操作:

测试项目

测试描述

基于Linux内核驱动的本地NVMe SSD测试

使用Linux内核的NVMe驱动,使用fio测试NVMe SSD的性能。

NVMe over Fabric测试

使用nvme-cli连接Linux内核的NVMe over fabric target,使用客户端服务器上的fio进行测试

 4KB随机读延迟分析

4KB Random Read(1 Outstanding IO)

Linux Kernel Local Test (NVMe Driver)

NVMeOF Test (Target of Linux Kernel)

Avg. Latency (us)

98.56

109.50

99.00% IO Latency Under (us)

121

131

4KB随机读的测试中可以看到,在低压力下(1outstanding IO),同样是内核驱动,NVMe over Fabric环境下IO延迟比Linux本地IO延迟高出10 us,约为总延迟的10%。而这是在40GbE环境下,当网络带宽提升至100GbE,网络延迟将进一步降低。
在高压力(256 outstanding IO)场景下,NVMe over Fabric对于延迟的影响同样比较小。为了让结果更为精确,这里将这个测试条件下的IOPS数据也加上来。

4KB Random Read (256 Outstanding IO)

Linux Kernel Local Test(NVMe Driver)

NVMeOF Test(Target of Linux Kernel)

IOPS

714,643

701,184

Avg. Latency (us)

354.18

359.75

99.00% IO Latency Under (us)

1,176

884

可以看出,在高压力下,本地系统IOPS比NVMe over Fabric要高,但是在延迟上两者处于同一水平。可以证明NVMe over Fabric对于降低网络延迟有着显著效果。

最后,看下4KB随机写的测试结果。

4KB Random Write(256 Outstanding IO)

Linux Kernel Local Test(NVMe Driver)

NVMe over Fabric Test(Target of Linux Kernel)

IOPS

163,112 IOPS

163,120 IOPS

Avg. Latency

1.56 ms

1.56 ms

99.00% IO Latency Under

10 ms

10 ms

99.99% IO Latency Under

27.26 ms

27.01 ms

上面表格中的数据展示了4KB随机写测试中的数据,可以看到本地的IOPS和延迟两个指标与NVMe over Fabric环境下的结果近乎相同。这意味着在写操作中,基于NVMe over fabric的远程网络延迟几乎是可以忽略不计的。
NVMe over Fabric能够有效的降低网络的延迟,使得NVMe SSD的优势能够充分发挥,避免远程访问时路径过长造成延迟过大。随着NVMe SSD技术的进一步发展,系统的性能将进一步提升,届时100GbE等新的以太网将更为普及,整个数据中心的性能也将跳到一个新的阶段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值