
RDMA
文章平均质量分 94
RDMA
bandaoyu
这个作者很懒,什么都没留下…
展开
-
【网络】超以太网联盟 UEC|Ultra Ethernet|下一代 “RoCE” 协议--编辑中
Tail latency: 尾部延迟,(以通信阶段最后一条消息的到达时间为衡量标准)是系统性能的关键指标。UET: 超级以太传输协议。UEC: 超级以太联盟。原创 2024-12-22 16:01:16 · 607 阅读 · 0 评论 -
【RDMA】RDMA read和write编程实例(IB verbs)
为简洁起见(并说明它们几乎相同),此示例的代码合并了上一组帖子中的许多客户端和服务器代码(common.c中),客户端 (rdma-client) 和服务器 (rdma-server) 继续运行不同的 RDMA 连接管理器循环处理事件(RDMA connection manager event loops),但它们相同的verbs 代码部分——轮询 CQ、发送消息、发布 RDMA 操作等共用一份代码。等待 MSG_DONE 是必要的,否则我们可能会在对等方(peer)的 RDMA 操作完成之前关闭连接。原创 2024-12-04 17:07:56 · 1650 阅读 · 0 评论 -
【RDMA】固件工具 Firmware Tools (MFT)和用法
一套调试工具(例如,itrace、fwtrace、mlxtrace、mlxdump、mstdump、mlxmcg、wqdump、mcra、mlxi2c、i2c、mget_temp 和 pckt_drop)这个工具可以把固件镜像或扩展ROM镜像烧录到NVIDIA网卡/网关/交换机设备的闪存中。* 将镜像烧录到附加在NVIDIA HCA或交换机设备上的Flash/EEPROM。* 生成标准或定制的NVIDIA固件镜像以供烧录(以二进制或.mlx格式)以下是MFT中可用工具的列表,以及每个工具的简要描述。原创 2024-09-22 00:46:14 · 1556 阅读 · 0 评论 -
【RDMA】设置网卡默认PFC和ECN-在DSCP基于QoS模式下为Linux驱动程序配置ROCE
本文提供了在安装了MLNX_OFED和Mellanox设备的情况下,针对丢包网络中运行RoCE的DSCP-based QoS模式的配置示例。在使用RDMA-CM时,可以为由RDMA-CM创建的QP设置QoS参数。[可选] 为所有RoCE流量设置ToS为106(DSCP 26)(注:此命令是非持久的)[可选] 将RDMA-CM的ToS设置为106(DSCP 26)(注:此命令是非持久的)[可选] 启用TCP流量的ECN功能(注:此命令是非持久的) 是指mlx设备(例如mlx5_0)原创 2023-07-09 10:43:52 · 3477 阅读 · 0 评论 -
【RDMA】RDMA编程入门--编辑中
作者:bandaoyu 本文随时更新,地址:首先应该先了解RDMA:https://blog.youkuaiyun.com/bandaoyu/article/details/112859853RDMA 学习资料总目录:https://blog.youkuaiyun.com/bandaoyu/article/details/120485737本文所讲述的主要是IBoE的RDMA编程,主要是ROCE、iWrap,与IB可能略有不同。关键词:点对点通信、QP(SQ+RQ)、CQ、*QERDMA提供了基于消息队列的点对点通信,每个应用原创 2022-07-08 17:39:05 · 5543 阅读 · 3 评论 -
【RDMA】20. RDMA之Pyverbs(Python Verbs)
【RDMA】RDMA 学习资料总目录_bandaoyu的博客-优快云博客SavirRDMA 分享1. RDMA概述https://blog.youkuaiyun.com/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.youkuaiyun.com/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blo转载 2022-06-11 14:34:54 · 1294 阅读 · 0 评论 -
【RDMA】23. RDMA之基于CM API的QP间建链--未消化
作者:Savir链接:https://zhuanlan.zhihu.com/p/494826608来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 原创文章,欢迎非商业转载及引用,转载及引用请注明出处。我们在前面的文章“RDMA之基于Socket API的QP间建链”中介绍了RDMA Queue Pair间基于Socket API的建链方式。Socket API学习成本低,使用也很方便,但是对于使用Infiniband协议的节点来说,这是一种“带外”的建链方式。所谓“带转载 2022-06-11 14:27:58 · 1824 阅读 · 0 评论 -
【RDMA】22. RDMA之基于Socket API的QP间建链
本文欢迎非商业转载及引用,转载及引用请注明出处。建链,即建立链接(或者连接)。在RDMA技术中,本端和对端的QP之间在建立连接之后才可以通过RDMA协议进行数据交换。我们可以认为建链是正式进行RDMA通信之前所必须进行的准备工作,在建链的过程中,两个节点间会通过某些方式交换一些用于之后的RDMA通信所必须的参数。本文将向大家介绍RDMA建链的目的,并重点讲解基于Socket API的建链方式,包括建链流程、建链交互的内容等等。最后我们将做一个实验,通过基于libibverbs库编写的示例程序、结合抓包巩固本转载 2022-06-11 14:25:51 · 2672 阅读 · 1 评论 -
【RDMA】21. RDMA之内存地址基础知识
【RDMA】RDMA 学习资料总目录_bandaoyu的博客-优快云博客SavirRDMA 分享1. RDMA概述https://blog.youkuaiyun.com/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.youkuaiyun.com/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blo转载 2022-06-11 14:22:27 · 1850 阅读 · 0 评论 -
【RDMA】19. RDMA之iWARP & Soft-iWARP
【RDMA】RDMA 学习资料总目录_bandaoyu的博客-优快云博客SavirRDMA 分享1. RDMA概述https://blog.youkuaiyun.com/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.youkuaiyun.com/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blo转载 2022-06-11 14:19:25 · 2167 阅读 · 0 评论 -
【RDMA】18. RDMA之MPA(Marker PDU Aligned framing)
【RDMA】RDMA 学习资料总目录_bandaoyu的博客-优快云博客SavirRDMA 分享1. RDMA概述https://blog.youkuaiyun.com/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.youkuaiyun.com/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blo转载 2022-06-11 14:16:10 · 920 阅读 · 0 评论 -
【RDMA】17. RDMA之RDMAP(Remote Direct Memory Access Protocol)--未消化
RDMA】RDMA 学习资料总目录_bandaoyu的笔记-优快云博客SavirRDMA 分享1. RDMA概述https://blog.youkuaiyun.com/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.youkuaiyun.com/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blog转载 2022-06-11 14:13:06 · 1037 阅读 · 0 评论 -
【网络】UCX(Unified Communication X )|统一抽象通信接口
UCX 的全称是 Unified Communication X。正如它名字所展示的,UCX 旨在提供一个统一的抽象通信接口,能够适配任何通信设备,并支持各种应用的需求。下图是 UCX 官方提供的架构图:可以看到,UCX 整体分为两层:上层的 UCP 接口和底层的 UCT 接口。底层的 UCT 适配了各种通信设备:从单机的共享内存,到常用的 TCP Socket,以及数据中心常用的 RDMA 协议,甚至新兴的 GPU 上的通信,都有很好的支持。上层的 UCP 则是在 UCT 不同设备的基础上,封装了更抽象的原创 2022-06-09 17:06:04 · 9872 阅读 · 2 评论 -
【verbs】使用ibverbs api注意事项|libibverbs 中 fork() 支持的状态如何?
问:libibverbs 中 fork() 支持的状态如何?是否仍然如下面的中描述:https://www.csm.ornl.gov/workshops/openshmem2014/documents/presentations_and_tutorials/Tutorials/Verbs%20programming%20t…https://www.csm.ornl.gov/workshops/openshmem2014/documents/presentations_and_tutorials...转载 2022-04-21 17:39:34 · 1469 阅读 · 0 评论 -
RDMA 架构与实践(技术详解(一):RDMA概述)
RDMA 架构与实践 | https://houmin.cc/posts/454a90d3/RDMA,即Remote Direct Memory Access,是一种绕过远程主机OS kernel访问其内存中数据的技术,概念源自于DMA技术。在 DMA 技术中,外部设备(PCIe 设备)能够绕过 CPU 直接访问host memory;而 RDMA 则是指外部设备能够绕过 CPU,不仅可以访问本地主机的内存,还能够访问另一台主机上的用户态内存。由于不经过操作系统,不仅节省了大量 CPU 资源......转载 2022-04-14 02:29:44 · 8943 阅读 · 3 评论 -
【RDMA】qp数量和RDMA性能(节选翻译)|连接数
https://icnp21.cs.ucr.edu/papers/icnp21camera-paper30.pdf 在现代云数据中心中,大规模分布式应用通常构建在许多机器上,需要使用大量并发连接进行频繁的网络通信[4]–[6]。但是,RDMA的性能会随着连接数的增加而降低。我们的测试台测量(图1)表明,即使是最新的RNIC要保持峰值性能最多能支持450个并发连接,(详细设置见§II-B)从本质上讲,RDMA可扩展性以上的问题是CPU减负的副作用。为了在不涉及主机CPU的情况下完成网络传输和.翻译 2022-02-15 16:48:22 · 4491 阅读 · 0 评论 -
【网络】TOE、RDMA、smartNIC 是什么和区别|DPU
目录TOE、RDMA、smartNIC 简介TOE(TCP/IP Offload Engine)RDMASmartNIC区别TOE、RDMA、smartNIC详细说明TOE(TCP/IP Offload Engine)RDMASmartNIC摘抄和参考列表TOE、RDMA、smartNIC 简介TOE(TCP/IP Offload Engine)简介:通过网卡上专用处理器来完成一些或所有数据包的相关协议计算任务,以减轻系统负载,包括TCP在内的四层原创 2022-02-10 21:05:32 · 9095 阅读 · 0 评论 -
【PFC】PFC使能 H3C交换机设置和主机设置--编辑中
H3C交换机设置主机设置mellonx RDMA网卡https://blog.youkuaiyun.com/bandaoyu/article/details/117715099intel RDMA网卡---------------------文档《Intel® Ethernet 800 Series Linux Flow Control》X722:The X722 adapter supports only link-level flow control (LFC).E原创 2022-01-08 16:52:04 · 4533 阅读 · 0 评论 -
【翻译】 Intel(R) 800 Series序列网卡 ice 驱动安装
概述========此驱动程序支持内核版本3.10.0及更新版本。但是,有些功能可能需要更新的内核版本。关联的虚拟功能(VF)驱动程序对于这个驱动程序,是iavf。可以使用ethtool、lspci和ip获取驱动程序信息。更新ethtool时,说明书可在在本文件中稍后的“附加配置”部分中找到。目前仅支持将此驱动程序作为可加载模块。英特尔不是针对内核源提供补丁。有关硬件要求的问题,请参阅随英特尔适配器提供的文档。列出的所有硬件要求均适用于Linux。此驱动程序支持内核4.14及更高版本翻译 2022-01-08 15:30:42 · 4519 阅读 · 0 评论 -
【verbs】IBV_WR API(3) Libibverbs Programmer’s Manual
阅读源码的时候,发现一些陌生 api,如ibv_wr_send。搜索后才发现是一些dev的api/testing/libibverbs-dev/ ibv_wr_send(3)源文:ibv_wr_send(3) — libibverbs-dev — Debian testing — Debian Manpages描述verbs API (ibv_wr_*) 允许使用函数调用而不是基于结构的 ibv_post_send() 方案将工作高效地发布到发送队列。这种方法旨在最大限度...原创 2021-12-11 15:37:27 · 1279 阅读 · 0 评论 -
【RDMA】RDMA编程和TCP编程的区别|bRPC
RDMARDMA和TCP编程差别Socket APIVerbs API百度bRPCRDMA想从根本上解决CPU参与网络传输的低效问题,就要更多地借助专用芯片的能力,RDMA高性能网络势不可挡。RDMA(Remote Direct Memory Access),可以简单理解为网卡完全绕过CPU实现两个服务器之间的内存数据交换。其作为一种硬件实现的网络传输技术,可以大幅提升网络传输效率,帮助网络IO密集的业务(比如分布式存储、分布式数据库等)获得更低的时延以及更高的吞吐。具体来.原创 2021-01-20 17:43:18 · 3975 阅读 · 2 评论 -
【RDMA】降CPU除RDMA (vbers)还有VMA ?|使用socket进行RDMA编程?
前言看介绍,像是mellonx针对其kernel bypass网卡(RDMA网卡)提供的一个lib库,该lib库对外提供socket api,使得用户的程序不需要修改就可以直接使用kernel bypass网卡(如RDMA网卡)。我们都知道RDMA 网卡目前使用的是rdma_cm和vbers api编程,和socket不一样,如果能用socket对RDMA编程,那确实是很大的利好。官网介绍什么是VMA?Mellanox Interconnect Community官方介绍:M原创 2021-10-12 17:01:01 · 2131 阅读 · 0 评论 -
【RDMA】RDMA编程:事件通知机制
RDMA通过kernel-bypass和协议栈offload两大核心技术,实现了远高于传统TCP/IP的网络通信性能。尽管RDMA的性能要远好于TCP/IP,但目前RDMA的实际落地业务场景却寥寥无几,这其中制约RDMA技术大规模上线应用的主要原因有两点:主流互联网公司普遍选择RoCE(RDMA over Converged Ethernet)作为RDMA部署方案,而RoCE本质上是RDMA over UDP,在网络上无法保证不丢包。因此RoCE部署方案需要额外的拥塞控制机制来保证底层的无损网络,如PF转载 2021-10-12 14:44:14 · 2150 阅读 · 0 评论 -
【RDMA】优化 RDMA 代码的提示和技巧
RDMA is used in many places, mainly because of the high performance that it allows to achieve. In this post, I will provide tips and tricks on how to optimize RDMA code in several aspects.General tipsAvoid using control operations in the data pathUnl翻译 2021-10-11 22:10:35 · 2371 阅读 · 0 评论 -
【vbers】libibverbs 线程安全级别|libibverbs thread safe level
让我们从底线开始:verbs API 是完全线程安全的,并且可以从进程中的每个线程调用verbs。线程安全的一部分在 libibverbs 级别实现,一部分在底层驱动程序库级别实现。甚至可以从不同的线程处理相同的资源(操作的原子性得到保证)。支持的多线程操作包括但不限于:使用 RDMA 设备打开上下文。 读取异步事件 - 每个事件将由一个线程准确读取。 确认异步事件。 创建与同一对象(Context、PD、CQ、SRQ)相关联的 RDMA 资源。(libibverbs 能)保证每个新创建的翻译 2021-10-09 11:20:17 · 563 阅读 · 0 评论 -
【verbs】ibv_req_notify_cq()
ibv_req_notify_cq() - RDMAmojo RDMAmojo描述ibv_req_notify_cq() 在完成队列 (CQ) 上请求完成通知。ibv_req_notify_cq() 请求 (把)被添加到CQ的WC生成一个(能被ibv_get_cq_event() 读取的)通知。(bv_req_notify_cq()requests a notification when the next Work Completion of a requested type is adde..原创 2021-10-07 21:50:44 · 1340 阅读 · 0 评论 -
【verbs】ibv_get_async_event()
原文:ibv_get_async_event() - RDMAmojo RDMAmojo描述ibv_get_async_event() 读取 RDMA 设备上下文context的下一个异步事件。在调用 ibv_open_device() 之后,所有异步事件都被加入到这个上下文中,并且调用 ibv_get_async_event() 将按照它们的顺序一个一个地读取它们。即使 ibv_get_async_event() 在事件生成后很长时间被调用,它仍然会首先读取较旧的事件。不幸的是,事件没有任何时原创 2021-10-07 20:58:11 · 1012 阅读 · 0 评论 -
【verbs】ibv_create_comp_channel()
原文:ibv_create_comp_channel() - RDMAmojo RDMAmojo描述ibv_create_comp_channel() 为 RDMA 设备上下文创建完成事件通道。这个 Completion event channel是 libibverbs(库) 引入的抽象,在 InfiniBand 架构verbs规范或 RDMA 协议verbs规范中不存在。 Completion event channel本质上是文件描述符,用于向用户空间进程传递工作完成通知。当为完成队列 ..原创 2021-10-07 15:12:38 · 934 阅读 · 0 评论 -
【RDMA】技术详解(二):Send Receive操作
原文:https://blog.youkuaiyun.com/qq_21125183/article/details/865250121. 前言RDMA指的是远程直接内存访问,这是一种通过网络在两个应用程序之间搬运缓冲区里的数据的方法。RDMA与传统的网络接口不同,因为它绕过了操作系统。这允许实现了RDMA的程序具有如下特点:绝对的最低时延 最高的吞吐量 最小的CPU足迹 (也就是说,需要CPU参与的地方被最小化)2. RDMA Verbs操作使用RDMA, 我们需要有一张实现了RDMA引擎原创 2021-01-20 10:55:31 · 4810 阅读 · 1 评论 -
【RDMA】16. RDMA之DDP(Direct Data Placement)
原文:14. RDMA之Memory Window - 知乎本文欢迎转载,转载请注明出处。前一段时间比较忙所以没有更新专栏,只是对一些读者的疑问进行了回复,近期开始恢复更新。最近在研究iWARP的实现,就先写一下它的各层协议吧,iWARP的综述篇可能会晚于各层协议完成。Direct Data Placement,简称为DDP,是iWARP协议栈的核心成员。DDP协议在TCP/SCTP之上实现了了RDMA技术中的零拷贝,即在通信过程中,使接收端的硬件可以直接把收到的数据放置到用户空间的Buffer转载 2021-09-26 11:37:54 · 1391 阅读 · 0 评论 -
【RDMA】15. RDMA之RoCE & Soft-RoCE
原文:本文欢迎转载,转载请注明出处阅读本文前建议温习“RDMA概述”一文,了解下RDMA领域的基本概念。我已经在基本概念篇里面跟大家对本领域的基本知识进行了科普,在对于基本的宏观概念有了认识之后,我们就可以开始更深入的研究RDMA的实现细节了。协议本身比较抽象,对着IB规范照本宣科估计大家也很难理解,最好的方式莫过于一边做一边学了。但是支持RDMA的网卡都比较昂贵,拿Mellanox(现在是NVIDIA)来说,在其官网上最新一代支持Infiniband的网卡——ConnectX-6最便宜的单转载 2021-09-26 11:35:24 · 2421 阅读 · 0 评论 -
【RDMA】14. RDMA之Memory Window
原文:14. RDMA之Memory Window - 知乎本文是“RDMA杂谈”专栏文章的第14篇,欢迎转载,转载请注明出处。我们在Memory Region一文中介绍过Memory Region,它是一片由用户注册的特殊的内存区域:一方面其中的内容不会被换页到硬盘中,另一方面RDMA网卡中记录了它的地址转换关系,使得硬件拿到用户指定在WR中的虚拟地址之后找到对应的物理地址。本文我们来讲解Memory Window的概念,它是一种基于Memory Region的、更灵活的内存管理单元。除了原创 2021-09-26 11:27:24 · 3645 阅读 · 1 评论 -
【RDMA】7. RDMA之Protection Domain
原文:https://zhuanlan.zhihu.com/p/159493100前文我们简单介绍了RDMA中最常见的一些资源,包括各种Queue,以及MR的概念等等。MR用于控制和管理HCA对于本端和远端内存的访问权限,确保HCA只有拿到正确Key之后才能读写用户已经注册了的内存区域。为了更好的保障安全性,IB协议又提出了Protection Domain(PD)的概念,用于保证RDMA资源间的相互隔离,本文就介绍一下PD的概念。PD是什么PD全称是Protection Domain,意为"保原创 2021-01-25 15:38:13 · 1874 阅读 · 0 评论 -
【RDMA】8. RDMA之Address Handle
原文:https://zhuanlan.zhihu.com/p/163552044前面已经介绍过,RDMA通信的基本单元是QP。我们来思考一个问题,假设A节点的某个QP要跟B节点的某个QP交换信息,除了要知道B节点的QP序号——QPN之外,还需要什么信息?要知道,QPN是每个节点独立维护的序号,不是整个网络中唯一的。比如A的QP 3要跟B的QP 5通信,网络中可不止一个QP5,可能有很多个节点都有自己的QP 5。所以我们自然可以想到,还需要找到让每个节点都有一个独立的标识。在传统TCP-IP协议栈中原创 2021-01-25 15:58:33 · 1683 阅读 · 0 评论 -
【RDMA】5. RDMA基本服务类型
我们在“3. RDMA基本元素”一文中提到过,RDMA的基本通信单元是QP,而基于QP的通信模型有很多种,我们在RDMA领域称其为“服务类型”。IB协议中通过“可靠”和“连接”两个维度来描述一种服务类型。可靠通信中的可靠性指的是通过一些机制保证发出去的数据包都能够被正常接收。IB协议中是这样描述可靠服务的:Reliable Serviceprovides a guarantee that messages are delivered from a requester to a responde.原创 2021-01-21 14:27:13 · 2798 阅读 · 1 评论 -
【RDMA】3. RDMA基本元素和编程基础
RDMA技术中经常使用缩略语,很容易让刚接触的人一头雾水,本篇的目的是讲解RDMA中最基本的元素及其含义。我将常见的缩略语对照表写在前面,阅读的时候如果忘记了可以翻到前面查阅。WQWork Queue简称WQ,是RDMA技术中最重要的概念之一。WQ是一个储存工作请求的队列,为了讲清楚WQ是什么,我们先介绍这个队列中的元素WQE(Work Queue Element,工作队列元素)。WQEWQE可以认为是一种“任务说明”,这个工作请求是软件下发给硬件的,这份说明中包含了软件所希望硬件去原创 2021-01-21 14:27:00 · 4293 阅读 · 0 评论 -
【RDMA】2. 比较基于Socket与RDMA的通信
本篇的目的是通过对比一次典型的Socket和RDMA通信,直观的展示RDMA技术相比传统以太网的优势,尽量不涉及协议和软件实现细节。假设本端的某个应用想把自己内存中的数据复制到对端某个应用可以访问的内存中(或者通俗的讲,本端要给对端发送数据),我们来看一下Socket和RDMA的SEND-RECV语义都做了哪些操作。Socket在描述通信过程时的软硬件关系时,我们通常将模型划分为用户层Userspace,内核Kernel以及硬件Hardware。Userspace和Kernel实际上使用的是同一原创 2021-01-21 14:26:48 · 2848 阅读 · 1 评论 -
【RDMA】11. RDMA之Shared Receive Queue
我们曾在【3. 基本元素】中简单介绍了SRQ的概念,本文将带大家了解更多关于SRQ的细节。基本概念什么是SRQ全称为Shared Receive Queue,直译为共享接收队列。我们知道,RDMA通信的基本单位是QP,每个QP都由一个发送队列SQ和接收队列RQ组成。SRQ是IB协议为了给接收端节省资源而设计的。不同于每个QP都拥有一个独立的RQ,我们可以把一个RQ共享给所有关联的QP使用,这个公用的RQ就称为SRQ。当与其关联的QP想要下发接收WQE时,都填写到这个SRQ中。然后每当硬件接收原创 2021-01-25 16:36:07 · 2140 阅读 · 2 评论 -
【RDMA】6. RDMA之Memory Region
原文:https://zhuanlan.zhihu.com/p/156975042我们假设一种场景,同时也顺便温习一下RDMA WRITE操作的流程:如下图所示,A节点想要通过IB协议向B节点的内存中写入一段数据,上层应用给本节点的RDMA网卡下发了一个WQE,WQE中包含了源内存地址、目的内存地址、数据长度和秘钥等信息,然后硬件会从内存中取出数据,组包发送到对端网卡。B节点的网卡收到数据后,解析到其中的目的内存地址,把数据写入到本节点的内存中。那么问题来了,APP提供的地址都是虚拟地址(V原创 2021-01-21 14:25:55 · 3360 阅读 · 1 评论 -
【RDMA】13. RDMA之用户态与内核态交互
原文:https://zhuanlan.zhihu.com/p/346708569在“RDMA之Verbs”一文中我们说道,Verbs API分为用户态和内核态,分别以ibv_和ib_作为前缀。RDMA技术的最大的优势就在于用户态可以绕过内核,直接控制硬件收发数据,减少了系统调用和内存拷贝次数,所以大部分的RDMA应用都是用户态应用,即使用以ibv_为前缀的用户态Verbs API。但是并非所有的用户态Verbs API都可以完全绕开内核,本文中我来讲解一下哪些API依赖于内核RDMA子系统(包括驱原创 2021-01-25 17:36:35 · 3553 阅读 · 4 评论