亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

調(diào)整網(wǎng)絡設備資源配置的方法及裝置的制造方法

文檔序號:8433599閱讀:462來源:國知局
調(diào)整網(wǎng)絡設備資源配置的方法及裝置的制造方法
【技術(shù)領域】
[0001]本發(fā)明實施例涉及通信技術(shù)領域,尤其涉及一種調(diào)整網(wǎng)絡設備資源配置的方法及
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]網(wǎng)絡設備對報文的處理,一般分為報文接收線程、業(yè)務處理線程和報文發(fā)送線程,首先報文接收線程將報文從硬件接收過來,轉(zhuǎn)交給業(yè)務處理線程處理,然后再通過報文發(fā)送線程發(fā)送出去。其中,報文接收線程是整個設備流量的入口,對實時性要求很高,通常作為單獨的線程運行,而業(yè)務處理線程對報文的處理可能比較耗時,不同的業(yè)務運行在不同的業(yè)務處理線程上。由于報文接收線程和業(yè)務處理線程共享CPU資源,資源在報文接收線程和業(yè)務處理線程上的分配對設備的處理能力影響很大,若報文接收線程數(shù)量過少,會造成收包不及時,CPU就會反壓到硬件設備導致丟包;若報文接收線程數(shù)量過多,占用了業(yè)務處理線程的資源,會導致業(yè)務處理不及時,未被處理的報文在CPU內(nèi)部積累超過預定閾值后將被直接轉(zhuǎn)發(fā),從而導致網(wǎng)絡設備無法對業(yè)務進行有效處理。
[0003]現(xiàn)有的一種為報文接收線程和業(yè)務處理線程分配CPU資源的方法如下:由于報文接收線程的實時性要求較高,在多核CPU上,將報文接收線程綁定在一部分獨立的內(nèi)核(core)上,以便獨占一部分CPU資源,業(yè)務處理線程則分布在其余的core上,這樣業(yè)務處理線程與報文接收線程互不干涉,保證報文能夠及時接收。
[0004]但是,上述分配方法需要預先根據(jù)實際的業(yè)務負載狀況進行試驗,尋找出一個合適的報文接收和業(yè)務線程占用CPU的比例,然后固化到軟件中,一旦業(yè)務負載和規(guī)格發(fā)生變化,就要重新調(diào)整。而且在CPU的core比較少的時候,報文接收線程和業(yè)務線程之間的比例就更為重要,很難找到一個合適的平衡點,即使根據(jù)經(jīng)驗值得到一個合適的比例,在流量很小的時候,報文接收線程仍然處于空轉(zhuǎn)狀態(tài)參與調(diào)度,會造成CPU資源的浪費。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實施例提供一種調(diào)整網(wǎng)絡設備資源配置的方法及裝置,以解決報文接收線程和業(yè)務處理線程之間的CPU資源占用問題,減少CPU資源的浪費。
[0006]第一方面,本發(fā)明實施例提供一種調(diào)整網(wǎng)絡設備資源配置的方法,包括:
[0007]網(wǎng)絡設備在操作系統(tǒng)初始化時,所述網(wǎng)絡設備的操作系統(tǒng)內(nèi)核將M個報文接收線程的工作狀態(tài)設置為休眠狀態(tài)、將N個報文接收線程的工作狀態(tài)設置為非休眠狀態(tài),M和N均為自然數(shù),M大于N,M與N的和是一固定值;
[0008]在檢測周期內(nèi),所述操作系統(tǒng)內(nèi)核統(tǒng)計所有非休眠狀態(tài)的報文接收線程的空閑計數(shù)值的總和,所述空閑計數(shù)值是指一個非休眠狀態(tài)的報文接收線程在一個所述檢測周期內(nèi)未接收到數(shù)據(jù)包的次數(shù);
[0009]所述操作系統(tǒng)內(nèi)核根據(jù)所述空閑計數(shù)值的總和,調(diào)整報文接收線程的工作狀態(tài)。
[0010]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述網(wǎng)絡設備的操作系統(tǒng)內(nèi)核將M個報文接收線程的工作狀態(tài)設置為休眠狀態(tài)、將N個報文接收線程的工作狀態(tài)設置為非休眠狀態(tài),包括:
[0011]所述操作系統(tǒng)內(nèi)核分別為所述M個報文接收線程中的每個報文接收線程創(chuàng)建對應的信號量和休眠標識,所述休眠標識用于指示報文接收線程處于休眠狀態(tài),并獲取所述操作系統(tǒng)內(nèi)核創(chuàng)建的信號量,陷入內(nèi)核;
[0012]所述操作系統(tǒng)內(nèi)核分別為所述N個報文接收線程中的每個報文接收線程創(chuàng)建信號量和非休眠標識,所述非休眠標識用于指示報文接收線程處于非休眠狀態(tài),并在有數(shù)據(jù)包到來時接收所述數(shù)據(jù)包,無數(shù)據(jù)包到來時將所述報文接收線程的空閑計數(shù)值進行加一操作。
[0013]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,所述操作系統(tǒng)內(nèi)核根據(jù)所述空閑計數(shù)值的總和,調(diào)整報文接收線程的工作狀態(tài),包括:
[0014]所述操作系統(tǒng)內(nèi)核在一個處理器核心的所述檢測周期內(nèi)根據(jù)所述空閑計數(shù)值的總和,調(diào)整報文接收線程的工作狀態(tài)。
[0015]結(jié)合第一方面、第一方面的第一種或第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述檢測周期為所述操作系統(tǒng)的一個時隙中斷時間的整數(shù)倍。
[0016]結(jié)合第一方面至第一方面的第三種可能的實現(xiàn)方式中任一項所述的方法,在第一方面的第四種可能的實現(xiàn)方式中,所述操作系統(tǒng)內(nèi)核根據(jù)所述空閑計數(shù)值的總和,調(diào)整報文接收線程的工作狀態(tài),包括:
[0017]如果所述空閑計數(shù)值的總和大于第一門限,所述操作系統(tǒng)內(nèi)核在所有處于非休眠狀態(tài)的報文接收線程中選擇一報文接收線程,對被選擇的報文接收線程進行休眠處理;
[0018]如果所述空閑計數(shù)值的總和小于第二門限,所述操作系統(tǒng)內(nèi)核在所有處于休眠狀態(tài)的報文接收線程中選擇一報文接收線程,對被選擇的報文接收線程進行喚醒處理;
[0019]將所有非休眠狀態(tài)的報文接收線程的空閑計數(shù)值清零。
[0020]結(jié)合第一方面的第四種可能的實現(xiàn)方式,在第一方面的第五種可能的實現(xiàn)方式中,所述操作系統(tǒng)內(nèi)核在所有處于非休眠狀態(tài)的報文接收線程中選擇一報文接收線程,對被選擇的報文接收線程進行休眠處理,包括:
[0021]所述操作系統(tǒng)內(nèi)核獲取所述被選擇的報文接收線程的信號量,并將所述被選擇的報文接收線程的非休眠標識改為休眠標識;
[0022]所述操作系統(tǒng)內(nèi)核在所有處于休眠狀態(tài)的報文接收線程中選擇一報文接收線程,對被選擇的報文接收線程進行喚醒處理,包括:
[0023]所述操作系統(tǒng)內(nèi)核將所述被選擇的報文接收線程的休眠標識改為非休眠標識,并將所述被選擇的報文接收線程的信號量釋放。
[0024]第二方面,本發(fā)明實施例提供一種調(diào)整網(wǎng)絡設備資源配置的裝置,包括:
[0025]設置模塊,用于在網(wǎng)絡設備操作系統(tǒng)初始化時,將M個報文接收線程的工作狀態(tài)設置為休眠狀態(tài)、將N個報文接收線程的工作狀態(tài)設置為非休眠狀態(tài),M和N均為自然數(shù),M大于N, M與N的和是一固定值;
[0026]統(tǒng)計模塊,用于在檢測周期內(nèi),統(tǒng)計所有非休眠狀態(tài)的報文接收線程的空閑計數(shù)值的總和,所述空閑計數(shù)值是指一個非休眠狀態(tài)的報文接收線程在一個所述檢測周期內(nèi)未接收到數(shù)據(jù)包的次數(shù);
[0027]調(diào)整模塊,用于根據(jù)所述統(tǒng)計模塊得到的所述空閑計數(shù)值的總和,調(diào)整報文接收線程的工作狀態(tài)。
[0028]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述設置模塊用于:
[0029]分別為所述M個報文接收線程中的每個報文接收線程創(chuàng)建對應的信號量和休眠標識,所述休眠標識用于指示報文接收線程處于休眠狀態(tài),并獲取所述操作系統(tǒng)內(nèi)核創(chuàng)建的信號量,陷入內(nèi)核;
[0030]分別為所述N個報文接收線程中的每個報文接收線程創(chuàng)建信號量和非休眠標識,所述非休眠標識用于指示報文接收線程處于非休眠狀態(tài),并在有數(shù)據(jù)包到來時接收所述數(shù)據(jù)包,無數(shù)據(jù)包到來時將所述報文接收線程的空閑計數(shù)值進行加一操作。
[0031]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,所述調(diào)整模塊用于:
[0032]在一個處理器核心的所述檢測周期內(nèi)根據(jù)所述空閑計數(shù)值的總和,調(diào)整報文接收線程的工作狀態(tài)。
[0033]結(jié)合第二方面、第二方面的第一種或第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,所述檢測周期為所述操作系統(tǒng)的一個時隙中斷時間的整數(shù)倍。
[0034]結(jié)合第二方面至第二方面的第三種可能的實現(xiàn)方式中任一項所述的裝置,在第二方面的第四種可能的實現(xiàn)方式中,所述調(diào)整模塊用于:
[0035]如果所述空閑計數(shù)值的總和大于第一門限,在所有處于非休眠狀態(tài)的報文接收線程中選擇一報文接收線程,對被選擇的報文接收線程進行休眠處理;
[0036]如果所述空閑計數(shù)值的總和小于第二門限,在所有處于休眠狀態(tài)的報文接收線程中選擇一報文接收線程,對被選擇的報文接收線程進行喚醒處理;
[0037]將所有非休眠狀態(tài)的報文接收線程的空閑計數(shù)值清零。
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1