当前位置: 首页 > news >正文

RDMA通信---对比传统socket通信的优势

Socket通信过程

传统的Socket在将数据由一端发送至另一端会经历以下流程:

(1)用户空间中产生数据,CPU把数据从用户空间转移至内核空间;此过程发生一次拷贝、一次用户态/内核态转换,且都由CPU主导完成。

(2)当数据到达内核空间后,CPU负责对数据进行封装,添加TCP、IP头,添加校验信息。

(3)接着以太网卡通过DMA将内核空间中数据拷贝到发送端网卡内存缓存区。

(4)发送端网卡将数据通过物理链路发送到接收端网卡。

(5)接收端网卡收到数据后通过DMA将数据从接收端网卡内存缓存区拷贝到内核缓冲区。

(6)CPU在内核态中对数据进行解析和校验。

(7)CPU将数据由内核空间拷贝到用户空间。

由以上过程可以看出,完成一次数据发送,需要完成两次用户态\内核态切换,两次数据拷贝且都需要CPU参与,对CPU造成负担,增加传输时延。

那么为何要完成数据由用户空间拷贝至内存空间这个操作呢?

因为传统的网卡DMA操作时,要求数据在物理空间必须是连续的,而用户空间中的地址是虚拟地址是由物理地址映射得来的,虚拟地址是连续的但是物理地址可能是碎片化的,这会影响内核操作的安全性和可靠性,因此转发数据时必须将数据拷贝到内核可控的内存区域。

RDMA通信过程

利用RDMA网卡通信时则经历一下流程:
(1)RDMA网卡将数据由用户空间拷贝到网卡发送缓存区,对数据进行封装,添加头部信息、校验信息。

(2)发送端网卡将数据通过物理链路发送至接收端网卡。

(3)接收端网卡收到信息后对数据进行报文解析、校验,通过DMA将数据拷贝到用户空间。

RDMA通信方式优缺点

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

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

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

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

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

http://www.dtcms.com/a/615069.html

相关文章:

  • 广东三网合一网站建设报价网站数据库有哪些
  • 辽宁省住房城乡建设厅网站网页图片不能保存怎么破解
  • VS2022添加c++20
  • 易语言做钓鱼网站资阳seo快速排名
  • 网站网站开发建设定制高端网站
  • 企业网站开发目的和意义如何建立网站详细流程
  • 你的电视 2.2.5 | 功能丰富的直播软件,提供广泛的频道选择,满足全家人的娱乐需求
  • 广州网站建设商phpcms 后台修改修改网站备案号
  • dw网站模板怎么开发自己的个人网页
  • 红酒网站制作wordpress演示版
  • 电子商务型网站西安建筑网站建设
  • geohash入门指南
  • 二叉树的拓展:平衡二叉树(定义,朴素c语言实现增删改查,平衡因子判断)通俗易懂
  • 济南cms建站网站建设无锡
  • 为什么“电”在高速通讯上不行了?
  • 建设工程行业招工信息网站网站整体建设方案
  • 【杂谈】-2026:智能体AI的治理新挑战与机遇
  • 德州网站设计深圳网站 制作信科便宜
  • 什么是协程
  • 积木城堡-DP
  • 魔兽做图下载网站wordpress切换语言 语言包
  • chrony组件和NTP组件的区别
  • 网站开发 相册wordpress熊掌
  • 计算机组成原理 刘宏伟 第六章 计算机的运算方法(下)
  • C语言编译软件文档 | 提供完整功能与使用指南,帮助开发者高效编译程序
  • 在线网站排名工具积分商城系统
  • 个人网站开发多少钱wordpress钩子大全
  • 在FreeBSD 14.3上部署轻量级Linux jail环境 仅仅占用10M内存
  • 室内设计师是干嘛的快速优化seo软件推广方法
  • Datawhale:吴恩达Post-training of LLMs,学习打卡4