【RDMA】技术详解(三):理解RDMA Scatter Gather List|聚散表

本文详细介绍了RDMA编程中的Scatter Gather List (SGL)概念,包括SGE(Scatter/Gather Element)的组成,如何使用ibv_post_send接口将SGL提交到RDMA硬件,以及RDMA如何通过SGL进行Scatter和Gather操作。内容涵盖SGL的作用、ibv_send_wr结构和RDMA工作请求的提交流程。
摘要由CSDN通过智能技术生成

目录

1. 前言

2. SGE简介

2. ibv_post_send接口

3. ibv_send_wr结构

4. RDMA 提交WR流程

4.1 第一步:创建SGL

4.2 第二步:使用PD进行内存保护

4.3 调用ibv_post_send()将SGL发送到wire上去

附录一: OFED Verbs

下一章


【RDMA】RDMA 学习资料总目录_bandaoyu的笔记-CSDN博客SavirRDMA 分享1. RDMA概述https://blog.csdn.net/bandaoyu/article/details/112859853https://zhuanlan.zhihu.com/p/1388747382. 比较基于Socket与RDMA的通信https://blog.csdn.net/bandaoyu/article/details/1128613993. RDMA基本元素和编程基础https://blog.csdn.net/bandaoyu/article/de.

原文:RDMA技术详解(三):理解RDMA Scatter Gather List_Master-TJ的个人博客-CSDN博客

1. 前言

在使用RDMA操作之前,我们需要了解一些RDMA API中的一些需要的值。其中在ibv_send_wr我们需要一个sg_list的数组,sg_list是用来存放ibv_sge元素,那么什么是SGL以及什么是sge呢?对于一个使用RDMA进行开发的程序员来说,我们需要了解这一系列细节。


2. SGE简介

在NVMe over PCIe中,I/O命令支持SGL(Scatter Gather List 分散聚合表)和PRP(Physical Region Page 物理(内存)区域页), 而管理命令只支持PRP;而在NVMe over Fabrics中,无论是管理命令还是I/O命令都只支持SGL。

RDMA编程中,SGL(Scatter/Gather List)是最基本的数据组织形式。 SGL是一个数组,该数组中的元素被称之为SGE(Scatter/Gather Element),每一个SGE就是一个Data Segment(数据段)。RDMA支持Scatter/Gather操作,具体来讲就是Scatter:RDMA可以支持一个连续的Buffer空间,进行分散到目的主机的多个不连续的Buffer空间。Gather指的就是多个不连续的Buffer空间,可以Gather到目的主机的一段连续的Buffer空间

下面我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值