本白皮书结合西部数据OpenFlex Data24 NVME-oF存储平台,探讨了Supermeraid SR-1000 NVME-oF™ RAID卡的性能基准。
簡介
在软件可组合基础设施(SCI:Software-Composable Infrastructure)中,计算、存储和网络资源是从它们的物理位置抽象出来的,并且通常通过基于web的接口由软件进行管理。SCI使数据中心资源像云服务一样随时可用,是私有云和混合云解决方案的基础。随着NVMe™SSD和NVMe- of™技术的出现,SCI可以在不牺牲性能和延迟的情况下分解存储资源。随着NVMe SSD技术的快速发展,出现了一个重要的性能瓶颈—RAID数据保护。
RAID配置
在执行RAID计算时,用户在使用上有以下两种选择:
- 軟件RAID:操作系统所搭配软件RAID ,例如 Linux®上的MDADM
- 硬件RAID :例如,RAID控制卡
软件RAID
操作系统软件RAID提供独立的解决方案,支持多种介质类型(HDD / SSD)和协议(SATA、SAS、NVMe)。操作系统软件RAID的挑战通常是低性能和高CPU资源成本。顺序带宽,特别是读带宽,可以达到高性能水平,但顺序写需要进行保护计算。小块I/O模式通常具有更低的RAID性能级别,从而使此选项通常可用。总而言之,该选项具有网络附加存储设备所需的协议独立性,但缺乏所需的性能。
硬件RAID
硬件RAID很方便,因为SAS适配器卡可以将其提供给与外部机箱中的存储一致的客户端。在硬盘时代,RAID卡上的简单ASIC足以处理所有I/O——毕竟,即使使用SAS机械硬盘,最大性能也只有200 IOPS和150MB/s左右的吞吐量。然而,单个NVMe SSD固态硬盘 现在可以提供大约1M IOPS和 7GB/s 的吞吐量。硬件RAID卡从较慢的 HDD 到更高性能的 NVMe SSD的适应速度很慢。这种转变已经正在发生,并且在使用SSD时可以提供更高的性能水平。这些硬件RAID方案的挑战在于它们只能与它们的本地物理协议(一般为PCIE )一起使用。它们不能与网络连接的设备一起使用,也不能完全或有效地扩展性能。总而言之,这些硬件RIAD方案可能具有所需的本地性能,但不提供在网络连接设备上工作的协议独立性,严重限制了它们在现代软件可组合基础设施或高性能应用程序中的用途。这些考虑也阻碍了它们在这些基准测试中进行测试。
在本文中,我们讨论并测试了第三种选择: 硬件加速软件RAID。此选项提供协议独立性和网络附加Flash存储所需的高性能。基于gpu的硬件加速软件RAID实现复杂的RAID级别(如RAID 5 和 RAID 6),同时在NvME SSD 固态硬盘中保持高性能的挑战通常是奇偶计算。硬件RAID奇偶校验计算使用ASIC内的硬件引擎,而软件RAID只能使用CPU的指令集,其性能通常有限。将CPU密集型奇偶校验计算卸载并并行化到硬件加速器上通常可以解决这个问题。有几个潜在的硬件引擎可以进行这些计算。
第一种选择是利用CPU扩展(例如Vector/SIMD)来卸载和并行奇偶校验计算,以提高RAID性能。
第二种选择是在专用硬件加速器(如GPU (DPUs)或FPGA)上卸载和并行这些计算。我们在这里提供了在该项目中测试的基于GPU的RAID解决方案SupremeRAID™SR-1000。下图提供了其实现的框图。
虽然基于GPU的解决方案很有前途,但每个服务器都需要一个GPU。在撰写本文时,这些技术的商用解决方案有限,但有几种矢量和FPGA解决方案可用。
解决方案组件
在这个项目中,我们选择了Supermeraid SR-1000 NVMe-oF RAID卡作为性能基准,并结合西部数据OpenFlex Data24 NVMe-oF存储平台。
硬件及软件概述
下表提供了此测试中使用的组件列表。
OpenFlex Data24 NVMe-oF存储平台
西部数据的OpenFlex Data24 NVMe-oF存储平台类似于2.5英寸SAS JBOD机箱。使用西部数据超星DC SN840 15.36 TB设备时,提供24个NVMe硬盘槽位,最大容量为368 TB。与SAS机箱不同,Data24的双IO模块使用西部数据RapidFlex™C1000 NVMe-oF控制器。这