基于RDMA/NVMe低时延存储系统设计
今天,接着上篇文章“关于企业闪存系统关键技术介绍”,以Dorado闪存产品为例,谈谈基于RDMA/NVMe低时延存储系统方案介绍、设计实践。
存储控制器之间的数据可以通过RDMA互联,RDMA 直接 一跳到达到对端节点内存,无需再次搬移或中转。控制框与智能 NVMe 硬盘框、智能 SAS 硬盘框之间也采用 RDMA 组网连接。
1、低时延 RDMA 设计
数据经过 RDMA 链路进行远程 DMA 数据搬移,搬移工作由接口模块完成,无需两侧CPU 参与,大大提高了数据传输效率,降低了访问时延。通常,数据的传输过程分为两个步骤:
1. 把控制消息发送到对端,对端准备好接受的内存资源等,通知发送端准备好了;
2. 发送端再把数据发送到接收端。
RDMA 的通讯过程,通过接收端预先准备好内存资源等方式,控制消息和数据一起发送到接收端,减少了一次交互过程,实现了通讯的低时延。使用 RoCE 的 RDMA 技术,相比 PCIE/SAS 链路,具备更高可靠和更低通信时延。
下图是基于 PCIE 的 DMA 链路和 RoCE 链路的 IO 交互过程对比。数据传递包含三个阶段:启动控制命令,传递传输到对端,以及对端接收数据进行验证并回响应消息。在 PCIe 通信模型下为双边通信模型,即数据从控制器 A 发送到控制器 B 以后,控制器 A 的 CPU 还需要通过控制流通知控制器 B 数据已送达(触发控制器 B 的中断),控制器 B 调用中断处理过程,对消息进行校验并回响应消息。
图:Dorado闪存产品介绍
对于 RoCE 链路Dorado 采用单边通信模型,即当数据发送成功后,控制器 A 无需通知控制器 B 数据已经送达,控制器 B 会轮询并处理达到的数据,并回响应。因此 RoCE 相比PCIE 就减少了通知数据已经到达的过程,减少了交互次数,时延更低,带宽更高。
RDMA 全互联设计在连接距离、扩展灵活性、共享访问上还产生额外收益,下表是PCIE、RoCE 以及 SAS 通道比较。
图:Dorado闪存产品介绍
2、端到端NVMe设计
NVMe 是一种抽象协议层,提供可靠的 NVMe 命令和数据传输。为了支持数据中心的网络存储,通过 NVMe over Fabric 可以实现 NVMe 标准在多种网络上的扩展,达到降低存储网络协议栈处理开销并提供高并发低延时的目的,适应 SSD 介质驱动的存储架构演进。NVMe over Fabric 支持把 NVMe 命令和数据映射到多个 Fabric 传输链路,主要包括 FC、InfiniBand、RoCE v2、iWARP 和 TCP。OceanStor Dorado 支持端到端的 NVMe,包括:
存储与主机网络支持 FC-NVMe(NVMe over FC),NVMe over RoCE v2,后续将扩展到 NVMe over TCP/IP。
更高的接口速率,支持 32Gbps FC-NVMe 和 25Gb NVMe over RoCE、100GbNVMe over RoCE。
iSCSI 连接 TCP/IP 协议栈卸载技术,减少 CPU 消耗以及降低网络协议栈时延。
为多核定制设计的 NVMe 多队列轮询,免锁处理多并发 I/O,处理器算力发挥更彻底。
针对 NVMe SSD 访问而设计,对下盘请求提高读优先级调度,减少在写 SSD 盘的时候,对主机读请求的访问阻塞时长,使得更快响应。
采用端到端 NVMe 设计的系统最低访问时延降低至 100us 以内,相比上一代降幅达 50%。
主机到存储NVMe over Fabric端到端部署,支持从主机、前端网络到存储系统,包括存储系统后端的磁盘框和 SSD,全数据路径支持 NVMe 协议。
主机 OS:支持 NVMe 协议的操作系统,SUSE,RetHat 等主流操作系统。
主机网卡:FC-HBA 卡,RoCE 卡,安装 NVMe 网卡驱动。
SAN Fabric:FC Switch ,DCB ETH Switch,对 NVMe 协议透明。
存储阵列:存储基于FC-NVMe 接口卡,NVME over RoCE 接口卡;
硬盘框:智能 NVMe 硬盘框,NVMe SSD。
对于 FC-NVMe 应用,基于现有数据中心 FC SAN 的组网和交换机配置等基础设施,在主机 FC HBA 卡上安装 NVMe 驱动就可以支持 NVMe 协议,保护已有投资的同时向NVMe 演进。
对于 NVMe over RoCE 应用,需要基于 RoCE 网卡和 DCB 以太网交换机构建,适用于新建数据中心,实现数据中心的服务器集群、前端 LAN 网络和存储 SAN 网络的融合和统一,降低 TCO。
RoCE 网卡和 DCB 交换机支持基于业务流的拥塞反压控制,组成了无丢包增强以太网,是 RDMA 和 NVME 运行的网络基础。NVMe 作为新一代的块存储协议命令集,从后端直连存储向全数据路径的网络连接存储的演进。
1、NVMe 作为 SCSI 协议一种替代,定义了一套新的块存储协议命令集,使用 PCIe 作为传输通道,极大的提升了时延和带宽。
2、FC 和 iSCSI 解决了 SCSI 协议的扩展和拉远问题,同样 NVMe over Fabric 解决了NVMe 的扩展和拉远问题:
1)PCIe NVMe 受限 PCIe 总线地址数,最大支持 255 个节点,通常只能支持到 100 个左右的 SSD 盘。
2)PCIe NVMe 只能通过直连方式连接控制器,距离有限。
3、NVMe Over RoCE,基于 DCB 的无损以太网基础设施,利用 RDMA 的低时延和低CPU 占用率,构建端到端 NVMe,并实现数据中心 LAN 网络和 SAN 网络融合。DCB是数据中心以太网标准,支持基于业务流的拥塞控制和反压,实现以太网的无损不丢包。
4、NVMe Over FC,基于现有 FC 基础设施,快速构建端到端的 NVMe。
随着存储介质从 HDD 发展到 SSD,存储高性能吞吐与 SCSI 协议传输较低性能吞吐之间的矛盾日益严重,从而出现了 NVMe 存储协议。NVMe 规范了 SSD 访问接口,简化了协议复杂性,充分利用 PCIe(Peripheral Component Interconnect Express)通道的低延时以及并行性,利用多核处理器,通过降低协议交互时延,增加协议并发能力,并且精简操作系统协议堆栈,显著提高了 SSD 的读写性能。
全场景闪存化推动了数据中心的网络改革,NVMe 最大化释放了 SSD 介质的能力。更快的存储呼吁更快的网络。NoF 存储网络应运而生,通过使用 IP 网络对专用网络的创新性革新,实现了更高的带宽和更低的时延,同时也兼具 IP 易管理的优势,是更好地实现端到端 NVMe 存储网络的最佳方案。
参考资料:OceanStor Dorado闪存产品介绍
2、OceanStor Pacific系列高性能数据分析(HPDA)存储
微信扫码关注该文公众号作者