[发明专利]提升智能网卡性能的方法及装置在审
| 申请号: | 202110898442.2 | 申请日: | 2021-08-05 |
| 公开(公告)号: | CN113609339A | 公开(公告)日: | 2021-11-05 |
| 发明(设计)人: | 王建东;廖恬瑜 | 申请(专利权)人: | 北京汇钧科技有限公司 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F9/52;H04L12/02 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王治东 |
| 地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 提升 智能 网卡 性能 方法 装置 | ||
本公开提供一种提升智能网卡性能的方法和装置,其中,所述方法包括:获取当前处理模块读取请求指令所指向的表项的地址;根据所述表项的地址确定所述地址对应的哈希值;根据所述哈希值和预先构建的包含多个单元格的比特位图锁表确定所述读取请求指令对应的单元格的上锁状态;根据所述单元格的上锁状态确定调度器是否执行读操作。本公开通过引入比特位图锁表结构,将现有技术中的一把锁拆解成多把锁,降低了每把锁的冲突概率,提高了表项读写性能。
技术领域
本公开涉及计算机技术领域,尤其涉及一种提升智能网卡性能的方法和装置。
背景技术
在智能网卡设计中许多模块涉及到表项的读写操作:比如实现交换机加速功能时,需要设计一套交换机流表;实现远程数据存取功能时,需要实现一套接收发送连接表等等。一般这些表项容量都比较大(百万级),需要存放到外部存储器件中。受限于存储器件支持的最大时钟频率及数据宽度,这些表项的读写带宽是有理论极限的。
在处理多任务的数据读写时,往往需要多个任务处理器同时工作,而在处理器同时工作时,不同的任务处理间会出现冲突,因此,表项读写性能往往成为整个设计的瓶颈。
发明内容
本公开提供一种提升智能网卡性能的方法和装置,用以解决现有技术中读写效率不高的缺陷,实现快速高效地读写数据。
第一方面,本公开提供一种提升智能网卡性能的方法,包括:
获取当前处理模块读取请求指令所指向的表项的地址;
根据所述表项的地址确定所述地址对应的哈希值;
根据所述哈希值和预先构建的包含多个单元格的比特位图锁表确定所述读取请求指令对应的单元格的上锁状态;
根据所述单元格的上锁状态确定调度器是否执行读操作。
根据本公开提供的提升智能网卡性能的方法,其中,所述根据所述哈希值和预先构建的包含多个单元格比特位图锁表确定所述读取请求指令对应的单元格的上锁状态,具体包括;
以所述哈希值为被除数以所述比特位图锁表的深度为除数获取余数;
查询在所述比特位图锁表中所述余数对应的单元格中的比特数的值;
依据所述比特数的值确定所述单元格的上锁状态。
根据本公开提供的提升智能网卡性能的方法,其中,所述根据所述上锁状态确定调度器是否执行读操作,具体包括:
若所述单元格的上锁状态为未上锁,则由所述调度器发送读取请求指令至控制器,并将所述表格中的比特数的值变为上锁状态;
若所述单元格的上锁状态为上锁,则所述调度器不将所述读取请求指令发送至所述控制器。
根据本公开提供的提升智能网卡性能的方法,其中,所述若所述单元格的上锁状态为未上锁,则由所述调度器发送读取请求指令至控制器之后,还包括:
所述控制器在接收到所述调度器的所述读取请求指令之后,读取所述单元格对应的表项的数据,并将所述表项的数据发送给所述当前处理模块。
根据本公开提供的提升智能网卡性能的方法,其中,所述若所述单元格的上锁状态为上锁,则所述调度器不将所述读取请求指令发送至所述控制器之后,还包括:
由所述调度器将所述读取请求指令添加到等候表中;
所述调度器继续以轮询调度的方式调度其他处理模块的读取请求指令,并根据所述其他处理模块的读取请求指令所对应的表格中比特数的值确定是否执行读操作,其中,所述其他处理模块的读取请求包括等候表中存储的读取请求指令。
根据本公开提供的提升智能网卡性能的方法,其中,所述等候表中存储的读取请求指令以先进先出的方式参与所述轮询调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京汇钧科技有限公司,未经北京汇钧科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110898442.2/2.html,转载请声明来源钻瓜专利网。





