專利名稱:主從式多處理器系統(tǒng)報(bào)文通道控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信系統(tǒng)中采用主從式多處理器的路由器技術(shù),特別 涉及路由器中報(bào)文通道的控制。
技術(shù)背景在采用主從方式多處理器的路由器中, 一般從處理器用來進(jìn)行報(bào) 文轉(zhuǎn)發(fā), 一個(gè)主處理器進(jìn)行控制及特殊報(bào)文的處理等。在從處理器通 往主處理器的報(bào)文通道中,有大量的報(bào)文需要被傳送,如鏈路控制報(bào) 文、本機(jī)的路由協(xié)議報(bào)文、缺乏快速轉(zhuǎn)發(fā)記錄的IP轉(zhuǎn)發(fā)報(bào)文、需要 用防火墻功能進(jìn)行嚴(yán)格檢查的特殊報(bào)文等等。如果該報(bào)文通道處理得 不好,有可能發(fā)生擁塞,導(dǎo)致系統(tǒng)不能正常運(yùn)行。如由于高速接口大量灌包引起低速接口的關(guān)鍵報(bào)文如keepalive (保活包)被丟失、由 于惡意攻擊大量報(bào)文涌上主處理器導(dǎo)致主處理器因負(fù)荷過重而無法 正常工作、路由變化時(shí)由于轉(zhuǎn)發(fā)表項(xiàng)需要刷新導(dǎo)致大量報(bào)文阻塞在通 道上而其他正常上送的報(bào)文被丟失等等。由于該數(shù)據(jù)通道本身具有隊(duì) 列特點(diǎn),因此, 一般在通道的管理上,都采取通過隊(duì)列來丟棄多余報(bào) 文的方式。一種方法是采取優(yōu)先級(jí)隊(duì)列的方法,即將報(bào)文按照類型進(jìn)行分 類,然后進(jìn)入不同優(yōu)先級(jí)別的隊(duì)列,調(diào)度時(shí)按照隊(duì)列優(yōu)先級(jí)進(jìn)行調(diào)度, 該方法可以保證重要的報(bào)文入隊(duì),但可能出現(xiàn)低優(yōu)先級(jí)隊(duì)列被餓死的 現(xiàn)象。另一種方法是按照接收接口入不同的隊(duì)列輪詢調(diào)度的方式,該方 法保證了低速接口的報(bào)文不被高速接口擠死,但如果低速接口較多, 輪詢本身就比較耗資源,引起高速接口性能下降,同時(shí),同一個(gè)接口 需要優(yōu)先保證的報(bào)文可能被海量的其他報(bào)文所湮沒。以上方法都是靠隊(duì)列機(jī)制來實(shí)現(xiàn)自然丟棄,所以都存在可能導(dǎo)致 處理器資源被耗盡的問題,即當(dāng)報(bào)文量遠(yuǎn)遠(yuǎn)超過處理器的處理能力時(shí),調(diào)度任務(wù)可能消耗100%的處理器資源,而其他低優(yōu)先級(jí)任務(wù)遲遲得不到調(diào)度引發(fā)問題。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題,就是針對(duì)現(xiàn)有技術(shù)容易造成處理器 資源耗盡、低優(yōu)先級(jí)隊(duì)列被餓死的缺點(diǎn),提供一種主從式多處理器主 從處理器之間報(bào)文通道控制方法。本發(fā)明解決所述技術(shù)問題,采用的技術(shù)方案是,主從式多處理器 系統(tǒng)報(bào)文通道控制方法,其特征在于,根據(jù)通道隊(duì)列空閑率q,進(jìn)行 系統(tǒng)狀態(tài)的切換;在不同系統(tǒng)狀態(tài)下,調(diào)整系統(tǒng)策略,在通道發(fā)生擁 塞之前,主動(dòng)丟棄報(bào)文。具體的,包括以下步驟a. 在系統(tǒng)狀態(tài)機(jī)中設(shè)定空閑率q的個(gè)閾值ql>q2>q3>q4;b. 初始階段,報(bào)文轉(zhuǎn)發(fā)不受限制,系統(tǒng)定義為自由狀態(tài);c. 系統(tǒng)在自由狀態(tài)時(shí),檢査隊(duì)列當(dāng)前空閑率,當(dāng)空閑率q<q2 時(shí),系統(tǒng)定義為臨界狀態(tài);d. 系統(tǒng)進(jìn)入臨界狀態(tài)后,繼續(xù)檢查隊(duì)列空閑率 當(dāng)空閑率逐步變高且q》ql時(shí),系統(tǒng)回到自由狀態(tài);或當(dāng)空閑率持續(xù)降低且q《q3時(shí),系統(tǒng)定義為限制狀態(tài),計(jì)算出第一個(gè)調(diào)整周期,進(jìn)入下面步驟;e. 系統(tǒng)進(jìn)入限制狀態(tài)后,在確定的調(diào)整周期內(nèi),對(duì)入隊(duì)的報(bào)文 進(jìn)行審核,并檢査隊(duì)列空閑率的變化如果隊(duì)列空閑率逐步變高且q》q2,則系統(tǒng)回到自由狀態(tài),或;空閑率持續(xù)快速下降,則進(jìn)入下面步驟f. 根據(jù)當(dāng)前活動(dòng)接口的類型,系統(tǒng)確定一個(gè)默認(rèn)接收比例,根 據(jù)臨界狀態(tài)所捕獲的網(wǎng)絡(luò)狀況對(duì)默認(rèn)比例調(diào)整后,作為初始接收比 例;以后每個(gè)周期結(jié)束時(shí),根據(jù)網(wǎng)絡(luò)流量變化調(diào)整該比例值;g. 各接口根據(jù)分配到的接收比例以及接收?qǐng)?bào)文的情況,調(diào)整其 狀態(tài);h. 各接口依據(jù)其不同的狀態(tài)對(duì)報(bào)文進(jìn)行處理自由態(tài)時(shí)報(bào)文直接轉(zhuǎn)發(fā),受限態(tài)時(shí)根據(jù)優(yōu)先級(jí)進(jìn)行不同的控制,空閑率低于q4時(shí), 接口為丟棄態(tài),報(bào)文直接丟棄。具體的,空閑率q的定義為當(dāng)前隊(duì)列的空閑長(zhǎng)度與隊(duì)列總長(zhǎng)度 之比。本發(fā)明的有益效果是,從機(jī)制上避免擁塞的發(fā)生。當(dāng)高速接口海 量灌包時(shí),低速接口不會(huì)因?yàn)閬G失保活包,導(dǎo)致鏈路斷開接口不通; 保證隊(duì)列不會(huì)出現(xiàn)持續(xù)滿的狀態(tài),有效地保證主處理器的處理器資源 被該調(diào)度任務(wù)獨(dú)占;當(dāng)海量報(bào)文來到時(shí),需要優(yōu)先保證的報(bào)文能夠得 到保證;攻擊報(bào)文來得過猛時(shí),其他正常報(bào)文被湮沒的現(xiàn)象得到極大 緩和。
具體實(shí)施方式
以下結(jié)合實(shí)施例,詳細(xì)描述本發(fā)明的技術(shù)方案。 本發(fā)明依據(jù)隊(duì)列當(dāng)前的空閑率來判斷系統(tǒng)當(dāng)前狀態(tài),在不同的狀態(tài)下智能地調(diào)整成不同的策略,事先主動(dòng)丟棄一些需要丟棄的報(bào)文,從機(jī)制上避免擁塞的發(fā)生,而不是發(fā)生后再自然丟棄。首先,依據(jù)當(dāng)前隊(duì)列的空閑率,把系統(tǒng)區(qū)分成三種狀態(tài)自由狀態(tài),臨界狀態(tài),限制狀態(tài)。在系統(tǒng)狀態(tài)機(jī)中設(shè)定空閑率q的閾值ql〉q2〉q3〉q4這三種系統(tǒng)狀態(tài)依據(jù)隊(duì)列空閑率q可以相互切換,隊(duì)列的空閑率 是指當(dāng)前隊(duì)列的空閑長(zhǎng)度與隊(duì)列總長(zhǎng)度的比值。系統(tǒng)初始為自由狀 態(tài),報(bào)文轉(zhuǎn)發(fā)不受限制,根據(jù)隊(duì)列空閑率的變化進(jìn)行狀態(tài)的切換,主 要包括如下步驟1. 系統(tǒng)在自由狀態(tài)時(shí),檢查隊(duì)列當(dāng)前空閑率,當(dāng)空閑率q<q2 時(shí),系統(tǒng)從自由狀態(tài)切換到臨界狀態(tài);2. 系統(tǒng)進(jìn)入臨界狀態(tài)后,檢查隊(duì)列空閑率當(dāng)空閑率逐步變高 且q^ql時(shí),系統(tǒng)切換回自由狀態(tài);當(dāng)空閑率持續(xù)降低且q《q3時(shí), 計(jì)算出第一個(gè)調(diào)整周期,系統(tǒng)切換至限制狀態(tài),進(jìn)入步驟3;3. 系統(tǒng)進(jìn)入限制狀態(tài)后,在確定的調(diào)整周期內(nèi),對(duì)入隊(duì)的報(bào)文 進(jìn)行審核,并判斷隊(duì)列空閑率的變化如果隊(duì)列空閑率逐步變高且q》q2,則系統(tǒng)切換回自由狀態(tài), 進(jìn)入步驟l;或,空閑率持續(xù)快速下降,系統(tǒng)通過一定的控制策略,確定如何 處理報(bào)文。進(jìn)一步的,在限制狀態(tài)內(nèi),各接口也會(huì)根據(jù)各周期的接收?qǐng)?bào)文數(shù) 目調(diào)整下一周期的比例,確定一個(gè)數(shù)據(jù),因此,接口也存在三種狀態(tài): 自由態(tài)、受限態(tài)和丟態(tài)。其中,自由態(tài)一般針對(duì)當(dāng)前流量特別小的 接口,丟棄態(tài)總是發(fā)生在系統(tǒng)特別緊急的時(shí)候,而受限態(tài)則意味著需 要對(duì)該接口接收到的報(bào)文進(jìn)行進(jìn)一步的分類,如判斷報(bào)文類型、報(bào)文 所屬的連接、或者是防火墻發(fā)來的特殊的指示等。實(shí)施例在非對(duì)稱雙處理器路由系統(tǒng)中, 一個(gè)從處理器實(shí)現(xiàn)報(bào)文的快速轉(zhuǎn) 發(fā), 一個(gè)主處理器實(shí)現(xiàn)系統(tǒng)控制及特殊報(bào)文的處理。在這種系統(tǒng)中, 從處理器到主處理器的報(bào)文通道可能發(fā)生擁塞,本發(fā)明可以比較好的 解決此問題。本發(fā)明不依賴于其他輔助任務(wù)完成,所有動(dòng)作都由從處理器報(bào)文 入隊(duì)請(qǐng)求來觸發(fā),因此所有的動(dòng)作都在從處理器上執(zhí)行。在系統(tǒng)狀態(tài)機(jī)中,設(shè)定空閑率q的閾值ql〉q2〉q3〉q4:閾值ql表示空閑率高;閾值q2表示空閑率開始告警;閾值q3表示空閑率較低;空閑率〈q3,隊(duì)列已無空閑;空閑率低到q4,有些接口開始丟棄報(bào)文。系統(tǒng)狀態(tài)機(jī)工作原理.-自由狀態(tài)一開始,系統(tǒng)處于自由狀態(tài),報(bào)文不做任何限制,每一個(gè)入隊(duì)請(qǐng) 求都能得到滿足,同時(shí)檢查隊(duì)列當(dāng)前空閑率q,依據(jù)空閑率q的大小 觸發(fā)A和B兩個(gè)動(dòng)作之一A:空閑率低于閾值q2,開始告警;動(dòng)作初始化各接口收包默認(rèn)比例,以及其他后面所需要的統(tǒng)計(jì) 數(shù)據(jù),同時(shí)狀態(tài)轉(zhuǎn)換到臨界狀態(tài)。B:空閑率q還比較高,繼續(xù)維持在自由狀態(tài)。 臨界狀態(tài)臨界狀態(tài)依據(jù)空閑率q的大小,觸發(fā)C、 D和E三個(gè)動(dòng)作之一 C: 一段時(shí)間以后,空閑率回升,升到閾值ql以上,說明剛才隊(duì)列的堆積僅僅是瞬間突發(fā),該突發(fā)動(dòng)作已經(jīng)和緩或結(jié)束,退回到自 由狀態(tài)。D:空閑率在閾值ql和閾值q3之間,沒有明顯下降或升高動(dòng)作 保持在臨界狀態(tài),繼續(xù)觀察。E:空閑率繼續(xù)下降到閾值q3以下,需要限制;動(dòng)作系統(tǒng)根據(jù)接口類型和帶寬確定一個(gè)初始默認(rèn)接收比例,以 進(jìn)入臨界狀態(tài)到此時(shí)的時(shí)間差值作為初始統(tǒng)計(jì)周期,根據(jù)本周期所統(tǒng) 計(jì)到的收發(fā)數(shù)據(jù)來對(duì)初始默認(rèn)接收比例做一個(gè)校正,得到下一個(gè)周期 用來參照的限制條件,并依據(jù)當(dāng)前數(shù)據(jù)得到各接口下一周期的狀態(tài), 然后系統(tǒng)轉(zhuǎn)換到限制狀態(tài),并開始下一個(gè)調(diào)整周期。限制狀態(tài)此狀態(tài)內(nèi)對(duì)申請(qǐng)入隊(duì)的報(bào)文進(jìn)行審核,根據(jù)當(dāng)前系統(tǒng)狀況決定是 否入隊(duì),每一次申請(qǐng)都將觸發(fā)F、 G和H、 I等四個(gè)動(dòng)作之一 F:本調(diào)整周期未結(jié)束,空閑率無明顯下降趨勢(shì); 動(dòng)作查看接收接口當(dāng)前狀態(tài),處于自由態(tài)則直接入隊(duì),處于丟 棄態(tài)則直接丟棄,處于受限態(tài)則依據(jù)當(dāng)前接口本周期允許入隊(duì)數(shù)目、 報(bào)文類型、對(duì)應(yīng)數(shù)據(jù)流的入隊(duì)情況綜合判斷,決定是否可以入隊(duì)。 G:本調(diào)整周期結(jié)束,或者本周期內(nèi)空閑率下降過快; 動(dòng)作結(jié)束本周期;如果是空閑率下降太快,說明臨界狀態(tài)定下 的周期時(shí)間太長(zhǎng),粒度太大,不利于控制,需要提前結(jié)束本周期,并 重新修正周期時(shí)間。依據(jù)本周期的統(tǒng)計(jì)值,重新調(diào)整限制條件,如果 空閑率繼續(xù)下降則加大限制條件,否則適當(dāng)放寬,并開始下一個(gè)調(diào)整 周期。H:本調(diào)整周期結(jié)束,空閑率回升到閾值q2以上,且連續(xù)N個(gè) 周期報(bào)文丟棄數(shù)目為0;動(dòng)作系統(tǒng)轉(zhuǎn)換到自由狀態(tài)。I:(緊急控制事件)無論本周期是否已經(jīng)結(jié)束,如果空閑率低于 閾值q4,直接觸發(fā)該事件;動(dòng)作不強(qiáng)行結(jié)束本周期,直接將接口狀態(tài)以及流狀態(tài)等設(shè)置成 最嚴(yán)厲的控制,可以直接將接口狀態(tài)設(shè)置成丟棄態(tài),開始主動(dòng)丟棄報(bào) 文。丟棄態(tài)的接口需要等到資源回緩的時(shí)候某周期結(jié)束放寬限制時(shí)自 然修正為限制態(tài)。本發(fā)明的主要優(yōu)點(diǎn)在于其智能性上,這體現(xiàn)在幾個(gè)方面1、依 據(jù)當(dāng)前隊(duì)列狀態(tài)判斷主處理器的負(fù)載繁忙程度,由報(bào)文觸發(fā)智能運(yùn)轉(zhuǎn) 狀態(tài)機(jī);2、臨界狀態(tài)的引入,智能地計(jì)算出調(diào)整周期的時(shí)間,并在隨后的每個(gè)周期內(nèi)動(dòng)態(tài)調(diào)整,這樣可以適應(yīng)多種原因引起的報(bào)文擁塞;3、接口的可入隊(duì)比例按照最近統(tǒng)計(jì)數(shù)據(jù)進(jìn)行加權(quán)智能調(diào)整;4、根據(jù)當(dāng)前現(xiàn)狀智能調(diào)整報(bào)文限制的力度。通過這些智能策略的綜合應(yīng)用,從源頭上避免通道擁塞發(fā)生,而 不是發(fā)生以后再想辦法丟棄。
權(quán)利要求
1. 主從式多處理器系統(tǒng)報(bào)文通道控制方法,其特征在于,根據(jù)通道隊(duì)列空閑率q,進(jìn)行系統(tǒng)狀態(tài)的切換;在不同系統(tǒng)狀態(tài)下,調(diào)整系統(tǒng)策略,在通道發(fā)生擁塞之前,主動(dòng)丟棄報(bào)文。
2. 根據(jù)權(quán)利要求1所述的主從式多處理器系統(tǒng)報(bào)文通道控制方 法,其特征在于,包括以下步驟a. 在系統(tǒng)狀態(tài)機(jī)中設(shè)定空閑率q的閾值ql〉q2>q3〉q4;b. 初始階段,報(bào)文轉(zhuǎn)發(fā)不受限制,系統(tǒng)定義為自由狀態(tài);c. 系統(tǒng)在自由狀態(tài)時(shí),檢査隊(duì)列當(dāng)前空閑率,當(dāng)空閑率q<q2 時(shí),系統(tǒng)定義為臨界狀態(tài);d. 系統(tǒng)進(jìn)入臨界狀態(tài)后,繼續(xù)檢查隊(duì)列空閑率 當(dāng)空閑率逐步變高且q^ql時(shí),系統(tǒng)回到自由狀態(tài);或 當(dāng)空閑率持續(xù)降低且q《q3時(shí),系統(tǒng)定義為限制狀態(tài),計(jì)算出第一個(gè)調(diào)整周期,進(jìn)入下面步驟;e. 系統(tǒng)進(jìn)入限制狀態(tài)后,在確定的調(diào)整周期內(nèi),對(duì)入隊(duì)的報(bào)文 進(jìn)行審核,并檢查隊(duì)列空閑率的變化如果隊(duì)列空閑率逐步變高且q^q2,則系統(tǒng)回到自由狀態(tài),或; 空閑率持續(xù)快速下降,則進(jìn)入下面步驟f. 根據(jù)當(dāng)前活動(dòng)接口的類型,系統(tǒng)確定一個(gè)默認(rèn)接收比例,根 據(jù)臨界狀態(tài)所捕獲的網(wǎng)絡(luò)狀況對(duì)默認(rèn)比例調(diào)整后,作為初始接收比 例;以后每個(gè)周期結(jié)束時(shí),根據(jù)網(wǎng)絡(luò)流量變化調(diào)整該比例值;g. 各接口根據(jù)分配到的接收比例以及接收?qǐng)?bào)文的情況,調(diào)整其 狀態(tài);h. 各接口依據(jù)其不同的狀態(tài)對(duì)報(bào)文進(jìn)行處理自由態(tài)時(shí)報(bào)文直 接轉(zhuǎn)發(fā),受限態(tài)時(shí)根據(jù)優(yōu)先級(jí)進(jìn)行不同的控制,空閑率低于q4時(shí), 接口為丟棄態(tài),報(bào)文直接丟棄。
3. 根據(jù)權(quán)利要求1或2所述的主從式多處理器系統(tǒng)報(bào)文通道控 制方法,其特征在于,空閑率q的定義為當(dāng)前隊(duì)列的空閑長(zhǎng)度與隊(duì) 列總長(zhǎng)度之比。
全文摘要
本發(fā)明涉及路由器中報(bào)文通道的控制。本發(fā)明針對(duì)現(xiàn)有主從式多處理器系統(tǒng),容易造成處理器資源耗盡、低優(yōu)先級(jí)隊(duì)列被餓死的缺點(diǎn),公開了一種主從式多處理器主從處理器之間報(bào)文通道控制方法。本發(fā)明的技術(shù)方案是,主從式多處理器系統(tǒng)報(bào)文通道控制方法,其特征在于,根據(jù)通道隊(duì)列空閑率q,進(jìn)行系統(tǒng)狀態(tài)的切換;在不同系統(tǒng)狀態(tài)下,調(diào)整系統(tǒng)策略,在通道發(fā)生擁塞之前,主動(dòng)丟棄報(bào)文。本發(fā)明的有益效果是,從機(jī)制上避免擁塞的發(fā)生。當(dāng)高速接口海量灌包時(shí),低速接口不會(huì)因?yàn)閬G失?;畎?,導(dǎo)致鏈路斷開接口不通;當(dāng)海量報(bào)文來到時(shí),需要優(yōu)先保證的報(bào)文能夠得到保證;攻擊報(bào)文來得過猛時(shí),其他正常報(bào)文被湮沒的現(xiàn)象得到極大緩和。
文檔編號(hào)H04L12/54GK101277253SQ20071004878
公開日2008年10月1日 申請(qǐng)日期2007年3月30日 優(yōu)先權(quán)日2007年3月30日
發(fā)明者劉奇志, 放 徐 申請(qǐng)人:邁普(四川)通信技術(shù)有限公司