news 2026/9/3 2:08:05

RDMA设计16:队列管理模块设计1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RDMA设计16:队列管理模块设计1

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

队列管理模块采用管理与存储分离的结构进行设计,由发送队列存储、发送队列管理、接收队列管理、完成条目解析、异常完成条目处理和 Round-Robin 仲裁组成。
队列管理模块的结构如图 1所示。


图1 队列管理模块的结构图

(1)发送队列
发送队列的管理由发送队列管理单元和发送队列存储共同实现。其中,发送队列存储为所有发送队列共用的存储空间,根据用户环境和开发板环境不同可由 BRAM、URAM 或 LUTRAM 实现。发送队列管理单元则负责管理这个存储空间,并处理用户指令和发送队列读取请求。在发送队列管理单元中存在一个 SQ1 表单和若干用户 SQ表单来管理发送队列,每个表单中存储发送队列的信息,包括队列 ID、队列深度、会话 ID、远程主机 IP 地址、MAC 地址、远程访问密钥、远程主机数据包序列号、本地主机数据包序列号、远程主机内存起始地址和远程主机内存地址大小等。
当收到系统控制模块中的队列控制单元发送过来的创建队列请求时,发送队列管理单元首先判断队列 ID 和会话 ID 是否已存在。当队列管理模块可以接受请求时,其会启用一个用户请求队列表单并根据接收到的信息创建用户发送队列,还会同步通知接收队列管理单元启用一个用户接收队列表单并创建接收队列,并且通知连接管理模块进入创建连接流程。如果队列 ID 或会话 ID 已存在,则请求失败并返回错误信息。
类似的,当收到删除队列请求时,同样判断队列 ID 和会话 ID,如果二者均存在,则删除对应的用户请求队列表单并同步通知接收队列管理单元删除对应用户接收队列表单,并通知连接管理模块进入断开连接流程。
当接收到系统控制模块中的指令控制单元发送过来的用户请求时,发送队列管理单元首先根据用户请求中的信息判断对应队列是否存在。如果存在,则再次判断远程主机 IP 地址、MAC 地址、远程访问密钥等信息是否正确,如果均校验通过,则根据对应用户发送队列表单中的起始偏移地址、队列深度计算出当次用户请求的写地址,将发送队列条目写入该地址。同样的,当接收到读发送队列请求时,其根据请求的地址获取其对应的用户请求队列中的表单信息,生成发送队列读地址,并从该地址读取
发送队列条目。
通过上述的发送队列管理方式,使得发送队列可在系统工作过程中动态配置,用户可以通过修改表单信息的方式简便地修改队列深度、队列数量。在实际应用中,用户即可根据不同的数据环境灵活控制队列深度和数量,以此来优化系统的性能发挥和功耗表现。

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

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

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

XUnity自动翻译插件终极指南:3分钟解锁多语言游戏新体验

XUnity自动翻译插件终极指南:3分钟解锁多语言游戏新体验 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator Unity游戏玩家们,是否曾因语言障碍而错失精彩游戏内容?XUnity …

作者头像 李华
网站建设 2026/9/3 1:23:24

4步实战指南:用OpenCore Legacy Patcher让老旧Mac完美兼容最新系统

4步实战指南:用OpenCore Legacy Patcher让老旧Mac完美兼容最新系统 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在使用一台性能尚可但已被官方&quo…

作者头像 李华
网站建设 2026/9/2 6:06:00

国自然申报技术路线图模板

对于每一位奋战在国自然申报一线的科研人员而言,撰写申请书是一项系统性工程。除了需要锤炼核心思想与创新点,如何将复杂的研究内容、技术路线、实验方案清晰、专业、直观地呈现出来,同样是决定评审专家印象分的关键。其中,技术路…

作者头像 李华
网站建设 2026/9/2 5:06:09

SillyTavern版本升级3步走:新手也能轻松搞定

SillyTavern版本升级3步走:新手也能轻松搞定 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern 还在担心升级SillyTavern会把精心设置的角色数据弄丢吗?害怕复杂的命令…

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

Google Drive下载神器:3分钟掌握高效文件获取技巧

Google Drive下载神器:3分钟掌握高效文件获取技巧 【免费下载链接】gdrivedl Google Drive Download Python Script 项目地址: https://gitcode.com/gh_mirrors/gd/gdrivedl 还在为Google Drive大文件下载烦恼?面对"下载配额超额"提示束…

作者头像 李华