InfiniBand与高级网络技术解析
1. InfiniBand消息传输机制
在InfiniBand网络中,消息传输有着特定的机制和流程。当发送方的QP(队列对)成功接收到ACK/NACK时,会继续发送剩余的消息。若后续消息也出现问题,会再次进行重试,且不记录之前的重试历史。若多次重试后接收方仍无响应,发送方会产生带有重试错误的工作完成状态。
接收方未准备好(RNR)的情况也较为常见。当接收方收到需要从接收队列中消耗接收请求的消息,但队列中没有未完成的接收请求时,会向发送方返回RNR NACK。一段时间后,发送方会根据RNR NACK中指定的时间再次尝试发送消息。若接收方及时发布了接收请求,且传入的消息消耗了该请求,会向发送方发送ACK表示消息已成功保存。若后续消息仍有此问题,会再次进行RNR重试,同样不记录历史。若多次重试后接收方仍未发布接收请求,每次发送消息都返回RNR NACK,发送方会产生带有RNR重试错误的工作完成状态。以下是RNR重试流程的mermaid流程图:
graph LR
A[发送方发送消息] --> B{接收方是否有接收请求}
B -- 有 --> C[接收方处理消息并发送ACK]
B -- 无 --> D[接收方发送RNR NACK]
D --> E[发送方等待指定时间]
E --> A
C --> F[发送方继续发送后续消息]
2. 多播组相关操作
多播组是一种将消息从一个UD QP发送到多个UD QP的方式。每个想要接收消息的UD QP都需要加
超级会员免费看
订阅专栏 解锁全文
1131

被折叠的 条评论
为什么被折叠?



