RMDA通信1:通信过程和优势,以太网socket为何用户空间拷贝到内核空间

视频分享:

1.1 RDMA基本原理和优势,以太网socket通信为什么要用户空间拷贝到内核空间_哔哩哔哩_bilibili

一、以太网socket通信

1.1 以太网socket通信过程

1、发送端发起一次通信操作,数据由用户空间拷贝到内核空间。拷贝由CPU完成,并且在内核空间总由CPU完成数据封装,添加报头和校验信息。

2、发送端网卡通过DMA由主机内存内核空间复制数据到发送端网卡的内部缓存

3、发送端网卡通过物理链路发送数据给接收端网卡

4、接收端网卡,通过DMA将接收端网卡缓存空间的数据拷贝到主机内存的内核空间

5、CPU对数据进行解析和校验,并将数据由内核空间复制到用户空间

1.2 以太网socket通信的缺点

1、send/recv等系统调用,导致系统在用户态和内核态间切换,耗时,增加传输延时。

2、发送时数据需要从用户空间拷贝到内核空间(接收时反向拷贝),增加传输延时。

3、CPU全程参与数据包的封装和解析,对CPU造成负担。

1.3 为啥要从用户空间拷贝到内核空间

1、由于用户空间的物理地址空间不连续。

2、网卡无法支持不连续物理地址用户空间访问。

因此需要将数据由物理地址不联系的用户空间,拷贝到物理地址连续的内核空间,让网卡访问连续地址空间的主机内存空间。

二、RDMA(Remote Direct Memory Access)

RDMA(远程直接内存访问)将控制通路和数据通路分开。

发送端和接收端都需要利用控制通路,进入内核状态,创建通信所需的各种资源,为正式的数据通信做好准备。

 
1.1 RDMA数据传输过程

1、发送端网卡,通过DMA,将用户空间的数据拷贝到网卡缓存,对数据进行协议封装,添加各层协议报头和校验信息。

2、发送端网卡通过网线/光纤将封装好的数据发送给接收端网卡。

3、接收端网卡对数据进行解析后,通过DMA将数据拷贝到用户空间。

1.2 RDMA的优点

1、数据传输时没有系统调用,不需要用户态内核态切换,降低通信延迟。

2、省去数据在户空间拷贝到内核空间之间的拷贝,降低通信延迟。(零拷贝)

3、数据包的封装和解析,由网卡完成,降低CPU负载

1.3 RDMA对硬件的新要求

1、网卡能够访问物理地址不连续的用户空间。

2、网卡需要负责数据的封装和解析。

参考资料:

Linux高性能网络详解,从DPDP、RDMA到XDP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【YOLO 系列】基于YOLO V8的车载摄像头交通信号灯检测识别系统【python源码+Pyqt5界面+数据集+训练代码】

前言 随着智能交通系统的发展,交通信号灯的准确识别对于提高道路安全和交通效率具有至关重要的作用。传统的交通信号灯识别方法依赖于固定的传感器和摄像头,存在安装成本高、维护困难等问题。为了解决这些问题,我们启动了这个项目&#xff0…

中文邮件模板之向论文的作者咨询论文相关问题

目录 1. 内容 2. 邮件昵称 3. 格式很重要! 1. 内容 尊敬的: 您好,很抱歉在您百忙之中打扰您。 我是大学的一名硕士生,最近在做项目【】,您发表的论文【】给了我很大的启发。 论文中没有给出具体参数,如和…

React+TS 从零开始教程(2):简中简 HelloWolrd

源码链接:https://pan.quark.cn/s/c6fbc31dcb02 这一节,我们来见识ReactTS的威力,开始上手开发第一个组件,什么组件呢? 当然是简中简的 HelloWolrd组件啦。 在src下创建一个components,然后新建Hello.tsx …

CVPR2023论文速览Transformer

Paper1 TrojViT: Trojan Insertion in Vision Transformers 摘要原文: Vision Transformers (ViTs) have demonstrated the state-of-the-art performance in various vision-related tasks. The success of ViTs motivates adversaries to perform backdoor attacks on ViTs.…

一款有趣的Python库绘制风向图,小白容易上手

利用 Python 绘制风向图 绘制风向图通常使用 matplotlib 库的 Barbs 类来实现.这个类用于绘制风向和风速的矢量场,可以实现不同的风向图风格. 安装 ## 命令安装 matplotlib 库:pip install matplotlib用法 下面是一个简单的示例代码,绘制风向图: 使…

虚拟现实环境下的远程教育和智能评估系统(十三)

