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