[發明專利]一種基于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.szxzyx.cn/pat/books/202011122746.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種航空發動機葉片機器人自主測量方法及系統
- 下一篇:電纜線路故障定位裝置





