学习笔记-RDMA技术上篇

RDMA(Remote Direct Memory Access)是一种旨在减少网络通信延迟、提高带宽的技术,它允许数据直接在不同计算机的内存间传输,无需操作系统干预。本文介绍了RDMA的低延迟、低CPU开销和高带宽特性,以及Memory verbs和Messaging verbs两种基本操作。同时,讨论了InfiniBand、iWARP和RoCE三种不同的RDMA硬件实现,其中RoCE是在以太网上实现RDMA的协议,有RoCEv1和RoCEv2两个版本。
摘要由CSDN通过智能技术生成

最近在看博通的智能网卡时候,看到了RoCE(RDMA over Converged Ethernet)技术,对于这种陌生的名词,第一反应当然是百度了,然后记到CSDN这个小本本上。

要了解RoCE,首先就要了解RDMA。

一、什么是RDMA

       RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中客户端与服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。RDMA通过网络把资料直接传入计算机的内存中,将数据从一个系统快速移动到远程系统内存中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理能力。它消除了数据包在用户空间和内核空间复制移动和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。

二、背景

    我们都知道OSI七层模型,传统的TCP/IP网络通信,数据需要通过用户空间发送到远程机器的用户空间。数据发送方需要讲数据从用户应用空间Buffer复制到内核空间的Socket Buffer中。然后内核空间中添加数据包头,进行数据封装。通过一系列多层网络协议的数据包处理工作,这些协议包括传输控制协议(TCP)、用户数据报协议(UDP)、互联网协议(IP)以及互联网控制消息协议(ICMP)等。数据才被Push到NIC网卡中的Buffer进行网络传输。消息接受方接受从远程机器发送的数据包后,要将数据包从NIC Buffer中复制数据到Socket Buffer。然后经过一些列的多层网络协议进行数据包的解析工作。解析后的数据被复制到相应位置的用户空间Buffer。这个时候再进行系统上下文切换,用户应用程序才被调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值