RDMA学习笔记

https://mp.weixin.qq.com/s?__biz=MzAxNzU3NjcxOA==&mid=2650717964&idx=1&sn=2b06cbeb6e9028c71b30eb37f38a3b9d&scene=21#wechat_redirect
https://blog.csdn.net/btb5e6nsu1g511eg5xeg/article/details/84801428
以上是引用链接,感谢!

什么是RDMA

RDMA (Remote Direct Memory Access)是远程直接内存访问。
利用相关的硬件和网络技术,服务器1的网卡可以直接读写另一个服务器2的内存,最终达到高带宽,低延迟和低资源利用率的效果。

RDMA降低了什么延迟

RDMA学习笔记
1、处理延迟:传统TCP/IP需要进行多层封装和分用,处理报头属于CPU处理开销,而RDMA可以不用内核参与封装、分用
2、传输延迟:RDMA是一种零拷贝技术,由于没有将数据拷贝到内核态并处理数据包头部的过程,传输延迟会显著减小。

RDMA的常用领域

1.机器学习
2.为存储系统和计算系统加速,充分利用高带宽低延迟以及释放CPU通信处理。
3.为GPU异构计算通信加速,充分利用Zero Copy的特性,减少数据通路中的拷贝次数,大大降低GPU之间的传输延迟。

RDMA的三种主流实现

Infiniband、RoCE、iWARP。RoCE是其中最主流的实现。

目前,虽然IB、以太网RoCE、以太网iWARP这三种RDMA技术使用统一的API,但它们有着不同的物理层和链路层。在以太网解决方案中,RoCE相对于iWARP来说有着明显的优势,这些优势体现在延时、吞吐率和 CPU负载。RoCE被很多主流的方案所支持,并且被包含在Windows服务软件中。

RoCE和iWARP,一个是基于无连接协议UDP,一个是基于面向连接的协议(如TCP)。RoCEv1只能局限在一个二层广播域内,而RoCEv2和iWARP都能够支持三层路由。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的额内存资源,对系统规格要求更高。另外,RoCE支持组播,而iWARP还没有相关的标准定义。

用于存储系统

RDMA将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。