欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多核資源的調(diào)度方法及裝置制造方法

文檔序號:6535352閱讀:177來源:國知局
一種多核資源的調(diào)度方法及裝置制造方法
【專利摘要】本發(fā)明實施例提供了一種多核資源的調(diào)度方法及裝置,該方法應用于包括有一個管理核和多個功能核的多核系統(tǒng)中,此管理核執(zhí)行下述流程:根據(jù)接收到的每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息,和每個流水線階段的功能核數(shù),確定每個流水線階段的功能核的負載狀態(tài);如果確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核后,添加到任一流水線階段中。本發(fā)明中的管理核可根據(jù)相關(guān)功能核的負載情況來調(diào)度核資源,提高了系統(tǒng)的業(yè)務處理效率。
【專利說明】—種多核資源的調(diào)度方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種多核資源的調(diào)度方法及裝置。
【背景技術(shù)】
[0002]隨著社會信息化程度的加深,人們對互聯(lián)網(wǎng)的依賴性越來越強,連接到網(wǎng)絡(luò)上的計算機節(jié)點也呈級數(shù)式的增長。網(wǎng)絡(luò)設(shè)備等作為計算機互聯(lián)的數(shù)據(jù)交換節(jié)點,其數(shù)據(jù)轉(zhuǎn)發(fā)性能決定了整個網(wǎng)絡(luò)的質(zhì)量。隨著用戶連接數(shù)的急劇增長和各種高帶寬應用的出現(xiàn),主頻提升受限的單核系統(tǒng)越來越難以滿足高速數(shù)據(jù)轉(zhuǎn)發(fā)的性能需求,而多核系統(tǒng)憑借其較低成本的可擴展能力和并行計算特性,逐漸在網(wǎng)絡(luò)通信領(lǐng)域得到廣泛應用。
[0003]所謂多核系統(tǒng),是指在一個硬件芯片上集成多個核心處理器(Core-CPU,簡稱為Core)的系統(tǒng),通常是共享內(nèi)存式結(jié)構(gòu)。也就是說,多核系統(tǒng)具備相對獨立的多個處理核,可以并行地執(zhí)行例如報文轉(zhuǎn)發(fā)等處理流程,進而提高多核系統(tǒng)整體的吞吐率。
[0004]具體地,在利用多核系統(tǒng)處理報文轉(zhuǎn)發(fā)流程時,為了提高處理性能,通常采用流水線模式進行處理,即將整個報文轉(zhuǎn)發(fā)過程劃分為多個流水線階段,例如報文接收階段、二層上行處理階段、路由轉(zhuǎn)發(fā)階段、二層下行處理階段和報文發(fā)送階段。那么,針對每個流水線階段所使用的核資源,目前通常是通過下述兩種方式進行分配:
[0005]第一種方式,固定分配核資源,即根據(jù)多核系統(tǒng)的相關(guān)業(yè)務的實際需求,事先設(shè)置各個流水線階段的核資源,使用比例事先設(shè)置為,例如,對于一個包括CoreO?Core7的多核系統(tǒng)說,假設(shè)根據(jù)實際業(yè)務需求,需要將各個流水線階段的核資源按照1:1:3:1:1的比例進行分配,例如具體分配如下=CoreO設(shè)定為管理核,COREl負責報文接收階段,C0RE2負責二層上行處理階段,C0RE3、C0RE4和C0RE5共同負責路由轉(zhuǎn)發(fā)階段,C0RE6負責二層下行處理階段,C0RE7負責報文發(fā)送階段,這樣,后續(xù)這些核對各自分配的流水線階段進行相關(guān)業(yè)務處理;
[0006]第二種方式,統(tǒng)一分配核資源,即在多核系統(tǒng)中選擇一個核作為管理核,其他核作為功能核,由管理核負責管理任務隊列,該管理核會將各個流水線階段進行優(yōu)先級劃分,使得同一流水線中對應的處理階段越往后的優(yōu)先級越高,以避免由于硬件資源不足而需要把前面處理階段執(zhí)行完的報文丟棄所作的無用功,使得不同流水線中對應相同處理階段的優(yōu)先級相同,后續(xù)指示功能核主動請求任務隊列中的某個流水線階段的任務,且在有功能核請求相關(guān)任務時,對任務隊列進行加鎖,等這個功能核請求完再接受其他功能核的任務請求。
[0007]從上述兩種分配資源的方式中可以看出,如果采用第一種方式的話,每個處理核只參與唯一一個流水線階段,這樣在各流水線或者同一條流水線中核資源分配不均衡時,就會出現(xiàn)一部分核很忙,另一部分核卻很空閑,容易造成系統(tǒng)瓶頸,導致多核系統(tǒng)的業(yè)務處理效率較低;如果采用第二種方式的話,在任務隊列中存在多條流水線的情況下,如果某些核在處理一部分流水線,任務隊列處于加鎖狀態(tài),其他功能核需要等待較長時間才能執(zhí)行另一部分流水線,導致多核系統(tǒng)的業(yè)務處理效率仍然較低。
【發(fā)明內(nèi)容】

