[發明專利]一種網卡的線程級動態均衡調度方法在審
| 申請號: | 201710442620.4 | 申請日: | 2017-06-13 |
| 公開(公告)號: | CN107317759A | 公開(公告)日: | 2017-11-03 |
| 發明(設計)人: | 張家琦;賀欣;鄒昕;王嘯;王子厚;汪立東;李政;王維晟;薛春暉;張震;劉培朋;何清林;馬秀娟 | 申請(專利權)人: | 國家計算機網絡與信息安全管理中心 |
| 主分類號: | H04L12/801 | 分類號: | H04L12/801;H04L12/863 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙)11200 | 代理人: | 司立彬 |
| 地址: | 100029*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網卡 線程 動態 均衡 調度 方法 | ||
技術領域
本發明屬于INTERNET技術領域,涉及一種網卡的均衡調度方法,具體涉及一種網卡線程級動態均衡調度技術實現方法。
背景技術
網卡一般是部署多個線程處理同一類業務報文,大都只通過對報文特征字段提取,并以此計算數據報文的HASH值,然后按照HASH值上送至不同的收包緩存中。這種方式優點是簡單高效,但是暴露出的問題也很明顯,首先服務器CPU性能的消耗因業務復雜程度而存在差異;其次網卡上每個線程的緩存隊列利用率并不均勻;最后網卡并不主動感知業務線程的狀態,當線程的吞吐量達到極限或線程異常時,將會造成數據的丟失。
基于這種現狀,本發明現提出一種基于線程的動態負載均衡調度技術,以最大程度緩解線程級負載不均導致的丟包問題。
發明內容
針對現有技術中存在的技術問題,本發明的目的在于提供一種網卡的線程級動態均衡調度方法。
本發明的技術方案為:
一種網卡的線程級動態均衡調度方法,其步驟為:
1)在網卡中設置一流表;流表中的每個條目包括鍵值和結果兩部分,其中鍵值為業務流中業務報文的五元組或五元組中的若干設定信息,結果為業務流的去向,即線程的緩存隊列號;
2)網卡定時去檢測各業務處理線程的緩存隊列利用率,將線程的緩存隊列利用率超過設定閾值的線程的狀態設置為已滿,否則設置為可用;
3)將狀態為可用的線程構建一線程隊列;
4)網卡對收到的每一業務流,根據該業務流的鍵值查找所述流表,如果流表中有匹配的條目,則將該業務流的業務報文發送到該條目中緩存隊列號對應的緩存隊列;如果沒有匹配的條目,則從所述線程隊列中選取一線程,然后根據所選線程的緩存隊列號和該業務流的鍵值生成所述流表的一條目保存到所述流表中,然后將該業務流的業務報文發送到所選線程的緩存隊列;
5)當一業務流結束或者超時時,網卡刪除所述流表中該業務流對應的條目。
所述網卡通過哈希方式在所述線程隊列中選取一線程。
所述五元組包括業務報文的協議號、源IP地址、目的IP地址、源端口和目的端口。
如果業務報文中沒有端口號,則所述鍵值為業務報文的源IP地址和目的IP地址信息。
使用線程的緩存隊列利用率來標識每一個狀態可用的線程的處理能力;選取緩存隊列利用率低的線程構建所述線程隊列。
要達到動態調度流量的目的,需要實現以下兩個關鍵技術:
1)網卡需要感知主機業務線程狀態,目的是為網卡的流量調度提供依據;網卡一般是部署多個線程處理同一類業務報文,通過提取數據報文特征字段,并以此計算數據報文的HASH值,然后按照HASH值上送至不同線程的緩存隊列中。
2)網卡端流量的調度,基于流表對各個線程的緩存隊列進行調度。
有鑒于此,本發明主要內容如下所示:
線程狀態維護:網卡需要定時(時間周期可支持配置)獲取每個線程的緩存隊列的利用率,并維護線程狀態。
流表維護:報文中沒有端口號,則根據報文中源IP地址+目的IP地址;如果報文中帶有端口信息,則根據報文中協議號+報文中源IP地址+報文中目的IP地址+報文中源端口號+報文中目的端口號建立流表。
線程的緩存隊列調度:調度方式基于流表,在保證同源同宿前提下,使各隊列利用率更加均衡。
本發明包括如下步驟:
a、主動感知模塊,網卡定時去檢測主機業務線程的狀態,并維護這些狀態信息,為后續調度提供依據。每一類業務報文分配若干線程,由于業務復雜程度不同,處理同一類業務報文的各線程的緩存隊列利用率并不相同。
a1、線程的狀態分為兩種:分別是可用和已滿,線程的緩存隊列利用率超過閾值的線程狀態為已滿狀態;未超過的線程狀態為可用狀態。
a2、網卡定時獲取每個線程的緩存隊列利用率,將獲取到的利用率與閾值(用戶可配置)比較并得到線程的狀態,將該狀態更新為該線程的最新狀態。
a3、選取若干狀態為可用的線程,構建一線程隊列。本發明使用每個線程的緩存隊列利用率來標識每一個狀態可用的線程的處理能力。緩存隊列利用率越低的線程則處理能力越強。在構成可用的線程隊列時,緩存隊列利用率越低的線程則所占比重高,反之亦然。
b、均衡調度模塊,基于流表的調度策略使線程間能夠更加均衡,整體利用率更高。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國家計算機網絡與信息安全管理中心,未經國家計算機網絡與信息安全管理中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710442620.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種梔子保健茶及其制備方法和應用
- 下一篇:一種治療膝關節滑膜炎的藥物