管理/教师端前端工作汇总education-admin: 首先是登录注册页面的展示 管理员 首页 管理员登录后的首页如下图所示 管理员拥有所有的权限 课程管理 1、可以查看、修改、增添、删除课程列表内容 2、可以对课程资源进行操作 3、可以对课程的类别信息进行管理&…

java的输出流File OutputStream

一、字节输出流FileOutput Stream 1、定义 使用OutputStream类的FileOutput Stream子类向文本文件写入的数据。 2.常用构造方法 3.创建文件输出流对象的常用方式 二、输出流FileOutputStream类的应用示例 1.示例 2、实现步骤 今天的总结就到此结束啦,拜拜&#x…

【Web APIs】DOM 文档对象模型 ⑤ ( 获取特殊元素 | 获取 html 元素 | 获取 body 元素 )

文章目录 一、获取特殊元素1、获取 html 元素2、获取 body 元素3、完整代码示例 本博客相关参考文档 : WebAPIs 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/APIgetElementById 函数参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/API/Document/getE…

I2C总线8位IO扩展器PCF8574

PCF8574用于I2C总线的远程8位I/O扩展器 PCF8574国产有多个厂家有替代产品,图示为其中一款HT8574 1 产品特点 低待机电流消耗:10 uA(最大值) I2C 转并行端口扩展器 漏极开路中断输出 与大多数微控制器兼容 具有大电流驱动能力的闭…

嵌入式系统中的加解密签名

笔者来了解一下嵌入式系统中的加解密 1、背景与名词解释 笔者最近在做安全升级相关的模块,碰到了一些相关的概念和一些应用场景,特来学习记录一下。 1.1 名词解释 对称加密:对称加密是一种加密方法,使用相同的密钥(…

IDEA各种实体类运行爆红,不运行就没事

1.问题描述 如图所示,后端项目的import的各种entity爆红,点击也有导入包的提示,且这种报红几乎遍布了整个工程项目 2.我的解决方案 清空缓存,然后把target文件删掉,重新跑 3.小结 idea项目有时候就是一个核弹&…

风险评估概念

渗透服务只是风险评估的一种内容 风险评估的概念 是识别,控制,降低,或者消除可能影响到信息系统的安全风险过程。 风险评估的定义: 就是量化测评一种事情带来的影响,整个量化的过程是偏主观化(客户觉得) 风险的特…

PAL: Program-aided Language Models

PAL: Program-aided Language Models ArXiv:https://arxiv.org/pdf/2211.10435 GitHub:https://reasonwithpal.com/ 一、动机 大模型与Chain-of-Thought可以很好地将一些复杂的问题分解为若干个子问题并进行逐步推理;但是对于一些较为复杂…

[技术笔记] 元器件采购之Flash的国内、外厂商Top5

国外Top5 1、Micron(镁光)半导体 2、Toshiba(东芝) 3、Hynix(海力士) 4、Samsung(三星) 5、Intel(因特尔) 6、SanDisk(闪迪) 7…

【Unity】AssetBundle打包策略

【Unity】AssetBundle打包策略 在游戏开发过程中,AssetBundle(AB)打包策略的重要性不容忽视。游戏开发者往往手动设置游戏资源包名进行管理,难免会造成资源确实或导致冗余,因此对于AB包的打包流程来说,进行策略管理显得十分重要。…

DAY11-力扣刷题

1.最小路径和 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 64. 最小路径和 - 力扣(LeetCode) class Solution {p…

Git 中 pull 操作和 rebase 操作的不同

由于在开发过程中,pull 操作和 rebase 操作都是用来合并分支的,所以我就常常分不清这两个操作具体有什么区别,所以才有了这篇博客来做个简单区分,具体细致差别还请移步到官方文档:Git - Reference (git-scm.com) 1&am…

HCIA 18 结束 企业总部-分支综合实验(上)

1.实验介绍及拓扑 (1)总部和分支机构都可以上互联网访问8.8.8.8; (2)总部和分支机构使用广域网专线互访作为主线,并且通过互联网建立GRE隧道互访作为备线; (3)总部内为…

【pytorch06】 维度变换

常用API view/reshapesqueeze/unsqueezetranspose/t/permuteexpand/repeat view和reshape view操作的基本前提是保证numel()一致 a.view(4,28*28)的物理意义是把行宽以及通道合并在一起,对于4张图片,我们直接把所有数据都合在一起,用一个7…

预备资金有5000-6000买什么电脑比较好?大学生电脑选购指南

小新pro14 2024 处理器:采用了英特尔酷睿Ultra5 125H或Ultra9 185H两种处理器可选,这是英特尔最新的高性能低功耗处理器,具有18个线程,最高可达4.5GHz的加速频率,支持PCIe 4.0接口,内置了强大的ARC核芯显卡…