RDMA编程杂记

news2024/11/19 5:42:51

目录

  • 编程杂记
    • 什么是P_Key
    • 建链
      • 基于Socket API的建链
      • 基于CM API的建链

编程杂记

什么是P_Key

P_Key(Partition Key)用于提供InfiniBand网络的隔离机制,只有在一个分区内的节点可以互相通信。

P_Key是一个16位的值,有两部分

  1. msb位:membership bit,0表示limitied membership,1表示full membership
  2. 低15位是定义分区的key

只有具有同样key的QP才可以通信,而且至少一个QP是这个分区的full member。

P_Key在所有通信类型中都存在,不论RC,UD

建链

基于Socket API的建链

  1. 通过Socket连接交换信息,例如在RC Send中,需要交换GID、QPN信息
  2. 调用ibv_modify_qp函数改变QP状态,将SQ改为RTS状态,将RQ改为RTR状态。在更改状态时,把GID、QPN信息写入QPC(RC)

基于CM API的建链

介绍RC QP的CM建链流程:
在这里插入图片描述

  1. 首先Client端要发起一个REQ(Request)消息,表示一个连接请求,消息的报文中携带有连接参数,比如本端要连接的QP的QPN、起始PSN、重传次数上限等等。
  2. Server端在Client端发起连接请求前就一直处于监听状态,当它监听到连接请求后,CM层会对连接参数进行校验和记录。校验通过后,Server端会发送REP(Reply)消息,表示接受之前的连接请求,并且在消息报文中携带自己的连接参数(QPN、起始PSN等)。
  3. Client端收到REP消息后,将对其中的内容进行校验和记录,然后发送一个RTU(Ready To Use)消息,表示同意你的参数,可以利用双方约定好的QP进行数据交互了。

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

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

相关文章

第五章React路由

文章目录 一、React的基本使用1-1、react-router-dom1-1-1、react-router-dom基本使用 1-2、一般组件与路由组件1-3、NavLink1-4、封装自己的组件--MyNavLink1-5、Switch的使用1-6、多级地址样式失效问题1-7、模糊匹配1-8、严格匹配1-9、Redirect重定向1-10、嵌套路由1-11、向路…

Spring学习笔记3 Spring对IOC的实现

Spring学习笔记2 Spring的入门程序_biubiubiu0706的博客-CSDN博客 控制反转是一种思想 控制反转是为了降低程序耦合度,提高程序扩展力,达到OCP(开闭原则)原则,达到DIP(依赖倒置原则)原则 控制反转,反转的是什么? 1.将对象的创建权力交出去,交给第三方容器负责 2.对象与对象…

1990-2021年全国31个省人口相关统计面板数据

1990-2021年全国31个省人口相关统计面板数据 1、时间:1990-2021年 2、来源:各省统计年鉴 3、指标:省份代码、年份、省份名称、省份名称、常住人口数、年末常住人口 0-14岁人口数、15-64岁人口数、65岁及以上人口数、6岁及以上人口&#x…

【精品资源】Java毕业设计攻略:从选题到答辩,一站式指南

导读: Java毕业设计是计算机科学与技术专业学生展示其编程能力、问题解决能力和创新思维的重要环节。这篇博客将为您提供一站式的Java毕业设计攻略,帮助您从选题到答辩,顺利完成毕业设计。 一、选题阶段 寻找灵感: 探讨热门技术如…

【Linux】Linux环境基础开发工具使用

Linux安装软件: 源代码安装rpm安装-- Linux安装包yum安装–解决安装源,安装版本,安装依赖 目录 一、Linux 软件包管理器 yum1.查看安装包2.安装软件3.删除软件一些有趣的软件的安装👻1.sl 二、vim编辑器1.使用vim1.模式转换2.命令模式2.底行模…

软件设计模式系列之十三——享元模式

