队列管理方法、队列管理架构、网卡芯片和网卡设备与流程
本申请涉及网络设备队列管理,特别是涉及一种队列管理方法、队列管理架构、网卡芯片和网卡设备。
背景技术:
1、随着云计算、虚拟化及高速网络技术快速发展,网络适配器、智能网卡、数据处理单元(data processing unit,dpu)及远程直接内存访问(remote direct memory access,rdma)高速互联设备等高速网络硬件设备得到大规模普及。当前,多function(功能单元)虚拟化架构与离散队列的融合部署方案,可实现多租户、多业务之间的安全资源隔离与灵活调度,已成为高速网络硬件设备的主流部署模式。
2、由于业务存在完整生命周期,且硬件队列资源存在上限,需通过队列上下线实现资源按需分配与及时回收,另外,随着业务规模持续扩张,高速网络硬件承载的队列数量大幅增加,批量管控各功能单元下的队列,已成为业务启停过程中的高频操作。相关技术中,针对各功能单元下的大批量队列管理流程普遍采用串行遍历式处理方式,即按照各功能单元排序依次遍历各功能单元,再逐个串行管理每个功能单元下属的全部队列,待单条队列管理完成后释放对应硬件资源,直至所有功能单元下属的队列全部处理完毕。
3、然而,上述串行遍历式队列管理处理方式存在执行效率低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高队列批量管理效率的队列管理方法、队列管理架构、网卡芯片和网卡设备。
2、第一方面,本申请提供了一种队列管理方法,应用于队列管理仲裁器,包括:
3、响应于目标功能控制模块触发的队列管理请求;队列管理请求中包括功能单元标识;
4、根据功能单元标识,从队列映射关系存储库中确定功能单元标识对应的至少一个待管理队列;队列映射关系存储库中存储有多个功能单元与下属队列之间的映射关系;
5、根据至少一个待管理队列的队列状态,向队列管理控制器发送队列管理指示,以使队列管理控制器向下游业务模块发送至少一个待管理队列的管理指令。
6、在其中一个实施例中,上述队列管理请求是目标功能控制模块在获得发起队列管理请求的操作权限的情况下发送的;在响应于目标功能控制模块触发的队列管理请求之前,上述方法还包括:
7、接收至少一个功能控制模块的权限申请请求;
8、根据功能控制模块的优先级,从至少一个功能控制模块中仲裁出一个功能控制模块,作为目标功能控制模块,并为目标功能控制模块开放发起队列管理请求的操作权限。
9、在其中一个实施例中,在向队列管理控制器发送队列管理指示之前,上述方法还包括:
10、获取至少一个待管理队列的队列标识;
11、根据至少一个待管理队列的队列标识,从队列状态存储库中获取至少一个待管理队列的队列状态;队列状态存储库中存储有所有功能单元下部署的所有队列的实时状态。
12、在其中一个实施例中,上述队列状态包括:活动状态和空闲状态,上述根据至少一个待管理队列的队列状态,向队列管理控制器发送队列管理指示,包括:
13、若待管理队列的队列状态为活动状态,且队列管理请求为队列关闭请求,则向队列管理控制器发送关闭待管理队列的指示;
14、若待管理队列的队列状态为空闲状态,且队列管理请求为队列关闭请求,则生成待管理队列的队列关闭响应。
15、在其中一个实施例中,在活动状态的待管理队列为多个的情况下,上述向队列管理控制器发送关闭待管理队列的指示,包括:
16、根据活动状态的待管理队列的优先级,从多个活动状态的待管理队列中依次仲裁出目标待管理队列,并依次向队列管理控制器发送目标待管理队列的关闭指示。
17、在其中一个实施例中,上述方法还包括:
18、接收下游业务模块经由队列管理控制器发送的队列管理响应,并更新对应的待管理队列的队列状态;
19、在接收到全部待管理队列的队列管理响应之后,生成管理完成信号,并将管理完成信号发送至上游业务模块。
20、第二方面,本申请还提供了一种队列管理架构,包括:
21、至少一个功能控制模块,用于向队列管理仲裁器发送队列管理请求;队列管理请求中包括功能单元标识;
22、队列管理仲裁器,用于接收至少一个功能控制模块中目标功能模块发送的目标队列管理请求,并根据目标队列管理请求中的目标功能单元标识,从队列映射关系存储库中确定目标功能单元标识对应的至少一个待管理队列,以及根据至少一个待管理队列的队列状态,向队列管理控制器发送队列管理指示;队列映射关系存储库中存储有多个功能单元与下属队列之间的映射关系;目标功能模块为至少一个功能控制模块中的任一个功能模块;
23、队列管理控制器,用于向下游业务模块发送至少一个待管理队列的管理指令。
24、在其中一个实施例中,上述队列管理架构还包括:队列控制模块;
25、至少一个功能控制模块,还用于向队列管理仲裁器发送第一权限申请请求;各功能控制模块分别对应处理一个主机发起的队列管理请求;
26、队列控制模块,用于向队列管理仲裁器发送队列管理请求和第二权限申请请求;
27、队列管理仲裁器,用于根据至少一个第一权限申请请求和第二权限申请请求,以及至少一个功能控制模块和队列控制模块的优先级,从至少一个功能控制模块和队列控制模块中,仲裁出一个控制模块,作为目标控制模块,并为目标控制模块开放发起队列管理请求的操作权限。
28、在其中一个实施例中,上述队列管理架构还包括:队列状态存储库和索引结果存储库,队列状态存储库和索引结果存储库分别连接队列管理仲裁器;
29、队列状态存储库,用于存储所有功能单元下部署的所有队列的实时状态;
30、索引结果存储库,用于存储至少一个待管理队列的队列标识。
31、第三方面,本申请还提供了一种网卡芯片,包括如上述第二方面所述的队列管理架构。
32、第四方面,本申请还提供了一种网卡设备,包括如上述第三方面所述的网卡芯片。
33、上述队列管理方法、队列管理架构、网卡芯片和网卡设备,通过功能单元标识检索映射关系批量定位对应待管理队列,依托队列状态下发统一队列管理指示,无需逐个遍历查询全部队列,可快速完成同一功能单元下多离散队列的集中管控,大幅简化多队列调度逻辑,提升批量队列管理的处理效率,降低队列查询与控制过程中的资源开销。
1.一种队列管理方法,其特征在于,应用于队列管理仲裁器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述队列管理请求是所述目标功能控制模块在获得发起队列管理请求的操作权限的情况下发送的;在响应于目标功能控制模块触发的队列管理请求之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在向队列管理控制器发送队列管理指示之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述队列状态包括:活动状态和空闲状态,所述根据所述至少一个待管理队列的队列状态,向队列管理控制器发送队列管理指示,包括:
5.根据权利要求4所述的方法,其特征在于,在活动状态的待管理队列为多个的情况下,所述向队列管理控制器发送关闭待管理队列的指示,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种队列管理架构,其特征在于,所述队列管理架构,包括:
8.根据权利要求7所述的队列管理架构,其特征在于,所述队列管理架构还包括:队列控制模块;
9.根据权利要求7所述的队列管理架构,其特征在于,所述队列管理架构还包括:队列状态存储库和索引结果存储库,所述队列状态存储库和所述索引结果存储库分别连接所述队列管理仲裁器;
10.一种网卡芯片,其特征在于,所述网卡芯片中包括如上述权利要求7-9任一项所述的队列管理架构。
11.一种网卡设备,其特征在于,所述网卡设备中包括如权利要求10所述的网卡芯片。