rdma应用在分布式和集中式存储,在技术和性能上有何区别?

参与8

3同行回答

Eric雪飞Eric雪飞存储专委 副主任上海市计算机学会
简单的说:在技术上没有什么区别,但是实现的性能改善可能会不太一样。因为分布式集中式只是不同的应用场景而已。 rdma本质它是一个网络协议,你可以理解为remote的DMA,也就是远程的内存直接存取协议。这是一种极端的加速方案,属于对性能的极致追求,百尺竿头更进一步。DMA 和RD...显示全部

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

 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
浏览421
RDMA 对分布式存储的性能的提升是巨大的。分布式存储普遍使用 TCP/IP 网络协议栈作为存储内部通信方式,在面对高性能计算的业务时往往难以满足性能需求。RDMA 技术的出现,为降低 TCP/IP 网络传输时延和 CPU 资源消耗,提供了一种全新且高效的解决思路:通过直接内存访问技术,数...显示全部

RDMA 对分布式存储的性能的提升是巨大的。分布式存储普遍使用 TCP/IP 网络协议栈作为存储内部通信方式,在面对高性能计算的业务时往往难以满足性能需求。RDMA 技术的出现,为降低 TCP/IP 网络传输时延和 CPU 资源消耗,提供了一种全新且高效的解决思路:通过直接内存访问技术,数据从一个系统快速移动到远程系统的内存中,无需经过内核网络协议栈,不需要经过中央处理器耗时的处理,最终达到高带宽、低时延和低 CPU 资源占用的效果。关于 RDMA 与 TCP/IP 在实际性能表现上的对比,可参考: https://www.talkwithtrend.com/Article/265495
对于集中式存储,目前主流传输方式仍为光纤通道(FC),一些存储品牌支持利用 RDMA 提供计算节点的接入协议,如 iSER(基于 RDMA 的 iSCSI 扩展)和 NVMe-oF over RDMA,不过目前相关使用场景和案例仍非常有限。
总体而言,RDMA 在分布式存储和集中式存储中的应用都可以提供更高的性能和更低的延迟,但 RDMA 在分布式存储中不但用于连接计算节点,还用于存储节点之间传输数据。

收起
软件开发 · 2023-12-04
浏览419
mxinmxin资深工程师上海宝信软件股份有限公司
RDMA(远程直接内存访问)技术是一种高速网络传输协议,它支持RDMA(远程直接内存访问)技术是一种高速网络传输协议,它支持在对方主机CPU不参与的情况下远程读写异地内存,并提供高带宽、高吞吐和低延迟的数据传输特性。这种技术在分布式存储和集中式存储中的应用,会带来一些技术和性...显示全部

RDMA(远程直接内存访问)技术是一种高速网络传输协议,它支持RDMA(远程直接内存访问)技术是一种高速网络传输协议,它支持在对方主机CPU不参与的情况下远程读写异地内存,并提供高带宽、高吞吐和低延迟的数据传输特性。这种技术在分布式存储和集中式存储中的应用,会带来一些技术和性能上的区别。
在分布式存储中,数据被分散存储在多个节点上,以实现数据的高可靠性、可扩展性和性能。RDMA技术可以大大提升分布式存储系统的性能,因为在这种系统中,数据需要在网络上频繁地传输。RDMA技术可以让数据直接在内存中进行传输,从而减少了CPU的负担,提高了数据传输的效率。
相比之下,在集中式存储中,所有的数据都被存储在单一的存储设备或服务器上。虽然RDMA也可以提高集中式存储系统的性能,但其效果可能不如在分布式存储系统中那么显著。因为在这种情况下,数据迁移的频率可能会比较低,因此对网络传输的需求也相对较小。

收起
系统集成 · 2023-11-27
浏览431

ChatGPT 回答

RDMA(Remote Direct Memory Access)是一种网络传输技术,它允许数据在不涉及CPU的情况下直接从一个计算机的内存传输到另一个计算机的内存。在银行行业中,RDMA技术可以应用于分布式存储和集中式存储中。

在分布式存储中,RDMA可以提高数据传输的效率和性能。传统的分布式存储架构中,数据需要经过多次拷贝和传输才能到达目标节点,这会导致传输延迟和性能下降。而使用RDMA技术,数据可以直接从一个节点的内存传输到另一个节点的内存,避免了多次拷贝和传输,从而提高了传输效率和性能。

在集中式存储中,RDMA可以提高存储系统的吞吐量和响应速度。传统的集中式存储架构中,数据需要经过CPU和网络适配器才能进入存储系统,这会导致存储系统的吞吐量和响应速度下降。而使用RDMA技术,数据可以直接从网络适配器传输到存储系统,避免了CPU的参与,从而提高了存储系统的吞吐量和响应速度。

总的来说,RDMA技术可以提高分布式存储和集中式存储的性能和效率,但在应用中需要根据具体情况选择合适的存储架构和技术方案。

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-11-24
  • 关注会员:5 人
  • 问题浏览:1118
  • 最近回答:2023-12-06
  • X社区推广