[0008]本發(fā)明實施例提供了一種多核資源的調(diào)度方法及裝置,用以解決現(xiàn)有多核資源的分配方式導致多核系統(tǒng)的業(yè)務處理效率較低的問題。
[0009]基于上述問題,本發(fā)明實施例提供的一種多核資源的調(diào)度方法,該方法應用于包括有一個管理核和多個功能核的多核系統(tǒng)中,該方法包括:
[0010]所述管理核根據(jù)接收到的每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息,和所述每個流水線階段的功能核數(shù),確定所述每個流水線階段的功能核的負載狀態(tài);
[0011]如果確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核后,添加到所述任一流水線階段中,所述第一就緒核隊列為自身根據(jù)所述任一流水線階段的功能核發(fā)來的負載信息、所述任一流水線階段的功能核數(shù)和預設(shè)的備用核隊列中未加載所述任一流水線階段的映像程序的功能核數(shù),對包括有已加載所述映像程序的功能核的預設(shè)的第二就緒核隊列進行更新后得到的。
[0012]本發(fā)明實施例提供的一種多核資源的調(diào)度裝置,所述裝置位于多核系統(tǒng)中,且所述多核系統(tǒng)還包括多個功能核,該裝置包括:
[0013]接收模塊,用于接收每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息;
[0014]確定模塊,用于根據(jù)所述接收模塊接收到的負載信息,和所述每個流水線階段的功能核數(shù),確定所述每個流水線階段的功能核的負載狀態(tài);
[0015]選擇模塊,用于在所述確定模塊確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核,所述第一就緒核隊列為自身根據(jù)所述任一流水線階段的功能核發(fā)來的負載信息、所述任一流水線階段的功能核數(shù)和預設(shè)的備用核隊列中未加載所述任一流水線階段的映像程序的功能核數(shù),對包括有已加載所述映像程序的功能核的預設(shè)的第二就緒核隊列進行更新后得到的;
[0016]添加模塊,用于將所述選擇模塊選擇出的功能核,添加到所述任一流水線階段中。
[0017]本發(fā)明實施例的有益效果包括:
[0018]本發(fā)明實施例提供的一種多核資源的調(diào)度方法及裝置,該方法應用于包括有一個管理核和多個功能核的多核系統(tǒng)中,此管理核執(zhí)行下述流程:根據(jù)接收到的每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息,和每個流水線階段的功能核數(shù),確定每個流水線階段的功能核的負載狀態(tài);如果確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核后,添加到任一流水線階段中。在本發(fā)明實施例中,管理核可根據(jù)各個流水線階段的功能核周期性地上報相關(guān)負載信息,以及各流水線階段的功能核數(shù),來確定出各流水線階段的功能核負載情況,這樣,在確定出功能核負載較重的情況下,為其調(diào)度已加載相關(guān)映像程序的功能核,大大提高了系統(tǒng)的業(yè)務處理效率。
【專利附圖】

