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

【IB Protocal Serial--WQE】

IB Protocal Serial--WQE

  • 1 Intro
    • 1.1 What
    • 1.2 IBA WQE

本系列文章介绍RDMA技术的具体实现–InfiniBand Protocal;
Introduce the features, capalities,components, and elements of IBA. the principles of operation.

1 Intro

1.1 What

理解IB协议下面这三句话对帮助后续IB协议中具体规范有帮助,因为都是围绕着它的目的来做的规范。
An IBA system shoulder responsiblity for connecnting massively parallel supercomputer installation with hundreds of processore and thousands of I/O devices.
IBA aims to dedine a switched communications farbirc allowing many devices to concurrently communicate with high bandwidth and low latecny.
IBA’s advantage is to off-loads from the cpu much of the I/O communication operation.

IBA 处理多计算机环境中 I/O 和 IPC 的数据通信。它支持 I/O 所需的高带宽和可扩展性。它能满足 IPC 所需的极低延迟和低 CPU 开销。有了 IBA,操作系统可以为其客户端提供通信机制,绕过操作系统内核,直接访问 IBA 网络通信硬件,实现高效的消息传递操作。IBA 允许 I/O 单元之间以及与系统中任何或所有处理器节点进行通信。因此,I/O 单元具有与任何处理器节点相同的通信能力。

典型的IBA网络:the endnode can act as a processor node、I/O unit and a router to another network.
 
进一步细化:
在这里插入图片描述

1.2 IBA WQE

IBA运行的基础是异步性,consumer可以将一系列请求排成队列,由硬件执行;用于盛放这些服务请求的队列称为Work Queue. WQ通常是成对创建。Queue Pair:One for send operation and one for receive operation.
Send Queue: 用来保存两个节点内存之间发起数据传输的指令;
Receive Queue: 用来保存在从另一个节点上接收到数据的在哪里存放的指令;

consumer提交send request,会产生一个WQE去放在合适的队列里;Chanel adapter会按照工作队列中的顺序执行WQE,当通道适配器完成一个WQE后,产生一个CQE放在CQ;CQE指定work completion所需的所有信息;


SEND:host侧WQE指定一块本地内存空间发往remote侧,让remote侧决定指定该短内存存放的位置;
rdma_write: host侧指定remote侧的内存空间地址,rdma操作不涉及remote侧的recive WQ;


在实际中,SEND/RECEIVE多用于连接短的控制类报文,而数据报文多是通过READ/WRITE来完成的。
接收WQE指定顶尖把从另一个Node执行SEND操作后收到的数据放在哪里。并在CQ里面放置一个CQE,表明接收操作已完成;即SEND执行会导致remote 执行接收队列操作。
rdma write通常不会消耗remote receive WQE在目的地。但是rdma_write_with_Imme。the Immediate data不是用来写入内存的,而是作为32bit的状态信息,并作为Recive WQE的状态的一个字段;

IBA: InifiBand Architecure.
SAN: System Area Network.

【Refer】
1.https://www.cnblogs.com/bandaoyu/p/16751993.html

http://www.lryc.cn/news/359173.html

相关文章:

  • C++ 混合运算的类型转换
  • 线性时间选择
  • 【对算法期中卷子的解析和反思】
  • sudo apt update sudo: apt: command not found
  • ios:文本框默认的copy、past改成中文复制粘贴
  • Qt moc系统的黑魔法?
  • MyBatis开发中常用总结
  • Git基本使用教程(学习记录)
  • 【Linux-RTC】
  • 机器学习目录
  • React开发环境配置详细讲解-04
  • Go 如何通过 Kafka 客户端库 生产与消费消息
  • 【设计模式深度剖析】【B】【结构型】【对比】| 主要区别包装的不同
  • 信息学奥赛初赛天天练-17-阅读理解-浮点数精准输出与海伦公式的巧妙应用
  • mysql - 为什么MySQL不建议使用NULL作为列默认值?
  • 数据分析案例-在线食品订单数据可视化分析与建模分类
  • 构建LangChain应用程序的示例代码:2、使用LangChain库实现的AutoGPT示例:查找马拉松获胜成绩
  • 代码随想录算法训练营第三十四 |● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果
  • GB-T 43206-2023 信息安全技术 信息系统密码应用测评要求
  • 线程进阶-1 线程池
  • LabVIEW中PID控制器系统的噪声与扰动抑制策略
  • JavaWeb笔记整理+图解——Listener监听器
  • AIGC智能办公实战 课程,祝你事业新高度
  • 专科生听劝 这种情况你就不要专转本了
  • MySQL增删查改初阶
  • IService 接口中定义的常用方法
  • api网关kong对高频的慢接口进行熔断
  • python作业:实现一个任务列表管理系统,使用到python类、对象、循环等知识
  • 大宋咨询(深圳产品价格调查)如何开展电子商品渠道价格监测
  • py黑帽子学习笔记_web攻击