Mellanox Infiniband 网卡固件刷新大幅提升IO带宽(2)

时间:2013-07-22   来源:   网友评论:0   人气: 4391 作者:

4)下载原始的固件文件到你的Infiniband服务器的一个文件夹里。原始的固件文件是一个扩展名为.mlx的大的文本文件。我使用的版本是2.10.720,固件文件名为fw-ConnectX2-rel.mlx,是我从用于Windows 2012的Mellanox 4.2驱动安装程序中提取的。你可以从这里下载我的固件文件http://www.openida.com/wp-content/uploads/fw-ConnectX2-rel.zip。如果不想下载我的版本,你也可以从Mellanox安装程序中提取自己的固件文件。启动安装程序,让它运行,查看文件夹c:\users\\appdata\local\temp,找到扩展名为.mlx的文件。

5) 下载 .ini 文件,把它放到 .mlx 固件文件的同一目录。我的Dell PowerEdge C6100夹层卡的版本在这里http://www.openida.com/wp-content/uploads/DEL09A0000009.zip。该 .ini 文件必须与Board ID匹配,因此你需要将它命名为“DEL09A0000009.ini”。如果你下载了我的版本,请跳过第六步。如果你不想使用我的固件文件,你可以通过编辑和重命名非贴标Mellanox卡的.ini文件自己制作。在Mellanox安装程序仍在运行时,到c:\users\\appdata\local\temp文件夹中找到名为MHQH29C_A1-A2.ini的文件。编辑内容(以戴尔为例),属性Name = DEL09A0000009,PSID = DEL09A0000009,然后将文件更名为DEL09A0000009.ini。如果你用的是Sun ConnectX-2卡,只要把文件属性和文件名中的戴尔Board ID改为Sun Board即可。

6) 你现在就可以制作新的固件镜像并刷到自己的卡上了。这两步用一个命令就能完成,而且必须是在你的服务器装有 Infiniband 卡的情况下完成。打开Windows命令行提示窗口,目录指向你的下载文件位置。输入命令mlxburn.exe -dev -fw ,你那儿应该是mlxburn.exe -dev mt26428_pci_cr0 -fw fw-ConnectX2-rel.mlx。

在运行此命令时,mlxburn会查找你的卡的Board ID。然后到文件夹下寻找有该Board ID的.ini文件。随后mlxburn使用.mlx固件文件和.ini文件来制作固件镜像,并将其烧录到卡中。完成后,重启服务器,让新的固件生效。

检查你的工作

要想检查新的固件版本,打开Windows命令提示行窗口,运行命令 flint -d (举例flint -d mt26428_pci_cr0)。查看固件版本,确认是否为 2.10.720,或者是你用的mlx文件版本。

现在检查你的卡能否使用RDMA了。打开PowerShell窗口,输入Get-SmbServerNetworkInterface。如下图,你的 Infiniband 端口现在应该显示 RDMA 可用。

最后,运行吞吐量测试。这次的结果为3,279MB/s – 相当于实际文件共享吞吐量为 25.6 千兆。

更令人惊讶的是RDMA的IPoIB难以置信的低延迟。IOMeter测试4kb随机传输显示,平均延迟仅为.51毫秒,将近250,000 的4kb随机IOPS ——一个大约2009年的Window文件服务器。


其他细节

本文的文件服务器是Dell PowerEdge C6100 XS23-TY3 node,双英特尔至强L5520处理器,Dell QDR Infiniband夹层卡(不到200美元)。我用的默认设置全新安装 Windows 2012服务器。为了测试,我需要一个比Infiniband卡还快的文件系统——这可不容易。为了达到此目的,我在文件服务器上运行了免费的StarWind RAM disk软件,并配置了四个8GB 内存盘。在本地使用IOMeter测试时,这些内存盘的吞吐能力超过9GB每秒,这足以赶上一个 Infiniband 卡。这些超快的磁盘之后被设置为标准的Windows共享。

用于测试的客户端是另一台一模一样的Dell C6100 node,使用 Mellanox Grid Director 4036 Infiniband交换机连接到服务器上。在 IPoIB 网络上装上了这四个共享卷之后,我开始在客户端机器上使用IOMeter进行吞吐量和IOPS测试。吞吐量测试存取规范是:1MB传输,100%随机和100%读取,其他设置均为默认值。IOPS测试,传输大小为4kb。我在四个磁盘上的每一个都使用的测试文件大小为16,000,000个扇区,队列深度为32。 在IOMeter中,你可以通过多选对多个卷进行测试。其他设置均为默认值。比如,Windows防火墙打开,大型页面没有启动。


 

文章评论