PCEVA,PC绝对领域,探寻真正的电脑知识

标题: iWARP Vs RoCE - 两种RDMA网卡的横向对比 [打印本页]

作者: larryexchange    时间: 2016-7-14 15:59
标题: iWARP Vs RoCE - 两种RDMA网卡的横向对比
本帖最后由 larryexchange 于 2016-7-14 18:05 编辑

RDMA网卡提供了高吞吐、低延迟的网络传输能力。早期仅用于高性能计算,如今随着各种分布式系统的流行,被越来越多的应用于企业和数据中心。有关RDMA的更多信息可以参考https://en.wikipedia.org/wiki/Remote_direct_memory_access

RDMA有三个实现版本,iWARP, RDMA over Converged Ethernet (RoCE)和Infiniband (IB)。由于融合网络架构的流行,iWARP和RoCE使用场景更加广泛。有关iWARP和RoCE两个各自优缺点的比较网上有很多。本帖侧重从用于SMB Direct (https://technet.microsoft.com/en-us/library/jj134210(v=ws.11).aspx)的使用角度比较的性能。

首先介绍些出场的两位选手:
-----------------------------------
[attach]362367[/attach]
[attach]362368[/attach]
两者都支持RDMA,且都是两个万兆接口。不了解这两个厂商的人有可能会误以为是寨厂。但事实上这两家的网卡比那些“大”牌(如Intel,Broadcom)要专业的多。拿iWARP来说,Intel也有网卡可以支持,但性能比Chelsio要弱。

然后介绍一下测试的环境:
--------------------------------
客户端:HP Z840工作站

服务器端:Intel R2208WT2服务器

连接:将两块网卡的两个端口相互直连。目的是消除交换机的干扰因素。

为了测试两种网卡在SMB Direct下的性能表现,当然不希望存储成为瓶颈,进而影响两者的比较。所以这里我在服务器上用上了三块NVMe的SSD,并通过Windows Server自带的Storage Space做了一个简单卷。有关HGST SN100 NVMe的相关信息,可以参考我之前的帖子http://bbs.pceva.com.cn/thread-132601-1-1.html

测试工具和方法:
---------------------------
测试一:用微软官方的网络测试工具NTTTCP.EXE来测试网络的吞吐和对CPU的开销
测试二:用PowerShell命令Get-SMBMultichannelConnection来验证RDMA和SMB多通道是否起作用
测试三:运行Crystal Disk Mark观察吞吐
测试四:运行微软官方的磁盘测试工具DiskSpd对100GB大小的文件进行100%随机4KB读操作,关注IOPS和延迟并用系统自带性能监视器捕捉IOPS和RDMA活动

性能基准:
---------------------------
先来看看三块NVMe构成的目标磁盘卷的本地性能。
[attach]362369[/attach]
从上面的CDM测试结果可以看到目标卷的读写性能都完全超过了网快网卡的20Gb/s的吞吐,所以磁盘系统在这方面不会成为瓶颈。

另外为了对照之后的IOPS测试,我还预先看了磁盘系统4KB全盘随机读的性能和一致性表现。我们可以将这个作为基准,用于对比之后通过两块网卡访问该存储的测试。
[attach]362370[/attach]

[attach]362371[/attach]
从上面两张图可以看到目标存储系统本地访问可以达到114.7万的IOPS并且一致性也相当好。

作者: larryexchange    时间: 2016-7-14 16:00
标题: iWARP的测试结果
本帖最后由 larryexchange 于 2016-7-14 16:37 编辑

测试一:用微软官方的网络测试工具NTTTCP.EXE来测试网络的吞吐和对CPU的开销
------------------------------
两个网络接口的测试结果如下:
[attach]362378[/attach]

[attach]362379[/attach]
从上面的结果可以看出两个接口的吞吐分别为1131.37MB/s和1129.78MB/s。CPU占用率分别是5.94%和4.69%。

测试二:验证SMB Direct是否正常工作
-----------------------------
首先从系统中将工作站上的两个Mellanox网络接口都禁用。并用PowerShell命令Get-SMBMultichannelConnection来验证RDMA是否起作用了。由于Windows Server本身支持SMB MultiChannel,所以虽然后面测试目标用了一个IP地址,但从下图也可以看出两个网络接口的两个通道同时都在起作用。[attach]362377[/attach]

测试三:Crystal Disk Mark测试
------------------------------
[attach]362380[/attach]
从上面的测试结果可以看到,测试目标是\\192.168.253.4\e$,此时读写吞吐分别达到了2058MB/s和2278MB/s,基本上接近了测试一中所测得的两块网卡吞吐量的总和。可见SMB的多通道表现相当完美。

测试四:4KB随机读测试
----------------------------
运行微软官方的磁盘测试工具DiskSpd对100GB大小的文件进行100%随机4KB读操作,关注IOPS和延迟并用系统自带性能监视器捕捉IOPS和RDMA活动
[attach]362381[/attach]
[attach]362382[/attach]
从测试结果可以看到,通过SMB Direct,我们最多可以获得325,727 IOPS,平均延迟0.343ms,延迟的标准差为0.323ms。

从下面的性能曲线我们也可以更加直观的看出类似的结果。
[attach]362383[/attach]

测试过程中,通过性能监视器还特别关注了RDMA的活动情况,可见两个网络接口都在工作。
[attach]362387[/attach]

作者: larryexchange    时间: 2016-7-14 16:00
标题: RoCE的测试结果
本帖最后由 larryexchange 于 2016-7-14 16:39 编辑

测试一:用微软官方的网络测试工具NTTTCP.EXE来测试网络的吞吐和对CPU的开销
------------------------------
两个网络接口的测试结果如下:
[attach]362389[/attach]

[attach]362390[/attach]
从上面的结果可以看出两个接口的吞吐分别为1129.72MB/s和1129.88MB/s。CPU占用率分别是3.78%和4.05%。

测试二:验证SMB Direct是否正常工作
-----------------------------
首先从系统中将工作站上的两个Chelsio网络接口都禁用。并用PowerShell命令Get-SMBMultichannelConnection来验证RDMA是否起作用了。由于Windows Server本身支持SMB MultiChannel,所以虽然后面测试目标用了一个IP地址,但从下图也可以看出两个网络接口的两个通道同时都在起作用。
[attach]362391[/attach]

测试三:Crystal Disk Mark测试
------------------------------
[attach]362392[/attach]
上面的测试结果是有点出乎我意料之外。开始怀疑是线缆的问题,不过同Chelsio的网卡兑换了线缆以后依然表现不好,而且从性能监视器还观察到两个RDMA网卡虽然都有活动,但并不太正常,似乎在频繁切换。当我禁用掉其中一个网口,仅留一个RoCE网口时,读写的吞吐反而都可以达到接口的上限。

测试四:4KB随机读测试
----------------------------
运行微软官方的磁盘测试工具DiskSpd对100GB大小的文件进行100%随机4KB读操作,关注IOPS和延迟并用系统自带性能监视器捕捉IOPS和RDMA活动

[attach]362393[/attach]
[attach]362394[/attach]
从测试结果可以看到,此时在SMB Direct下,我们最多可以获得238,004 IOPS,平均延迟0.47ms,延迟的标准差为2.896ms。

从下面的性能曲线我们也可以更加直观的看出波动很明显。
[attach]362395[/attach]



作者: larryexchange    时间: 2016-7-14 16:00
标题: 两种网卡的对比和小结。
本帖最后由 larryexchange 于 2016-7-14 17:38 编辑

通过比较测试结果,可以看出:



作者: nighttob    时间: 2016-7-14 17:30
然而我这儿连CNA都没有
脑洞里有类似计划,但优先级很低
我还是更倾向于用电口的
作者: larryexchange    时间: 2016-7-14 17:46
nighttob 发表于 2016-7-14 17:30
然而我这儿连CNA都没有
脑洞里有类似计划,但优先级很低
我还是更倾向于用电口的 ...

什么是CNA?

作者: nighttob    时间: 2016-7-14 17:51
Converged Network Adapter啊
作者: 飞翔的企鹅    时间: 2016-7-14 17:54
这种高端货一般用在什么领域上?什么情况必须用到那么高级的东西?
作者: xudaiqing    时间: 2016-7-14 20:17
本帖最后由 xudaiqing 于 2016-7-14 20:23 编辑
飞翔的企鹅 发表于 2016-7-14 17:54
这种高端货一般用在什么领域上?什么情况必须用到那么高级的东西?

VSAN(virtual san)用一对效果很好,而且不涉及交换机的情况下价格还是很便宜的。


作者: 红色狂想    时间: 2016-7-14 21:35
伦家好奇滴问一下,撸主是在自己家里部署着玩儿吗,就算无交换双机直通,成本也得两三万吧?
作者: vicdoo    时间: 2016-7-15 10:42
大神太多了,以至于我都没理解过来,别说消化了!

作者: jerrytsao    时间: 2016-7-26 13:06
Larry大神, 小白求问你这个SMB Direct测试是属于NVMe Over Fabrics范畴内的应用吗, IB和Ethernet未来哪种适用范围会更广?

[attach]363483[/attach][attach]363484[/attach]



作者: larryexchange    时间: 2016-7-27 00:32
jerrytsao 发表于 2016-7-26 13:06
Larry大神, 小白求问你这个SMB Direct测试是属于NVMe Over Fabrics范畴内的应用吗, IB和Ethernet未来哪种适 ...

我对NVMe over Fabric没有研究,但仅仅从你提供的图中看,他们不是一类,虽然两者使用到的很多的技术相同,比如RDMA,NVMe等等。


至于IB还是ETH,对于融合网卡/网络来说ETH当然是不二选择,但IB在特定场景下还是有其优势。新的Mellanox网卡都同时支持IB和ETH,而且其ETH相对老版本来说也已进步很多。

作者: jerrytsao    时间: 2016-7-27 01:18
larryexchange 发表于 2016-7-27 00:32
我对NVMe over Fabric没有研究,但仅仅从你提供的图中看,他们不是一类,虽然两者使用到的很多的技术相同 ...

感谢解惑, 一直对NVMe Over Fabrics与其他连接方式的区别感觉很模糊.

作者: jerrytsao    时间: 2016-7-27 12:56
本帖最后由 jerrytsao 于 2016-7-27 13:10 编辑

借大神帖再发一个刚找到的链接推荐给同存疑惑的人, 科普好文非常清楚展示了各种protocol的区别.

https://community.mellanox.com/docs/DOC-1466

[attach]363534[/attach]

[attach]363535[/attach]

[attach]363536[/attach]


作者: overthink    时间: 2016-7-27 16:49
10G能普及到桌面就好了,直接搞个SAN,台机都不用硬盘,现在1G的速度慢死




欢迎光临 PCEVA,PC绝对领域,探寻真正的电脑知识 (https://bbs.pceva.com.cn/) Powered by Discuz! X3.2