查看其它 2 个回答Eric雪飞的回答

Eric雪飞Eric雪飞存储专委 副主任上海市计算机学会

简单的说:在技术上没有什么区别,但是实现的性能改善可能会不太一样。因为分布式集中式只是不同的应用场景而已。

 rdma本质它是一个网络协议,你可以理解为remote的DMA,也就是远程的内存直接存取协议。这是一种极端的加速方案,属于对性能的极致追求,百尺竿头更进一步。DMA 和RDMA的本质都是bypass CPU,不需要CPU去把内存的数据移来移去,而是由外设自己执行这个操作,减少环节,加快效率,降低了CPU的开销,从这个思路来说,和DPU,智能网卡啥的是一个方向,offload工作负载,给CPU减负。 相比主流的TCP/IP网络协议,它在性能上的提升非常多,尤其是网络延迟的参数,带宽的优势倒没有这么凸显。

既然它是一个网络协议,那它必须基于一定的网络硬件。目前有多种网络链路层硬件的方案:
1 最原生的组合是InfiniBand的硬件。也就是IB网,需要专用的IB网卡和IB交换机,性能最好,价格最高。
2 另外这两年比较被关注的RoCE是基于太网的,性能上可能就没那么极致,但是也比普通网络的要好很多。并且RoCE的硬件层上交换机和网卡也都有一定的要求,交换机要支持无损以太网传输,网卡要支持RoCE。
3 最后一种就是直接用标准以太网,在TCP/IP上叠加一层DDP实现的iWARP 技术,这种性能就不太行。

既然我们上面解释清楚了RDMA是一个更快的网络协议或者是网络技术,回到问题本身,我们要看的是网络提速对分布式存储和集中存储有多少影响,关键就是两种存储自身的体系架构。

  1. 集中式存储通常来讲内部更紧凑一些,内部都是板载总线,或是线缆链接,不会用普通的网络协议,网络的存在感通常是存储和主机端之间的数据通信。传统集中式存储使用多个16G FC网卡实际上已经提供了足够高的性能,性能瓶颈即使有往往也是在存储机头,网络并不是问题,所以切换使用RDMA,对性能提升其实可能会很有限,甚至没作用。

2. 分布式存储本身有内部网络和外部网络两层(有的产品叫前端网络和后端网络),它本身多个节点相互之间就有大量的通信和数据传输需求,网络的提升肯定是有帮助的。并且分布式存储一点有数据保护机制,比如EC纠删码,这个东西也会用掉一部分cpu的计算能力。RDMA协议能够为cpu“松绑”,从这个角度讲,也是有所帮助的。从实际情况来看,追求极致,高性能的应用比如说现在的AI大模型,分布式存储实际上都会把网络升级为RDMA,并且用固态盘做存储介质,以得到更好的性能。

IT其它 · 2023-12-06
浏览362

回答者

Eric雪飞
存储专委 副主任上海市计算机学会
擅长领域: 存储灾备分布式架构

Eric雪飞 最近回答过的问题

回答状态

  • 发布时间:2023-12-06
  • 关注会员:4 人
  • 回答浏览:362
  • X社区推广