news 2026/5/3 10:16:00

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/5/1 0:12:02

YashanDB数据库的扩展性设计与实现细节

YashanDB 是一种面向高性能和高可用性的数据库设计,其扩展性设计与实现细节通常包括以下几个方面:1. 分布式架构- 水平扩展:YashanDB 采用分布式架构,支持通过增加更多的节点来水平扩展。用户可以根据负载增加更多的服务器来处理请…

作者头像 李华
网站建设 2026/5/1 0:20:03

BGE-Large-zh-v1.5中文嵌入模型完整部署指南

BGE-Large-zh-v1.5中文嵌入模型完整部署指南 【免费下载链接】bge-large-zh-v1.5 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/bge-large-zh-v1.5 BGE-Large-zh-v1.5是由北京人工智能研究院开发的高性能中文文本嵌入模型,专为中文语义理解和检…

作者头像 李华
网站建设 2026/4/30 23:19:47

微信网页版访问创新解决方案:wechat-need-web插件使用全攻略

微信网页版访问创新解决方案:wechat-need-web插件使用全攻略 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 在当今数字化办公环境中&…

作者头像 李华
网站建设 2026/5/3 3:25:32

BBDown终极教程:5步掌握B站视频下载神器

BBDown终极教程:5步掌握B站视频下载神器 【免费下载链接】BBDown Bilibili Downloader. 一款命令行式哔哩哔哩下载器. 项目地址: https://gitcode.com/gh_mirrors/bb/BBDown 想要永久保存B站上的优质视频内容吗?BBDown作为一款功能强大的Bilibili…

作者头像 李华
网站建设 2026/4/30 23:19:47

纪念币预约自动化:智能赋能预约成功的终极解决方案

纪念币预约自动化:智能赋能预约成功的终极解决方案 【免费下载链接】auto_commemorative_coin_booking 项目地址: https://gitcode.com/gh_mirrors/au/auto_commemorative_coin_booking 90%用户在手动预约纪念币时遭遇失败?传统方式面对秒杀级竞…

作者头像 李华
网站建设 2026/5/2 4:51:41

FreeMove:彻底解决C盘空间不足的智能迁移方案

FreeMove:彻底解决C盘空间不足的智能迁移方案 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 你是否曾因C盘爆满而焦虑?每次看到红色警告都束手…

作者头像 李华