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降低了什么延迟
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将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。