小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
高端存储系统控制器之间均采用 RDMA 组网连接,控制框与 智能 NVMe 硬盘框、智能 SAS 硬盘框之间也采用 RDMA 组网连接。数据经过 RDMA 链路进行远程 DMA 数据搬移,搬移工作由接口模块完成,无需两侧 CPU 参 与,数据可以直接 RDMA 一跳到达到对端节点内存,大大提高了数据传输效率,降低 了访问时延。存储系统使用基于 RoCE 的 RDMA 技术,相比 PCIE 及 SAS 链路,基于 RoCE 通道的可靠通信时延更低。下图是基于 PCIE 链路和 RoCE 链路 的 IO 交互过程对比。
通过 RoCE 和 PCIe 进行数据传递包含三个阶段:启动控制命 令,传递传输到对端,以及对端接收数据进行验证并回响应消息。在 PCIe 通信模型 下,数据从控制器 A 发送到控制器 B 以后,控制器 A 的 CPU 还需要通过控制流通知 控制器 B 数据已送达(触发控制器 B 的中断),控制器 B 调用中断处理过程,对消息 进行校验并回响应消息。对于 RoCE 链路并无这个过程,当数据发送成功后,控制器A 无需通知控制器 B 数据已经送达,控制器 B 会轮询并处理达到的数据,并回响应。 RoCE 相比 PCIE 就减少了通知数据已经到达的过程,减少了交互次数,时延更低,带宽更高。