(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210919969.3 (22)申请日 2022.08.01 (71)申请人 鹏城实验室 地址 518000 广东省深圳市南 山区兴科一 街2号 申请人 南方科技大 学 (72)发明人 肖渝鹏 段经璞 周建二 宋胜安  陶小峰  (74)专利代理 机构 深圳市君胜知识产权代理事 务所(普通 合伙) 44268 专利代理师 温宏梅 (51)Int.Cl. G06F 9/48(2006.01) G06F 9/50(2006.01) (54)发明名称 一种DPDK数据包处理的排 队延迟控制方法 及装置 (57)摘要 本发明公开了一种DPDK数据包处理的排 队 延迟控制方法及装置, 方法包括: 轮询网卡的接 收队列, 并根据接收队列中DPDK数据包的当前数 量确定接收队列的状态; 若接收队列的状态为空 闲状态, 则循环执行PAUSE指令, 并获取时间片, 在时间片未被用完时, 重新获取接收队列中DPDK 数据包的当前数量; 若当前数量超过预设阈值, 则将接收队列的状态从空闲状态切换至忙碌状 态, 并对DPDK数据包进行处理。 本发明可控制接 收队列在空闲状态与忙碌状态之间切换, 避免数 据包在接受队列中排队延迟过长, 并且, 本发明 使用PAUSE指令而不是通过调节CPU频率来降低 CPU的功耗, 整个过程 没有引入中断, 有效地达到 降低整体功耗 提高能效的目的。 权利要求书2页 说明书9页 附图3页 CN 115391003 A 2022.11.25 CN 115391003 A 1.一种DPDK数据包处 理的排队延迟 控制方法, 其特 征在于, 所述方法包括: 轮询网卡的接收队列, 并根据所述接收队列中DPDK数据包的当前数量确定DPDK数据包 处理线程的状态; 若DPDK数据包处理线程的状态为空闲状态, 则循环执行PAUSE指令, 并获取时间片, 在 所述时间片未被用完时, 重新获取所述接收队列中DPDK数据包的当前数量, 所述时间片用 于反映所述空 闲状态花费的总时钟周期数; 若所述接收队列中DPDK数据包的当前数量超过预设阈值, 则将DPDK数据包处理线程的 状态从所述空闲状态切换至忙碌状态, 并基于所述DPDK数据包处理线程对 所述DPDK数据包 进行处理。 2.根据权利要求1所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述根据 所述接收队列中D PDK数据包的当前 数量确定D PDK数据包处 理线程的状态, 包括: 若接收队列中DPDK数据包的当前数量为空, 则确定DPDK数据包 处理线程的状态为空闲 状态; 若接收队列中DPDK数据包的当前数量不为空, 则确定DPDK数据包处理线程的状态为忙 碌状态, 并基于所述D PDK数据包处 理线程对所述D PDK数据包进行处 理。 3.根据权利要求1所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述方法 还包括: 若所述时间片被用完, 则重新执行轮询网卡的接收队列, 并根据所述接收队列中DPDK 数据包的当前 数量确定D PDK数据包处 理线程的状态的步骤。 4.根据权利要求1所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述方法 还包括: 若DPDK数据包处 理线程的状态从所述空 闲状态切换至忙碌状态, 则降低所述时间片。 5.根据权利要求1所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述方法 还包括: 若所述接收队列中DPDK数据包的当前数量小于或者等于所述预设阈值, 则获取所述 DPDK数据包的排队延迟; 根据所述 排队延迟, 对D PDK数据包处 理线程的状态进行切换。 6.根据权利要求5所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述根据 所述排队延迟, 对D PDK数据包处 理线程的状态进行切换, 包括: 将所述排队延迟与预设的最大允许延迟时间进行比较; 若所述排队延迟大于所述最大允许延迟时间, 则控制DPDK数据包处理线程的状态切换 至忙碌状态; 若所述排队延迟小于或者等于所述最大允许延迟时间, 则控制 DPDK数据包处理线程的 状态切换至空 闲状态。 7.根据权利要求6所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述根据 所述排队延迟, 对D PDK数据包处 理线程的状态进行切换, 还 包括: 若DPDK数据包处 理线程的状态切换至空 闲状态, 则增 加所述时间片。 8.根据权利要求1所述的DPDK数据包处理的排队延迟控制方法, 其特征在于, 所述接收 队列与所述DPDK数据包处 理线程一一对应, 且所述D PDK数据包处 理线程绑定一个CPU 核心。权 利 要 求 书 1/2 页 2 CN 115391003 A 29.一种DPDK数据包处 理的排队延迟 控制装置, 其特 征在于, 所述装置包括: 线程状态确定模块, 用于轮询网卡的接收队列, 并根据所述接收队列中DPDK数据包的 当前数量确定D PDK数据包处 理线程的状态; 数据包数量确定模块, 用于若DPDK数据包处理线程的状态为空闲状态, 则循环执行 PAUSE指令, 并获取时间片, 在所述时间片未被用完时, 重新获取所述接收队列中DPDK数据 包的当前 数量, 所述时间片用于反映所述空 闲状态花费的总时钟周期数; 线程状态切换模块, 用于若所述接收队列中DPDK数据包的当前数量超过预设阈值, 则 将DPDK数据包处理线程的状态从所述空闲状态切换至忙碌状态, 并基于所述DPDK数据包处 理线程对所述D PDK数据包进行处 理。 10.根据权利要求9所述的DPDK数据包处理的排队延迟控制装置, 其特征在于, 所述线 程状态确定模块包括: 空闲状态确定单元, 用于若接收队列中DPDK数据包的当前数量为空, 则确定DPDK数据 包处理线程的状态为空 闲状态; 忙碌状态确定单元, 用于若接收队列中DPDK数据包的当前数量不为空, 则确定DPDK数 据包处理线程的状态 为忙碌状态, 并基于所述DPDK数据包处理线程对 所述DPDK数据包进 行 处理。 11.根据权利要求9所述的DPDK数据包处理的排队延迟控制装置, 其特征在于, 所述接 收队列与所述DPDK数据包处理线程一一对应, 且所述DPDK数据包处理线程绑定一个CPU核 心。 12.一种终端设备, 其特征在于, 终端设备包括存储器、 处理器及存储在存储器中并可 在处理器上运行的DPDK数据包处理的排队延迟控制程序, 处理器执行DPDK数据包处理的排 队延迟控制程序时, 实现如权利要求1 ‑8任一项的DPDK数据包处理的排队延迟控制方法 的 步骤。 13.一种计算机可读存储介质, 其特征在于, 计算机可读存储介质上存储有DPDK数据包 处理的排队延迟控制程序, DPDK数据包处理的排队延迟控制程序被处理器执行时, 实现如 权利要求1 ‑8任一项的D PDK数据包处 理的排队延迟 控制方法的步骤。权 利 要 求 书 2/2 页 3 CN 115391003 A 3

.PDF文档 专利 一种DPDK数据包处理的排队延迟控制方法及装置

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种DPDK数据包处理的排队延迟控制方法及装置 第 1 页 专利 一种DPDK数据包处理的排队延迟控制方法及装置 第 2 页 专利 一种DPDK数据包处理的排队延迟控制方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:07:08上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。