【附圖說明】
[0019]圖1為本發(fā)明實施例提供的多核資源的調(diào)度方法的流程圖;
[0020]圖2為本發(fā)明實施例提供的管理核確定各流水線階段的功能核的負載狀態(tài)的流程圖;[0021]圖3為本發(fā)明實施例提供的管理核對備用核隊列進行更新的流程圖;
[0022]圖4為本發(fā)明實施例提供的多核資源的調(diào)度裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0023]下面結(jié)合說明書附圖,對本發(fā)明實施例提供的一種多核資源的調(diào)度方法及裝置的【具體實施方式】進行說明。
[0024]本發(fā)明實施例提供的一種多核資源的調(diào)度方法,該方法應用于包括有一個管理核和多個功能核的多核系統(tǒng)中,如圖1所示,該方法具體包括以下步驟:
[0025]Sll:管理核根據(jù)接收到的每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息,和每個流水線階段的功能核數(shù),確定每個流水線階段的功能核的負載狀態(tài);
[0026]S12:如果確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核后,添加到任一流水線階段中。
[0027]在本發(fā)明實施例中,對于管理核來說,還可執(zhí)行下述流程:在確定出任一流水線階段的任一功能核的負載狀態(tài)為低負載狀態(tài),則停止任一流水線階段的任一功能核的運行后,添加到第一就緒核隊列中。
[0028]也就是說,在某個流水線階段的功能核負載相對較輕時,管理核會停止該功能核上正在運行的相關(guān)任務,對其已有的負載不做任何處理,只是將其設(shè)置為休眠狀態(tài),添加到第一就緒核隊列中,此時,并不對該功能核上已加載的相關(guān)影像程序進行卸載,以使得該功能核只是暫時處于休眠狀態(tài),待后續(xù)核資源緊張時再繼續(xù)進行工作。
[0029]具體地,在上述步驟Sll中,預設(shè)周期可根據(jù)各流水線階段的功能核的實際運行情況來確定,例如預設(shè)周期為60秒,當然,也可以是其他數(shù)值。
[0030]進一步地,在上述步驟Sll中,對于每個流水線階段來說,負責這個流水線階段的功能核可能有多個,也可能僅有一個,那么,在每個流水線階段的功能核為多個的情況下,管理核具體可通過下述步驟確定出每個流水線階段的功能核的負載狀態(tài)(如圖2所示):
[0031]S21:根據(jù)每個流水線階段的核資源使用率和功能核數(shù),計算每個流水線階段的核資源冗余度值;
[0032]在這里,上述每個流水線階段的核資源使用率,為每個流水線階段的功能核的CPU平均占用率,每個功能核的CPU占用率均是各自根據(jù)監(jiān)測到的網(wǎng)絡(luò)流量統(tǒng)計出的;
[0033]S22:分別判斷計算出的每個核資源冗余度值是否不小于第一設(shè)定閾值;若是,執(zhí)行步驟S23 ;否則,執(zhí)行步驟S24 ;
[0034]S23:判斷每個流水線階段的功能核的CPU平均占用率是否不大于第一設(shè)定百分比;若是,執(zhí)行步驟S25 ;否則,執(zhí)行步驟S24 ;
[0035]S24:判斷每個流水線階段的功能核的CPU最高占用率是否不小于第二設(shè)定百分比;若是,執(zhí)行步驟S26 ;否則,執(zhí)行步驟S27 ;
[0036]S25:將對應的功能核中CPU占用率最低的功能核的負載狀態(tài)確定為低負載狀態(tài);
[0037]S26:將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);
[0038]S27:將對應的功能核的負載狀態(tài)確定為正常負載狀態(tài)。
[0039]需要說明的是,對于每個流水線階段的功能核僅為一個時,管理核確定對應功能核的負載狀態(tài)的流程與上述流程類似,與之不同的是,在計算該功能核的核資源冗余度值時,采用的核資源使用率是該功能核的CPU占用率。
[0040]優(yōu)選地,在上述步驟S21中,管理核可具體利用下述公式D=RX (1_C),計算得到每個流水線階段的核資源冗余度值,其中,D為每個流水線階段的核資源冗余度值,R為每個流水線階段的功能核數(shù),C為每個流水線階段的核資源使用率。
[0041]需要說明的是,上述核資源冗余度值,實際上是用于表征流水線階段的功能核的整體使用冗余情況的參數(shù),它的值越高,就代表著相應流水線階段的功能核的整體冗余較多,但是,這并不意味著此流水線階段上的低負載功能核較多,主要是因為受到上述計算公式的限制,即在此流水線階段的功能核較多的情況下,上述公式中的C代表的是這些功能核的CPU平均占用率,這樣一來,雖然計算出的核資源冗余度值較高,但平均到每個功能核之后,可能某些功能核仍處于負載較高的狀態(tài)。
[0042]在這里,之所以要計算每個流水線階段的核資源冗余度值,主要是為了通過每個流水線階段的功能核的冗余程度,來對各流水線階段的功能核的負載做初步評估,以便根據(jù)初步評估結(jié)果和后續(xù)相關(guān)判定條件,準確地確定出各流水線階段的功能核的實際負載狀態(tài),以實現(xiàn)根據(jù)各流水線階段的功能核的實際負載情況來完成核資源的相關(guān)調(diào)度,進而提高系統(tǒng)的業(yè)務處理效率。
[0043]優(yōu)選地,在上述步驟S22中,上述第一設(shè)定閾值可根據(jù)各流水線階段的功能核的實際運行情況來確定,例如,上述第一設(shè)定閾值設(shè)定為1.5,當然,也可以設(shè)定為其他數(shù)值。
[0044]優(yōu)選地,在上述步驟S23中,上述第一設(shè)定百分比是用于表征確定低負載功能核的參數(shù),仍可根據(jù)各流水線階段的功能核的實際運行情況來確定,例如,第一設(shè)定百分比可設(shè)定為80%,當然,也可以設(shè)定為其他數(shù)值。
[0045]優(yōu)選地,在上述步驟S24中,上述第二設(shè)定百分比是用于表征確定超負載功能核的參數(shù),仍可根據(jù)各流水線階段的功能核的實際運行情況來確定,在這種情況下,上述第二設(shè)定百分比通常大于上述第一設(shè)定百分比,例如,第二設(shè)定百分比可設(shè)定為95%,當然,也可以設(shè)定為其他數(shù)值。
[0046]具體地,在上述步驟S12中,上述第一就緒核隊列,實際上是管理核根據(jù)任一流水線階段的功能核發(fā)來的負載信息、任一流水線階段的功能核數(shù)和預設(shè)的備用核隊列中未加載任一流水線階段的映像程序的功能核數(shù),對包括有已加載映像程序的功能核的預設(shè)的第二就緒核隊列進行更新后得到的。
[0047]也就是說,在本發(fā)明實施例中,管理核為了能夠?qū)崿F(xiàn)根據(jù)各個流水線階段的功能核的相關(guān)負載情況,對各個流水線階段的功能核進行調(diào)度,以提高系統(tǒng)的業(yè)務處理效率,在管理核側(cè)預先配置了各個流水線階段的就緒核隊列和備用核隊列,每個就緒核隊列是由已加載過相應映像程序的功能核組成的隊列,每個備用核隊列是由未加載相應映像程序的功能核組成的隊列,這樣一來,后續(xù)此管理核在收到各流水線階段的功能核上報的相關(guān)負載信息之后,會依據(jù)上述參數(shù)信息對就緒核隊列中的核資源進行評估,并根據(jù)評估結(jié)果進行相應調(diào)整,以便后續(xù)進行相關(guān)核資源的調(diào)度,這樣,在某個功能核的負載較重的情況下,可直接喚醒就緒核隊列中的功能核,無需對沒有任何映像程序的功能核進行相關(guān)加載,更進一步地提聞了系統(tǒng)處理業(yè)務的效率。
[0048]進一步地,對于管理核來說,具體可通過下述流程得到第一就緒核隊列:利用公式D=RX (1-C),計算得到任一流水線階段的核資源冗余度值,并判斷其是否不大于第二設(shè)定閾值;在判斷為是時,根據(jù)備用核隊列中的功能核數(shù)、任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對備用核隊列進行更新;在判斷為否時,根據(jù)任一流水線階段的核資源使用率、備用核隊列中的功能核數(shù)、任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對備用核隊列進行更新;根據(jù)更新后的備用核隊列中的功能核數(shù),對第二就緒核隊列進行更新后得到第一就緒核隊列。
[0049]需要說明的是,管理核主要是利用上述核資源冗余度值對備用核隊列中的功能核進行初步調(diào)整,以便后續(xù)與就緒核隊列中的功能核進行比較,并根據(jù)比較結(jié)果進一步調(diào)整就緒核隊列中的功能核,進而更好地調(diào)整某個流水線階段的功能核,使得可以高效率的處理業(yè)務,基于此種情況,通常第二設(shè)定閾值比第一設(shè)定閾值小,例如,第二設(shè)定閾值設(shè)定為
0.5,當然,也可以設(shè)定為其他數(shù)值。
[0050]更進一步地,在本發(fā)明實施例中,如圖3所示,管理核可具體通過下述步驟實現(xiàn)對備用核隊列的更新:
[0051]S31:管理核判斷任一流水線階段的核資源冗余度值是否不大于第二設(shè)定閾值;若是,執(zhí)行步驟S32,否則,執(zhí)行步驟S33 ;
[0052]S32:判斷備用核隊列中的功能核數(shù)是否不小于第三設(shè)定個數(shù);若是,執(zhí)行步驟S34,否則,執(zhí)行步驟S35 ;
[0053]S33:判斷任一流水線階段的核資源使用率是否不小于第三設(shè)定百分比;若是,執(zhí)行步驟S32 ;否則,執(zhí)行步驟S34 ;
[0054]S34:判斷任一流水線階段的功能核數(shù)與備用核隊列中的功能核數(shù)之和是否不大于第二設(shè)定個數(shù);若是,執(zhí)行步驟S36,否則,執(zhí)行步驟S37 ;
[0055]S35:添加第四設(shè)定個數(shù)的功能核到備用核隊列中;
[0056]S36:添加功能核到備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;
[0057]S37:將備用核隊列作為更新后的備用核隊列;
[0058]S38:判斷任一流水線階段的功能核數(shù)與添加后的備用核隊列中的功能核數(shù)之和是否不大于第二設(shè)定個數(shù);若是,執(zhí)行步驟S39 ;否則,執(zhí)行步驟S37 ;
[0059]S39:再次添加功能核到備用核隊列中,以使再次添加后的備用核隊列中的功能核數(shù)與第二設(shè)定個數(shù)相同,并將再次添加后的備用核隊列作為更新后的備用核隊列添加后的備用核隊列作為更新后的備用核隊列。
[0060]需要說明的是,在本發(fā)明實施例中,對于管理核來說,之所以需要執(zhí)行上述一系列的步驟,主要是為了能夠通過上述任一流水線階段的功能核的冗余程度,初步對備用隊列中的功能核進行調(diào)整,這樣一來,后續(xù)可再根據(jù)備用隊列中的功能核數(shù),對第二就緒隊列中的功能核進行調(diào)整,以使得后續(xù)上述任一流水線階段的功能核的負載較重時,相關(guān)就緒隊列中有充足的核資源可以進行調(diào)度,從而提高系統(tǒng)的業(yè)務處理效率。
[0061]進一步地,在管理核執(zhí)行完上述一系列的步驟之后,即得到更新后的備用核隊列之后,可具體通過下述流程得到第一就緒核隊列:將更新后的備用核隊列中的功能核數(shù)與第二就緒核隊列中的功能核數(shù)進行比較,在比較出兩者的功能核數(shù)相同時,將第二就緒核隊列作為第一就緒核隊列;在比較出前者的功能核數(shù)大于后者的功能核數(shù)時,從備用核隊列中選擇第五設(shè)定個數(shù)的功能核,并對選擇出的功能核進行映像程序的加載后,添加到第二就緒核隊列中,并將添加后的第二就緒核隊列作為第一就緒核隊列;在比較出前者的功能核數(shù)小于后者的功能核數(shù)時,從第二就緒核隊列中選擇第六設(shè)定個數(shù)的功能核,并對選擇出的功能核進行映像程序的卸載,并將卸載后的第二就緒核隊列作為第一就緒核隊列。這樣,管理核可根據(jù)備用核隊列中的功能核數(shù),對第二就緒核隊列中的功能核數(shù)進行適當調(diào)整,以便后續(xù)進行核資源的調(diào)度。
[0062]需要說明的是,在本發(fā)明實施例中,上述第一設(shè)定個數(shù)、第二設(shè)定個數(shù)、第三設(shè)定個數(shù)、第四設(shè)定個數(shù)、第五設(shè)定個數(shù)、第六設(shè)定個數(shù)和第三設(shè)定百分比均可根據(jù)各流水線階段的功能核的實際運行情況來確定,前述這些設(shè)定個數(shù)可以設(shè)定為相同數(shù)值,也可以設(shè)定為不同數(shù)值;例如第三設(shè)定百分比仍可設(shè)定為80%,當然,也可以是其他數(shù)值。
[0063]下面結(jié)合具體實施例對上述多核資源的調(diào)度方法進行詳細說明:
[0064]假設(shè)管理核正在處理IP報文,接收到報文接收流水線階段的功能核1、功能核2、和功能核3發(fā)來的CPU占用率,分別為75%、80%和96% ;假設(shè)備用核隊列中的功能核數(shù)為2個,第一設(shè)定個數(shù)為3個,第二設(shè)定個數(shù)為6個,第三設(shè)定個數(shù)為I個,第五設(shè)定個數(shù)為2個,第二就緒核隊列中的功能核數(shù)為3個,第一設(shè)定閾值為1.5,第二設(shè)定閾值為0.5,第二設(shè)定百分比為95%,第三設(shè)定百分比為80%。
[0065]那么,管理核在收到這3個核發(fā)來的CPU占用率之后,會先計算出此報文接收流水線階段的核資源冗余值(即0.48),可見,此核資源冗余值小于0.5,再將3個功能核的CPU平均占用率(即83.7%)與80%進行比較,得出83.7%是大于80%的,再比較備用核隊列中的功能核數(shù)和第三設(shè)定個數(shù),得出備用核隊列中的功能核數(shù)(即2個)是大于第三設(shè)定個數(shù)(即I個)的,此時,再將備用核隊列中的功能核數(shù)與接收處理階段的功能核數(shù)之和(即5個),與第二設(shè)定個數(shù)(即6個)進行比較,得出備用核隊列中的功能核數(shù)與接收處理階段的功能核數(shù)之和小于第二設(shè)定個數(shù),在這種情況下,向備用核隊列中添加一個功能核,即備用核隊列中的功能核當前是6個。
[0066]之后,再將此6個功能核與第二就緒核隊列中的功能核數(shù)(即3個)進行比較,得出更新后的備用核隊列中的功能核數(shù)是大于第二就緒核隊列中的功能核數(shù)的,這時,從6個功能核數(shù)中選出2個功能核,對其進行報文接收流水線階段的映像程序的加載,然后添加到第二就緒核隊列中,此時,第一就緒核隊列即為更新后的第二就緒核隊列(即當前第一就緒核隊列中有6個功能核)。
[0067]接下來,再將核資源冗余度值(即0.48)與第一設(shè)定閾值(即1.5)進行比較,得出核資源冗余度值小于第一設(shè)定閾值,進一步判斷這3個功能核中最高的CPU占用率(即96%)是否大于第二設(shè)定百分比(即95%),得出功能核3處于超負載狀態(tài),這時,從第一就緒核隊列中選擇3個添加到報文接收流水線階段,即喚醒選擇出的這3個功能核,根據(jù)對功能核狀態(tài)的判定,及時調(diào)度核資源,提高了報文接收流水線階段的處理效率。
[0068]基于同一發(fā)明構(gòu)思,本發(fā)明實施例還提供了一種多核資源的調(diào)度裝置,由于該裝置所解決問題的原理與前述多核資源的調(diào)度方法相似,因此該裝置的實施可以參見前述方法的實施,重復之處不再贅述。
[0069]本發(fā)明實施例提供的一種多核資源的調(diào)度裝置,該裝置位于多核系統(tǒng)中,且多核系統(tǒng)還包括多個功能核,如圖4所示,該裝置具體包括:
[0070]接收模塊41,用于接收每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息;[0071]確定模塊42,用于根據(jù)接收模塊41接收到的負載信息,和每個流水線階段的功能核數(shù),確定每個流水線階段的功能核的負載狀態(tài);
[0072]選擇模塊43,用于在確定模塊42確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核;
[0073]在這里,上述第一就緒核隊列為裝置根據(jù)任一流水線階段的功能核發(fā)來的負載信息、任一流水線階段的功能核數(shù)和預設(shè)的備用核隊列中未加載任一流水線階段的映像程序的功能核數(shù),對包括有已加載映像程序的功能核的預設(shè)的第二就緒核隊列進行更新后得到的;
[0074]添加模塊44,用于將選擇模塊43選擇出的功能核,添加到任一流水線階段中。
[0075]優(yōu)選地,上述裝置,還包括停止模塊45,
[0076]上述停止模塊45,用于在確定模塊42確定出任一流水線階段的任一功能核的負載狀態(tài)為低負載狀態(tài)時,停止任一流水線階段的任一功能核的運行;
[0077]上述添加模塊44,還用于在停止模塊45停止任一流水線階段的任一功能核的運行后,將其添加到第一就緒核隊列中。
[0078]優(yōu)選地,上述確定模塊42,具體用于根據(jù)每個流水線階段的核資源使用率和功能核數(shù),計算對應每個流水線階段的核資源冗余度值;在判斷出計算出的每個核資源冗余度值不小于第一設(shè)定閾值時,確定每個流水線階段的功能核為多個,并判斷對應的功能核的(PU平均占用率是否不大于第一設(shè)定百分比,在判斷為是時,將對應的功能核中CPU占用率最低的功能核的負載狀態(tài)確定為低負載狀態(tài);在判斷為否,且每個流水線階段的功能核中存在CPU占用率不小于第二設(shè)定百分比的功能核時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);在判斷出計算出的每個核資源冗余度值小于第一設(shè)定閾值時,在每個流水線階段的功能核為一個、且對應的CPU占用率不小于第二設(shè)定百分比時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);在每個流水線階段的功能核為多個、且存在CPU占用率不小于第二設(shè)定百分比的功能核時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);
[0079]在這里,上述每個流水線階段的核資源使用率為每個流水線階段的功能核僅為一個時,對應功能核的CPU占用率,或者為每個流水線階段的功能核為多個時,對應功能核的CPU平均占用率。
[0080]優(yōu)選地,上述確定模塊42,具體用于通過下述公式D=RX (1-C),計算得到每個流水線階段的核資源冗余度值,其中,D為每個流水線階段的核資源冗余度值,R為每個流水線階段的功能核數(shù),C為每個流水線階段的核資源使用率。
[0081]優(yōu)選地,上述裝置,還包括:
[0082]更新模塊46,用于判斷任一流水線階段的核資源冗余度值是否不大于第二設(shè)定閾值;在判斷為是時,根據(jù)備用核隊列中的功能核數(shù)、任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對備用核隊列進行更新;在判斷為否時,根據(jù)任一流水線階段的核資源使用率、備用核隊列中的功能核數(shù)、任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對備用核隊列進行更新;以及根據(jù)更新后的備用核隊列中的功能核數(shù),對第二就緒核隊列進行更新,得到第一就緒核隊列。在這里,上述第二設(shè)定閾值小于第一設(shè)定閾值。
[0083]優(yōu)選地,上述更新模塊46,具體用于執(zhí)行下述指定操作:判斷備用核隊列中的功能核數(shù)是否不小于第三設(shè)定個數(shù);若是,判斷任一流水線階段的功能核數(shù)與備用核隊列中的功能核數(shù)之和是否不大于第二設(shè)定個數(shù),在判斷為是時,添加功能核到備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將備用核隊列作為更新后的備用核隊列;否則,添加第四設(shè)定個數(shù)的功能核到備用核隊列中,并判斷任一流水線階段的功能核數(shù)與添加后的備用核隊列中的功能核數(shù)之和是否不大于第二設(shè)定個數(shù),在判斷為是時,再次添加功能核到備用核隊列中,以使再次添加后的備用核隊列中的功能核數(shù)與第二設(shè)定個數(shù)相同;在判斷為否時,將備用核隊列作為更新后的備用核隊列;判斷任一流水線階段的核資源使用率是否不小于第三設(shè)定百分比,并在判斷為是時,執(zhí)行指定操作;在判斷為否時,判斷任一流水線階段的功能核數(shù)與備用核隊列中的功能核數(shù)之和是否不大于第二設(shè)定個數(shù),在判斷為是時,添加功能核到備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將備用核隊列作為更新后的備用核隊列;在比較出更新后的備用核隊列中的功能核數(shù),與第二就緒核隊列中的功能核數(shù)相同時,將第二就緒核隊列作為第一就緒核隊列;在比較出更新后的備用核隊列中的功能核數(shù),大于第二就緒核隊列中的功能核數(shù)時,從備用核隊列中選擇第四設(shè)定個數(shù)的功能核,并對選擇出的功能核進行映像程序的加載后,添加到第二就緒核隊列中,并將添加后的第二就緒核隊列作為第一就緒核隊列;以及在比較出更新后的備用核隊列中的功能核數(shù),小于第二就緒核隊列中的功能核數(shù)時,從第二就緒核隊列中選擇第五設(shè)定個數(shù)的功能核,并對選擇出的功能核進行映像程序的卸載,并將卸載后的第二就緒核隊列作為第一就緒核隊列。
[0084]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種多核資源的調(diào)度方法,其特征在于,該方法應用于包括有一個管理核和多個功能核的多核系統(tǒng)中,該方法包括: 所述管理核根據(jù)接收到的每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息,和所述每個流水線階段的功能核數(shù),確定所述每個流水線階段的功能核的負載狀態(tài); 如果確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核后,添加到所述任一流水線階段中,所述第一就緒核隊列為自身根據(jù)所述任一流水線階段的功能核發(fā)來的負載信息、所述任一流水線階段的功能核數(shù)和預設(shè)的備用核隊列中未加載所述任一流水線階段的映像程序的功能核數(shù),對包括有已加載所述映像程序的功能核的預設(shè)的第二就緒核隊列進行更新后得到的。
2.如權(quán)利要求1所述的方法,其特征在于,還包括: 如果所述管理核確定出任一流水線階段的任一功能核的負載狀態(tài)為低負載狀態(tài),則停止所述任一流水線階段的任一功能核的運行后,添加到所述第一就緒核隊列中。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述管理核通過下述方式確定所述每個流水線階段的功能核的負載狀態(tài): 根據(jù)所述每個流水線階段的核資源使用率和功能核數(shù),計算對應所述每個流水線階段的核資源冗余度值,所述每個流水線階段的核資源使用率為所述每個流水線階段的功能核僅為一個時,對應功能核的CPU占用率,或者為所述每個流水線階段的功能核為多個時,對應功能核的CPU平均占用率; 分別判斷計算出的每個核資源冗余度值是否不小于第一設(shè)定閾值; 若是,確定所述每個流水線階段的功能核為多個,并判斷對應的功能核的CPU平均占用率是否不大于第一設(shè)定百分比,在判斷為是時,將對應的功能核中CPU占用率最低的功能核的負載狀態(tài)確定為低負載狀態(tài);在判斷為否,且所述每個流水線階段的功能核中存在CPU占用率不小于第二設(shè)定百分比的功能核時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài); 否則,在所述每個流水線階段的功能核為一個、且對應的CPU占用率不小于所述第二設(shè)定百分比時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);在所述每個流水線階段的功能核為多個、且存在CPU占用率不小于所述第二設(shè)定百分比的功能核時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài)。
4.如權(quán)利要求3所述的方法,其特征在于,所述管理核通過公式D=RX(1-C),計算得到所述每個流水線階段的核資源冗余度值,其中,D為所述每個流水線階段的核資源冗余度值,R為所述每個流水線階段的功能核數(shù),C為所述每個流水線階段的核資源使用率。
5.如權(quán)利要求4所述的方法,其特征在于,所述管理核通過下述方式得到所述第一就緒核隊列: 所述管理核判斷所述任一流水線階段的核資源冗余度值是否不大于第二設(shè)定閾值,所述第二設(shè)定閾值小于所述第一設(shè)定閾值; 若是,根據(jù)所述備用核隊列中的功能核數(shù)、所述任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對所述備用核隊列進行更新; 否則,根據(jù)所述任一流水線階段的核資源使用率、所述備用核隊列中的功能核數(shù)、所述任一流水線階段的功能核數(shù)及所述第二設(shè)定個數(shù),對所述備用核隊列進行更新;根據(jù)更新后的備用核隊列中的功能核數(shù),對所述第二就緒核隊列進行更新,得到所述第一就緒核隊列。
6.如權(quán)利要求5所述的方法,其特征在于,所述管理核根據(jù)所述備用核隊列中的功能核數(shù)、所述任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對所述備用核隊列進行更新,具體包括: 所述管理核執(zhí)行下述指定操作: 判斷所述備用核隊列中的功能核數(shù)是否不小于第三設(shè)定個數(shù); 若是,判斷所述任一流水線階段的功能核數(shù)與所述備用核隊列中的功能核數(shù)之和是否不大于所述第二設(shè)定個數(shù),在判斷為是時,添加功能核到所述備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與所述第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將所述備用核隊列作為更新后的備用核隊列; 否則,添加第四設(shè)定個數(shù)的功能核到所述備用核隊列中,并判斷所述任一流水線階段的功能核數(shù)與添加后的備用核隊列中的功能核數(shù)之和是否不大于所述第二設(shè)定個數(shù),在判斷為是時,再次添加功能核到所述備用核隊列中,以使再次添加后的備用核隊列中的功能核數(shù)與所述第二設(shè)定個數(shù)相同,并將再次添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將所述備用核隊列作為更新后的備用核隊列; 所述管理核根據(jù)所述任一流水線階段的核資源使用率、所述備用核隊列中的功能核數(shù)、所述任一流水線階段的功 能核數(shù)及所述第二設(shè)定數(shù)值,對所述備用核隊列進行更新,具體包括: 所述管理核判斷所述任一流水線階段的核資源使用率是否不小于第三設(shè)定百分比,并在判斷為是時,執(zhí)行所述指定操作; 在判斷為否時,判斷所述任一流水線階段的功能核數(shù)與所述備用核隊列中的功能核數(shù)之和是否不大于所述第二設(shè)定個數(shù),在判斷為是時,添加功能核到所述備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與所述第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將所述備用核隊列作為更新后的備用核隊列; 所述管理核根據(jù)更新后的備用核隊列中的功能核數(shù),對所述第二就緒核隊列進行更新,得到所述第一就緒核隊列,具體包括: 如果比較出所述更新后的備用核隊列中的功能核數(shù),與所述第二就緒核隊列中的功能核數(shù)相同,則將所述第二就緒核隊列作為所述第一就緒核隊列; 如果比較出所述更新后的備用核隊列中的功能核數(shù),大于所述第二就緒核隊列中的功能核數(shù),則從所述備用核隊列中選擇第五設(shè)定個數(shù)的功能核,并對選擇出的功能核進行所述映像程序的加載后,添加到所述第二就緒核隊列中,并將添加后的第二就緒核隊列作為所述第一就緒核隊列; 如果比較出所述更新后的備用核隊列中的功能核數(shù),小于所述第二就緒核隊列中的功能核數(shù),則從所述第二就緒核隊列中選擇第六設(shè)定個數(shù)的功能核,并對選擇出的功能核進行所述映像程序的卸載,將卸載后的第二就緒核隊列作為所述第一就緒核隊列。
7.一種多核資源的調(diào)度裝置,其特征在于,所述裝置位于多核系統(tǒng)中,且所述多核系統(tǒng)還包括多個功能核,該裝置包括: 接收模塊,用于接收每個流水線階段的功能核按照預設(shè)周期發(fā)來的負載信息;確定模塊,用于根據(jù)所述接收模塊接收到的負載信息,和所述每個流水線階段的功能核數(shù),確定所述每個流水線階段的功能核的負載狀態(tài); 選擇模塊,用于在所述確定模塊確定出任一流水線階段的任一功能核的負載狀態(tài)為超負載狀態(tài),從預設(shè)的第一就緒核隊列中選擇第一設(shè)定個數(shù)的功能核,所述第一就緒核隊列為所述裝置根據(jù)所述任一流水線階段的功能核發(fā)來的負載信息、所述任一流水線階段的功能核數(shù)和預設(shè)的備用核隊列中未加載所述任一流水線階段的映像程序的功能核數(shù),對包括有已加載所述映像程序的功能核的預設(shè)的第二就緒核隊列進行更新后得到的; 添加模塊,用于將所述選擇模塊選擇出的功能核,添加到所述任一流水線階段中。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置,還包括停止模塊, 所述停止模塊,用于在所述確定模塊確定出任一流水線階段的任一功能核的負載狀態(tài)為低負載狀態(tài)時,停止所述任一流水線階段的任一功能核的運行; 所述添加模塊,還用于在所述停止模塊停止所述任一流水線階段的任一功能核的運行后,將其添加到所述第一就緒核隊列中。
9.如權(quán)利要求7或8所述的裝置,其特征在于,所述確定模塊,具體用于根據(jù)所述每個流水線階段的核資源使用率和功能核數(shù),計算對應所述每個流水線階段的核資源冗余度值;在判斷出計算出的每個核資源冗余度值不小于第一設(shè)定閾值時,確定所述每個流水線階段的功能核為多 個,并判斷對應的功能核的CPU平均占用率是否不大于第一設(shè)定百分t匕,在判斷為是時,將對應的功能核中CPU占用率最低的功能核的負載狀態(tài)確定為低負載狀態(tài);在判斷為否,且所述每個流水線階段的功能核中存在CPU占用率不小于第二設(shè)定百分比的功能核時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);在判斷出計算出的每個核資源冗余度值小于第一設(shè)定閾值時,在所述每個流水線階段的功能核為一個、且對應的CPU占用率不小于所述第二設(shè)定百分比時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài);在所述每個流水線階段的功能核為多個、且存在CPU占用率不小于所述第二設(shè)定百分比的功能核時,將對應的功能核的負載狀態(tài)確定為超負載狀態(tài),所述每個流水線階段的核資源使用率為所述每個流水線階段的功能核僅為一個時,對應功能核的CPU占用率,或者為所述每個流水線階段的功能核為多個時,對應功能核的CPU平均占用率。
10.如權(quán)利要求9所述的裝置,其特征在于,所述確定模塊,具體用于通過公式D=RX (1-C),計算得到所述每個流水線階段的核資源冗余度值,其中,D為所述每個流水線階段的核資源冗余度值,R為所述每個流水線階段的功能核數(shù),C為所述每個流水線階段的核資源使用率。
11.如權(quán)利要求10所述的裝置,其特征在于,所述裝置,還包括: 更新模塊,用于判斷所述任一流水線階段的核資源冗余度值是否不大于第二設(shè)定閾值;在判斷為是時,根據(jù)所述備用核隊列中的功能核數(shù)、所述任一流水線階段的功能核數(shù)及第二設(shè)定個數(shù),對所述備用核隊列進行更新;在判斷為否時,根據(jù)所述任一流水線階段的核資源使用率、所述備用核隊列中的功能核數(shù)、所述任一流水線階段的功能核數(shù)及所述第二設(shè)定個數(shù),對所述備用核隊列進行更新;以及根據(jù)更新后的備用核隊列中的功能核數(shù),對所述第二就緒核隊列進行更新,得到所述第一就緒核隊列,所述第二設(shè)定閾值小于所述第一設(shè)定閾值。
12.如權(quán)利要求11所述的裝置,其特征在于,所述更新模塊,具體用于執(zhí)行下述指定操作:判斷所述備用核隊列中的功能核數(shù)是否不小于第三設(shè)定個數(shù);若是,判斷所述任一流水線階段的功能核數(shù)與所述備用核隊列中的功能核數(shù)之和是否不大于所述第二設(shè)定個數(shù),在判斷為是時,添加功能核到所述備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與所述第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將所述備用核隊列作為更新后的備用核隊列;否則,添加第四設(shè)定個數(shù)的功能核到所述備用核隊列中,并判斷所述任一流水線階段的功能核數(shù)與添加后的備用核隊列中的功能核數(shù)之和是否不大于所述第二設(shè)定個數(shù),在判斷為是時,再次添加功能核到所述備用核隊列中,以使再 次添加后的備用核隊列中的功能核數(shù)與所述第二設(shè)定個數(shù)相同;在判斷為否時,將所述備用核隊列作為更新后的備用核隊列;判斷所述任一流水線階段的核資源使用率是否不小于第三設(shè)定百分比,并在判斷為是時,執(zhí)行所述指定操作;在判斷為否時,判斷所述任一流水線階段的功能核數(shù)與所述備用核隊列中的功能核數(shù)之和是否不大于所述第二設(shè)定個數(shù),在判斷為是時,添加功能核到所述備用核隊列中,以使添加后的備用核隊列中的功能核數(shù)與所述第二設(shè)定個數(shù)相同,并將添加后的備用核隊列作為更新后的備用核隊列;在判斷為否時,將所述備用核隊列作為更新后的備用核隊列;在比較出所述更新后的備用核隊列中的功能核數(shù),與所述第二就緒核隊列中的功能核數(shù)相同時,將所述第二就緒核隊列作為所述第一就緒核隊列;在比較出所述更新后的備用核隊列中的功能核數(shù),大于所述第二就緒核隊列中的功能核數(shù)時,從所述備用核隊列中選擇第五設(shè)定個數(shù)的功能核,并對選擇出的功能核進行所述映像程序的加載后,添加到所述第二就緒核隊列中,并將添加后的第二就緒核隊列作為所述第一就緒核隊列;以及在比較出所述更新后的備用核隊列中的功能核數(shù),小于所述第二就緒核隊列中的功能核數(shù)時,從所述第二就緒核隊列中選擇第六設(shè)定個數(shù)的功能核,并對選擇出的功能核進行所述映像程序的卸載,并將卸載后的第二就緒核隊列作為所述第一就緒核隊列。
【文檔編號】G06F9/38GK103744735SQ201410009967
【公開日】2014年4月23日 申請日期:2014年1月9日 優(yōu)先權(quán)日:2014年1月9日
【發(fā)明者】李蒙 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石景山区| 日照市| 绥芬河市| 德令哈市| 镇坪县| 凌海市| 门源| 黑水县| 南溪县| 东明县| 马边| 宝清县| 长乐市| 慈利县| 青河县| 巴塘县| 聊城市| 鹰潭市| 新巴尔虎右旗| 六枝特区| 咸阳市| 黑龙江省| 葵青区| 辽阳县| 卓资县| 临澧县| 双牌县| 铜川市| 日照市| 余干县| 舞阳县| 沁阳市| 兴和县| 阳泉市| 稻城县| 阳山县| 黑山县| 沾化县| 黄石市| 林州市| 平定县|