專利名稱:一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法及裝置。
背景技術(shù):
目前,依靠提高單核處理器中單顆中央處理器(CPU)內(nèi)核的運(yùn)行頻率已經(jīng)不能滿足用戶對(duì)網(wǎng)絡(luò)設(shè)備性能的要求。為了提高網(wǎng)絡(luò)設(shè)備對(duì)數(shù)據(jù)流的處理速度,多核處理器應(yīng)運(yùn)而生。多核處理器可以解決單核處理器頻率提升的瓶頸問題,通過采用多個(gè)CPU內(nèi)核同時(shí)協(xié)同工作,可以大量縮短任務(wù)執(zhí)行的時(shí)間。為了高效地利用多核處理器,可以把系統(tǒng)任務(wù)劃分為多個(gè)線程(或多個(gè)子任務(wù)), 每個(gè)線程又可以劃分為多個(gè)階段執(zhí)行點(diǎn),一個(gè)階段執(zhí)行點(diǎn)就是調(diào)度內(nèi)核的最小執(zhí)行顆粒, 從而使得每個(gè)內(nèi)核都能充分得到調(diào)度。每一個(gè)內(nèi)核同一時(shí)間只能執(zhí)行一個(gè)線程中的一個(gè)階段執(zhí)行點(diǎn)(即一個(gè)最小執(zhí)行顆粒)。時(shí)間、階段執(zhí)行點(diǎn)、內(nèi)核,這三個(gè)變量是一對(duì)一的關(guān)系不可重疊。通常把時(shí)間和階段執(zhí)行點(diǎn)的組合定義為一個(gè)最小的執(zhí)行單元,每個(gè)內(nèi)核可以自由地獲取到一個(gè)空閑的執(zhí)行單元并得到調(diào)度。具體的,可以用如圖1所示的坐標(biāo)圖表示他們之間的關(guān)系。對(duì)于一個(gè)網(wǎng)絡(luò)設(shè)備來說,系統(tǒng)任務(wù)應(yīng)該劃分多少個(gè)線程,每個(gè)線程該劃分多少個(gè)階段執(zhí)行點(diǎn),如何均衡這些線程的負(fù)載,這些是決定整個(gè)網(wǎng)絡(luò)設(shè)備性能的關(guān)鍵。目前大部分網(wǎng)絡(luò)設(shè)備只有一個(gè)線程,在這個(gè)線程上再劃分多個(gè)階段執(zhí)行點(diǎn),所以不涉及負(fù)載均衡的問題。但是隨著CPU技術(shù)的發(fā)展,多核的概念已不再是雙核或4核,而是可集成十多個(gè)甚至幾十個(gè)內(nèi)核。那么單純地在一個(gè)線程里分布多個(gè)內(nèi)核已經(jīng)不能充分發(fā)揮系統(tǒng)性能,必須要在多線程多階段執(zhí)行點(diǎn)上分布多個(gè)內(nèi)核,再加以負(fù)載均衡。對(duì)于每個(gè)階段執(zhí)行點(diǎn)中可能出現(xiàn)的臨界資源爭(zhēng)奪問題,在多核處理器中尤其突出。多核處理器中會(huì)出現(xiàn)多個(gè)內(nèi)核執(zhí)行同一個(gè)階段執(zhí)行點(diǎn)的情況,如果這個(gè)階段執(zhí)行點(diǎn)出現(xiàn)操作臨界資源的情況,那么這些內(nèi)核就要排隊(duì)等待獲取臨界資源。在有臨界資源的階段執(zhí)行點(diǎn)中通常用自旋鎖的方式進(jìn)行保護(hù),如果某個(gè)內(nèi)核先搶到這個(gè)臨界資源,其他內(nèi)核執(zhí)行到自旋鎖的地方就掛起等待,直到臨界資源被釋放為止,從而出現(xiàn)了臨界資源互鎖。如果出現(xiàn)多個(gè)內(nèi)核進(jìn)入到某階段執(zhí)行點(diǎn)后都需要輪詢等待臨界資源,就出現(xiàn)了多核競(jìng)爭(zhēng),導(dǎo)致大大降低多核的性能發(fā)揮。在多核處理器中數(shù)據(jù)處理從開始到結(jié)束的一連串的動(dòng)作可以稱為流水線,一條流水線可劃分為多個(gè)處理階段,每個(gè)處理階段就是內(nèi)核調(diào)度的節(jié)點(diǎn)(一個(gè)節(jié)點(diǎn)就是一個(gè)階段執(zhí)行點(diǎn)),也是內(nèi)核并行調(diào)度和進(jìn)入的最小原子操作。有些多核處理器按照節(jié)點(diǎn)的任務(wù)隊(duì)列深度來判斷節(jié)點(diǎn)的調(diào)度優(yōu)先級(jí),當(dāng)一個(gè)內(nèi)核完成一個(gè)節(jié)點(diǎn)的處理任務(wù)后就需要進(jìn)入另一個(gè)節(jié)點(diǎn)獲取新的任務(wù)進(jìn)行處理,此時(shí),節(jié)點(diǎn)的選擇是根據(jù)當(dāng)前等待多核調(diào)度的節(jié)點(diǎn)的調(diào)度優(yōu)先級(jí),選擇調(diào)度優(yōu)先級(jí)高的節(jié)點(diǎn)進(jìn)行處理。 如果節(jié)點(diǎn)η出現(xiàn)操作臨界資源的情況,而此時(shí)節(jié)點(diǎn)n-1 (節(jié)點(diǎn)η之前的一個(gè)節(jié)點(diǎn))還在源源不斷地將要處理的數(shù)據(jù)傳輸給節(jié)點(diǎn)n,那么節(jié)點(diǎn)η的調(diào)度優(yōu)先級(jí)就會(huì)不斷增加。系統(tǒng)調(diào)度算法就會(huì)分配更多的內(nèi)核來處理節(jié)點(diǎn)η,這些內(nèi)核執(zhí)行到節(jié)點(diǎn)η的臨界資源時(shí)就會(huì)進(jìn)行多核競(jìng)爭(zhēng),發(fā)生互斥,導(dǎo)致性能下降。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法及裝置,用于減少節(jié)點(diǎn)中發(fā)生的多核競(jìng)爭(zhēng),提高多核處理器的性能。一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法,應(yīng)用于根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,所述方法包括確定出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)η ;在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,降低距離節(jié)點(diǎn)η最近,且位于節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),其中η為大于1的正整數(shù)。一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置,應(yīng)用于根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,所述裝置包括確定模塊,用于確定出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)η ;調(diào)整模塊,用于在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,降低距離節(jié)點(diǎn)η 最近,且位于節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),其中η為大于1的正整數(shù)。根據(jù)本發(fā)明實(shí)施例提供的方案,在根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,在每條流水線上,降低出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),按照內(nèi)核根據(jù)當(dāng)前等待多核調(diào)度的節(jié)點(diǎn)的調(diào)度優(yōu)先級(jí),選擇調(diào)度優(yōu)先級(jí)高的節(jié)點(diǎn)進(jìn)行處理的原理,降低節(jié)點(diǎn)η-1得到調(diào)度的可能性,從而避免前向節(jié)點(diǎn)不斷的向出現(xiàn)瓶頸的后向節(jié)點(diǎn)輸入待處理的數(shù)據(jù)任務(wù),避免節(jié)點(diǎn)η中的任務(wù)隊(duì)列深度增加,從而避免更多的內(nèi)核調(diào)度到節(jié)點(diǎn)η,減少節(jié)點(diǎn)η出現(xiàn)多核競(jìng)爭(zhēng)的可能性,充分發(fā)揮多核處理器的性能。
圖1為現(xiàn)有技術(shù)中時(shí)間、階段執(zhí)行點(diǎn)和內(nèi)核的關(guān)系示意圖;圖2為本發(fā)明實(shí)施例一提供的節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法的步驟流程圖;圖3為本發(fā)明實(shí)施例一提供的流水線示意圖;圖4為本發(fā)明實(shí)施例二提供的節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供的方案中,在多核數(shù)據(jù)處理系統(tǒng)中發(fā)生臨界資源互鎖的節(jié)點(diǎn), 前向反饋降低前向節(jié)點(diǎn)的多核調(diào)度優(yōu)先級(jí),降低在多核數(shù)據(jù)處理系統(tǒng)中內(nèi)核在臨界資源操作上的競(jìng)爭(zhēng)和碰撞,使多核的分配調(diào)度具有預(yù)見性,提前避免了多個(gè)內(nèi)核爭(zhēng)搶某個(gè)臨界資源的情況發(fā)生。下面結(jié)合說明書附圖和各實(shí)施例對(duì)本發(fā)明方案進(jìn)行說明。實(shí)施例一、本發(fā)明實(shí)施例一提供一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法,應(yīng)用于根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,該方法的步驟如圖2所示,包括
步驟101、節(jié)點(diǎn)η獲取到內(nèi)核調(diào)度。其中,η為大于1的正整數(shù)。步驟102、節(jié)點(diǎn)η確定自身是否出現(xiàn)臨界資源互鎖。在本實(shí)施例中,用于確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的裝置,如節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置需要確定出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)η,并降低節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。具體的,可以根據(jù)接收到的節(jié)點(diǎn)的反饋信息確定該節(jié)點(diǎn)出現(xiàn)臨界資源互鎖。因此在本步驟中,節(jié)點(diǎn)η在獲取到內(nèi)核調(diào)度后,當(dāng)執(zhí)行到臨界資源的時(shí)候,可以確定自身是否出現(xiàn)臨界資源互鎖。若確定自身出現(xiàn)臨界資源互鎖,可以計(jì)算臨界資源執(zhí)行的時(shí)間長(zhǎng)度,并執(zhí)行步驟103,反饋該信息。節(jié)點(diǎn)η在獲取到內(nèi)核調(diào)度后,若確定自身沒有出現(xiàn)臨界資源互鎖,可以不必反饋信息,即無需觸發(fā)執(zhí)行步驟103,節(jié)點(diǎn)η-1可以保持按照原有的方法(即根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的方法)確定出的自身的調(diào)度優(yōu)先級(jí)。步驟103、節(jié)點(diǎn)η反饋臨界資源執(zhí)行的時(shí)間長(zhǎng)度。具體的,可以將臨界資源執(zhí)行的時(shí)間長(zhǎng)度反饋給節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置(該裝置可以集成在前一個(gè)節(jié)點(diǎn)η-1中,即每個(gè)節(jié)點(diǎn)中可以集成一個(gè)節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置, 因此,在本實(shí)施例中,可以利用前向反饋法將本節(jié)點(diǎn)的瓶頸信息告知前一節(jié)點(diǎn),并降低前一節(jié)點(diǎn)的多核調(diào)度優(yōu)先級(jí),從而防止前向節(jié)點(diǎn)將大量的數(shù)據(jù)輸入到后向節(jié)點(diǎn)上導(dǎo)致任務(wù)堆積在出現(xiàn)瓶頸的后向節(jié)點(diǎn)上。當(dāng)然,該裝置也可以獨(dú)立于節(jié)點(diǎn))。節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置可以在接收到節(jié)點(diǎn)η反饋的信息時(shí),確定節(jié)點(diǎn)η出現(xiàn)臨界資源互鎖。步驟104、降低節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。本步驟包括,在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,降低距離節(jié)點(diǎn)η最近,且位于節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。在多核處理器中會(huì)有多條數(shù)據(jù)處理流水線,每條流水線上有多個(gè)節(jié)點(diǎn),每條流水線上的節(jié)點(diǎn)處理過程是相同的。流水線示意圖可以如圖3所示,節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置集成在節(jié)點(diǎn)中時(shí),在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖時(shí),針對(duì)每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線,節(jié)點(diǎn)η可以向節(jié)點(diǎn)η-1中的節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置反饋信息,通知節(jié)點(diǎn)η-1,在節(jié)點(diǎn)η處出現(xiàn)臨界資源互鎖。此時(shí),節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置可以重新確定節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。在本實(shí)施例中,可以根據(jù)節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)與在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的固定執(zhí)行時(shí)長(zhǎng)的正比關(guān)系,和/或在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的每次鎖定時(shí)間長(zhǎng)度的反比關(guān)系,降低節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。具體的,可以根據(jù)在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線條數(shù)、在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的每次鎖定時(shí)間長(zhǎng)度、在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的固定執(zhí)行時(shí)長(zhǎng)、流水線A上節(jié)點(diǎn)η-1的固定執(zhí)行時(shí)長(zhǎng)以及流水線A 上節(jié)點(diǎn)η-1的任務(wù)隊(duì)列深度(可以理解為任務(wù)數(shù)量),確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。較優(yōu)的,可以通過以下公式確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)Hiuiri
權(quán)利要求
1.一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法,應(yīng)用于根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,其特征在于,所述方法包括確定出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)η ;在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,降低距離節(jié)點(diǎn)η最近,且位于節(jié)點(diǎn)η 之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),其中η為大于1的正整數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于,在流水線A上,降低距離節(jié)點(diǎn)η最近,且位于節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),具體包括根據(jù)節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)與在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn) η的固定執(zhí)行時(shí)長(zhǎng)的正比關(guān)系,和/或在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的每次鎖定時(shí)間長(zhǎng)度的反比關(guān)系,降低節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。
3.如權(quán)利要求2所述的方法,其特征在于,在流水線A上,降低距離節(jié)點(diǎn)η最近,且位于節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),具體包括根據(jù)在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線條數(shù)、在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的每次鎖定時(shí)間長(zhǎng)度、在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的固定執(zhí)行時(shí)長(zhǎng)、流水線A上節(jié)點(diǎn)η-1的固定執(zhí)行時(shí)長(zhǎng)以及流水線A上節(jié)點(diǎn)η_1 的任務(wù)隊(duì)列深度,確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。
4.如權(quán)利要求3所述的方法,其特征在于,通過以下公式確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)Ilri
5.如權(quán)利要求3所述的方法,其特征在于,通過以下公式確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)Ilri
6.一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定裝置,應(yīng)用于根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,其特征在于,所述裝置包括確定模塊,用于確定出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)η ;調(diào)整模塊,用于在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,降低距離節(jié)點(diǎn)η最近,且位于節(jié)點(diǎn)η之前的節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí),其中η為大于1的正整數(shù)。
7.如權(quán)利要求6所述的裝置,其特征在于,所述調(diào)整模塊,具體用于根據(jù)節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)與在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的固定執(zhí)行時(shí)長(zhǎng)的正比關(guān)系,和/或在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的每次鎖定時(shí)間長(zhǎng)度的反比關(guān)系,降低節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。
8.如權(quán)利要求7所述的裝置,其特征在于,所述調(diào)整模塊,具體用于根據(jù)在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線條數(shù)、在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的每次鎖定時(shí)間長(zhǎng)度、在每條在節(jié)點(diǎn)η處發(fā)生臨界資源互鎖的流水線上,節(jié)點(diǎn)η的固定執(zhí)行時(shí)長(zhǎng)、流水線A上節(jié)點(diǎn)η-1的固定執(zhí)行時(shí)長(zhǎng)以及流水線A上節(jié)點(diǎn)η-1的任務(wù)隊(duì)列深度,確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述調(diào)整模塊,具體用于通過以下公式確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)Hiuiri
10.如權(quán)利要求8所述的裝置,其特征在于,所述調(diào)整模塊,具體用于通過以下公式確定流水線A上節(jié)點(diǎn)η-1的調(diào)度優(yōu)先級(jí)Hiuiri
全文摘要
本發(fā)明實(shí)施例提供一種節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)確定方法及裝置,包括在根據(jù)任務(wù)隊(duì)列深度確定節(jié)點(diǎn)調(diào)度優(yōu)先級(jí)的多核處理器中,在每條流水線上,降低出現(xiàn)臨界資源互鎖的節(jié)點(diǎn)n之前的節(jié)點(diǎn)n-1的調(diào)度優(yōu)先級(jí),按照內(nèi)核根據(jù)當(dāng)前等待多核調(diào)度的節(jié)點(diǎn)的調(diào)度優(yōu)先級(jí),選擇調(diào)度優(yōu)先級(jí)高的節(jié)點(diǎn)進(jìn)行處理的原理,降低節(jié)點(diǎn)n-1得到調(diào)度的可能性,從而避免前向節(jié)點(diǎn)不斷的向出現(xiàn)瓶頸的后向節(jié)點(diǎn)輸入待處理的數(shù)據(jù)任務(wù),避免節(jié)點(diǎn)n中的任務(wù)隊(duì)列深度增加,從而避免更多的內(nèi)核調(diào)度到節(jié)點(diǎn)n,減少節(jié)點(diǎn)n出現(xiàn)多核競(jìng)爭(zhēng)的可能性,充分發(fā)揮多核處理器的性能。
文檔編號(hào)G06F9/50GK102567120SQ20121003176
公開日2012年7月11日 申請(qǐng)日期2012年2月13日 優(yōu)先權(quán)日2012年2月13日
發(fā)明者石偉 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司