1 模式的定义 享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少内存占用或计算开销,通过共享大量细粒度对象来提高系统的性能。这种模式适用于存在大量相似对象实例,但它们的状态可以外部化(e…

人工神经网络ANN:数学总结

一、内容 径向基函数(Radial basis function,RBF):一个取值仅依赖于到原点距离的实值函数,即。此外,也可以按到某一中心点c的距离来定义,即。 可以用于许多向函基数的和来逼近某一给定的函数&a…

SpringBoot使用@Async异步注解

首先,想一想为什么使用异步线程? 举个例子: 当我们请求这个接口的时候,在接口调用了method这个方法 然而被调用的方法执行了一个线程睡眠三秒 因为method方法睡眠了三秒钟,所以这个接口响应的时间肯定是大于三秒。因为接口是从上往下执行的,首先会在控制台输出一…

微信小程序python+nodejs+php+springboot+vue 讲座预约系统

讲座预约管理系统的用户是系统最根本使用者,按需要分析系统包括用户:学生、管理员。 管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括学生信息管理和文章公告管理。讲座公告管理,添加讲座公告信息…

Swift SwiftUI 隐藏键盘

如果仅支持 iOS 15 及更高版本,则可以通过聚焦和取消聚焦来激活和关闭文本字段的键盘。 在最简单的形式中,这是使用 FocusState 属性包装器和 focusable() 修饰符完成的-第一个存储一个布尔值,用于跟踪第二个当前是否被聚焦。 Code struct C…

洛谷P8815:逻辑表达式 ← CSP-J 2022 复赛第3题

【题目来源】https://www.luogu.com.cn/problem/P8815https://www.acwing.com/problem/content/4733/【题目描述】 逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值、逻辑运算、逻辑运算优先级等内容。 在一个逻辑表达式中,元素的值只有两种可能&a…

JDBC MySQL任意文件读取分析

JDBC MySQL任意文件读取分析 文章首发于知识星球-赛博回忆录。给主管打个广告,嘿嘿。 在渗透测试中,有些发起mysql测试流程(或者说mysql探针)的地方,可能会存在漏洞。在连接测试的时候通过添加allowLoadLocalInfileInPath,allowLoadLocalInf…

分类预测 | MATLAB实现WOA-CNN-GRU-Attention数据分类预测

分类预测 | MATLAB实现WOA-CNN-GRU-Attention数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-GRU-Attention数据分类预测分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现WOA-CNN-GRU-Attention数据分类预测,运行环境Matlab2021b及以上&…

git学习使用

git使用 1、cmd #查看版本 git version2、初识 Git GUI: Git提供的图形界面工具 Git Bash: Git提供的命令行工具 1.打开Git Bash2.设置自己的用户名和邮箱地址git config --global user.name "xxx"git config --global user.email "123456789163.com"查…

zemaxMIF曲线图

调制传递函数( Modulation Transfer Function,MTF )是用来形容光学系统成像质量的重要指标。 通过对光学系统像空间进行傅里叶变换,可以得到一张分析图表,来描述像面上对比度和空间频率之间的对应关系。 对比度&…

DALL·E 3:大语言模型和文本生图模型的强强联合

1. 概要 就在不久之前,openAI官网发布了DALLE3相关内容,虽然现在还没有开放直接体验DALLE3的途径,但是我们可以先来一览DALLE3的牛逼之处。 相比之前的DALL.E2,DALL.E3对细节方面把握的更好。此外之前的文生图模型对prompt要求比…

Leetcode 2325.解密消息

给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下: 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。将替换表与普通英文字母表对齐,形成对照表。按照对照表 替换 messag…

golang学习笔记(一):基础入门

基础入门 菜鸟教程Go语言环境安装 GoLand开发工具下载 Gin web开发框架 Go 语言流行 ORM 框架 GORM 使用介绍 如何使用Go语言连接分布式MySQL数据库 Go语言依赖搜索网站,类似Maven 添加依赖: 基础知识 1.关键字 go 开启协程执行调用语句/方法。 def…

Spring面试题9:Spring的BeanFactory和FactoryBean的区别和联系

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:说一说Spring的BeanFactory和FactoryBean的区别和联系 区别:BeanFactory是一个工厂接口,主要负责管理和创建Bean实例。它是Spring提供的最底层的…

Centos7虚拟机硬盘扩容 + 修改Docker默认存储位置

文章目录 前言一、Centos7虚拟机硬盘扩容1.1 具体步骤二、修改Docker默认存储位置2.1 挂载目录2.2 修改路径 前言 Vmware 虚拟机开机时提示:虚拟机根目录系统内存不足,可能原因是 /var/lib/docker 目录占用的磁盘空间不够了。本文记录虚拟机磁盘扩容过程…