[发明专利]一种基于DPDK的多核间buffer动态迁移方法与装置有效
申请号: | 202011122746.1 | 申请日: | 2020-10-20 |
公开(公告)号: | CN112286679B | 公开(公告)日: | 2022-10-21 |
发明(设计)人: | 孙琳洋 | 申请(专利权)人: | 烽火通信科技股份有限公司;成都烽火云网信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 崔肖肖;向彬 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dpdk 多核 buffer 动态 迁移 方法 装置 | ||
1.一种基于DPDK的多核间buffer动态迁移方法,其特征在于,每个CPU核对应设有一个buffer缓存池,多个buffer缓存池共用一个buffer共享池;其中,每个buffer缓存池均设置有共享水线,共享水线以下的buffer作为可共享buffer,并为每个buffer缓存池中的可共享buffer设置buffer锁;
所述共享水线以上还设置有低位水线,所述低位水线以上还设置有高位水线;当任一CPU核申请buffer时,如果本核的buffer缓存池中剩余buffer量满足本次申请,且满足本次申请后剩余buffer量处于低位水线以上,则直接从本核的buffer缓存池中分配buffer给本核;如果本核的buffer缓存池中剩余buffer量超过高位水线,则将超出高位水线以上的多余buffer释放到buffer共享池中;
当任一CPU核申请buffer时,如果本核的buffer缓存池中剩余buffer量不满足本次申请,且buffer共享池中的可用buffer量也不足,则触发核间buffer迁移,具体包括:
遍历除本核以外的其他CPU核的buffer缓存池,对于任一其他CPU核,获取该核的buffer锁,并确认该核buffer缓存池中的可共享buffer数量;
当该核buffer缓存池中的可共享buffer数量大于等于预设阈值时,根据申请需求获取该核buffer缓存池中的可共享buffer,释放该核的buffer锁;
获取本核的buffer锁,将获取的可共享buffer加入本核的buffer缓存池中,以便遍历停止后从本核的buffer缓存池中分配buffer给本核。
2.如权利要求1所述的基于DPDK的多核间buffer动态迁移方法,其特征在于,将从其他CPU核处获取的可共享buffer加入本核的buffer缓存池中后,所述方法还包括:
判断此时本核buffer缓存池中的buffer量是否满足本次申请,如果满足则停止遍历,并从本核的buffer缓存池中分配buffer给本核;
如果不满足则继续遍历下一个其他CPU核的buffer缓存池,直至遍历完每个其他CPU核,或者直至本核buffer缓存池中的buffer量满足本次申请时停止遍历,并从本核的buffer缓存池中分配buffer给本核。
3.如权利要求1所述的基于DPDK的多核间buffer动态迁移方法,其特征在于,当任一CPU核申请buffer时,如果本核的buffer缓存池中当前剩余buffer量满足本次申请,但满足本次申请后剩余buffer量将降到共享水线以下,则所述方法还包括:
获取本核的buffer锁,从buffer共享池中申请buffer来填充本核的buffer缓存池,填充完成后从本核的buffer缓存池中分配buffer给本核,并释放本核的buffer锁。
4.如权利要求1所述的基于DPDK的多核间buffer动态迁移方法,其特征在于,在每个buffer缓存池中,所述共享水线以上还设置有低位水线;则当任一CPU核申请buffer时,如果本核的buffer缓存池中剩余buffer量满足本次申请,且满足本次申请后剩余buffer量将处于共享水线与低位水线之间,则所述方法还包括:
从所述buffer共享池中申请buffer来填充本核的buffer缓存池,填充完成后从本核的buffer缓存池中分配buffer给本核。
5.如权利要求1-4任一所述的基于DPDK的多核间buffer动态迁移方法,其特征在于,在分配内存时,对多个CPU核的buffer缓存池进行统一分配,使得多个buffer缓存池按照CPU核id递增的顺序在内存上连续,以便进行核间buffer迁移时,通过CPU核的id访问对应的buffer缓存池,进而获取buffer缓存池中的可共享buffer。
6.如权利要求5所述的基于DPDK的多核间buffer动态迁移方法,其特征在于,在分配内存时,每个buffer缓存池的内存空间大小与cache line对齐。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司;成都烽火云网信息技术有限公司,未经烽火通信科技股份有限公司;成都烽火云网信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011122746.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种航空发动机叶片机器人自主测量方法及系统
- 下一篇:电缆线路故障定位装置