news 2026/1/15 12:07:38

RDMA设计15:连接管理模块设计2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RDMA设计15:连接管理模块设计2

本博文主要交流设计思路,在本博客已给出相关博文140多篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。若有NVME或RDMA 产品及项目需求,请看B站视频后联系。

(1) 建立连接流程
在 CONNECT 状态下,读取一条连接信息缓存中的指令信息,同时判断指令信息中的会话 ID 是否在会话管理池中存在。如会话 ID 不存在,则继续进行建立连接流程,并组装 CM 连接请求包,跳转至 CON_SEND_REQ 状态;如果会话 ID 已存在,则状态跳转至 IDLE 并返回错误信息。在 CON_SEND_REQ 状态下,组装好的 CM 连接请求包将被逐帧发送至 RoCEv2 发送模块,在其发送完毕后状态跳转至 CON_WAIT_REP 状态。
在 CON_WAIT_REP 状态下,状态机等待来自远程主机的连接回复包,当收到回复包后,解析该回复包。如果远程主机同意连接,则跳转至 CON_SEND_RTU 状态;如果远程主机拒绝连接或等待超时,则跳转至 IDLE 状态并返回错误信息。在 CON_SEND_RTU 状态下,状态机组装并逐帧发送 CM 就绪使用包(Ready toUse)至 RoCE v2 发送模块,状态跳转至 DONE 状态,建立连接流程结束。

(2)断开连接流程
在 DISCONNECT 状态下,状态机读取一条连接信息缓存中的指令信息,同时判断指令信息中的会话 ID 是否在会话管理池中存在。如会话 ID 已存在,则断开连接流程继续,组装 CM 断链请求包,跳转至 DISCON_SEND_REQ 状态;如果会话 ID 不存在,则状态跳转至 IDLE 并返回错误信息。在 DISCON_SEND_REQ 状态下,状态机组装 CM 断开连接请求包并逐帧发送至RoCE v2 发送模块,而后跳转至 DISCON_WAIT_REP 状态。
在 DISCON_WAIT_REP 状态下,状态机等待来自远程主机的断开连接回复包,当 收 到 回 复 包 后 , 解 析 该 回 复 包 。 如 果 远 程 主 机 同 意 断 开 连 接 , 则 跳 转 至DISCON_WAIT_REQ 状态;如果远程主机拒绝断开连接或等待超时,则跳转至 IDLE状态并返回错误信息。
在 DISCON_WAIT_REQ 状态下,状态机等待来自远程主机的断开连接请求包,当收到请求包后,解析该请求包并跳转至 DISCON_SEND_REP 状态,如果等待超时,则跳转至 IDLE 状态并返回错误信息。
在 DISCON_SEND_REP 状态下,状态机组装 CM 断开连接回复包并逐帧发送至RoCE v2 发送模块,而后跳转至 DONE 状态,断开连接流程结束。会话管理池在系统复位时被清空,在建立连接结束后写入会话 ID,在断开连接结束后清除对应的会话 ID。由于实际应用中,交换机接口数量有限,故将会话管理池深度设置为 64,足以满足常见应用场景下的性能要求.

B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望

https://www.bilibili.com/video/BV1mPV5eCE8z/?spm_id_from=333.337.search-card.all.click&vd_source=c355545d27a44fe96188b7caefeda6e7

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/28 7:17:55

如何用AtlasOS让Windows系统性能提升50%的秘密

你是否曾经因为Windows系统运行缓慢而感到沮丧?开机等待时间过长,软件响应迟钝,后台服务占用大量资源...这些常见问题现在有了全新的解决方案。AtlasOS作为一个开源的Windows优化项目,正在重新定义系统性能的边界。 【免费下载链接…

作者头像 李华
网站建设 2025/12/24 3:23:04

轻松搞定百个大模型微调!LLaMA-Factory:你的AI模型量产神器

还在为大语言模型微调的高门槛而头疼吗?代码复杂、资源消耗大、实验管理繁琐……这些问题是否阻碍了你探索AI更大潜力的脚步? 今天,我们要介绍一个革命性的开源项目——LLaMA-Factory。它能够让你统一、高效地微调100个大语言模型与视觉语言模…

作者头像 李华
网站建设 2025/12/24 12:52:47

.NET 6 API使用Serilog APM

本文介绍如何在.NET 6 API中使用Serilog的APM。 1. 引用Serilog相关的packages <PackageReference Include"Elastic.Apm.SerilogEnricher" Version"8.11.1" /> <PackageReference Include"Serilog.AspNetCore" Version"8.0.2"…

作者头像 李华
网站建设 2026/1/13 19:56:19

设计模式:一个实例用全创建型模式

1.概要这里结合多种模式完成需求&#xff0c;为了体现各模式的使用价值&#xff0c;在对比中对某种模式的特点有一个相对形象的认识。还是一坦克大战作为需求原型&#xff0c;因为需求简单&#xff0c;易于理解&#xff0c;不会在需求本身上消耗太多精力&#xff0c;更容易专注…

作者头像 李华
网站建设 2025/12/25 5:26:40

上市公司元宇宙技术专利数据说明(1990—2025)

数据简介CNPaperData元宇宙技术专利是推动元宇宙产业发展的关键创新领域&#xff0c;涵盖了从硬件设备到软件应用的广泛技术&#xff0c;在构建虚拟世界、实现虚实交互以及提升用户体验等方面发挥着重要作用&#xff0c;是元宇宙行业蓬勃发展的核心技术支撑。其中&#xff0c;与…

作者头像 李华
网站建设 2026/1/14 21:16:40

3.3 实战项目升级:为智能数据库查询工具添加多数据库支持

3.3 实战项目升级:为智能数据库查询工具添加多数据库支持 在前几周的学习中,我们已经构建了一个基础的智能数据库查询工具,它能够将自然语言转换为SQL查询并执行。现在,我们将对这个项目进行升级,添加对多种数据库系统的支持,包括MySQL、PostgreSQL、SQLite和MongoDB。这…

作者头像 李华