專(zhuān)利名稱(chēng):多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及數(shù)據(jù)處理,尤其涉及一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法及
直O(jiān)
背景技術(shù):
多硬件處理單元的硬件系統(tǒng)中,某個(gè)應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷與 硬件處理單元可以設(shè)置為一對(duì)一的綁定關(guān)系,還可以設(shè)置為一對(duì)多的綁定關(guān)系。對(duì)于前者 來(lái)說(shuō),上述應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷的軟件負(fù)荷只能夠由與之綁定的一個(gè) 硬件處理單元進(jìn)行承載,其他硬件處理單元無(wú)論是否空閑,都不可以承載上述應(yīng)用軟件線 程或操作系統(tǒng)軟件線程/中斷的軟件負(fù)荷;對(duì)于后者來(lái)說(shuō),上述應(yīng)用軟件線程或操作系統(tǒng) 軟件線程/中斷的軟件負(fù)荷可以由與之綁定的多個(gè)硬件處理單元進(jìn)行承載,操作系統(tǒng)可以 調(diào)度當(dāng)前最空閑的硬件處理單元執(zhí)行對(duì)應(yīng)的處理請(qǐng)求。執(zhí)行完處理請(qǐng)求的硬件處理單元在 沒(méi)有被操作系統(tǒng)再次調(diào)度的短暫時(shí)刻可以進(jìn)入節(jié)能狀態(tài)。上述現(xiàn)有技術(shù)中,當(dāng)有處理請(qǐng)求需要執(zhí)行時(shí),操作系統(tǒng)需要頻繁調(diào)度當(dāng)前最空閑 的硬件處理單元執(zhí)行對(duì)應(yīng)的處理請(qǐng)求,使得上述硬件處理單元在正常運(yùn)行狀態(tài)與節(jié)能狀態(tài) 之間頻繁進(jìn)行切換,導(dǎo)致了額外的系統(tǒng)負(fù)荷,從而增加了系統(tǒng)的能耗。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法及裝置,用以避免由于 硬件處理單元在正常運(yùn)行狀態(tài)與節(jié)能狀態(tài)之間頻繁進(jìn)行切換所導(dǎo)致的額外的系統(tǒng)負(fù)荷,降 低系統(tǒng)的能耗。本發(fā)明實(shí)施例提供了一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法,包括若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選擇一個(gè)硬件處理 單元,所述多線程系統(tǒng)包括至少兩個(gè)硬件處理單元;解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的 綁定關(guān)系。本發(fā)明實(shí)施例還提供了一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整裝置,包括選擇模塊,用于若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選 擇一個(gè)硬件處理單元,所述多線程系統(tǒng)包括至少兩個(gè)硬件處理單元;調(diào)整模塊,用于解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程 /中斷之間的綁定關(guān)系。由上述技術(shù)方案可知,本發(fā)明實(shí)施例通過(guò)當(dāng)多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置 的調(diào)整啟動(dòng)閾值時(shí),選擇一個(gè)硬件處理單元,使得能夠解除該硬件處理單元與應(yīng)用軟件線 程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系,避免了由于硬件處理單元在正常運(yùn)行狀態(tài) 與節(jié)能狀態(tài)之間頻繁進(jìn)行切換所導(dǎo)致的額外的系統(tǒng)負(fù)荷,從而降低了系統(tǒng)的能耗。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法的流程示意圖;圖2A為本發(fā)明實(shí)施例二提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法的流程示意 圖;圖2B為本發(fā)明實(shí)施例二提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法中CPU內(nèi)核的 綁定關(guān)系一個(gè)示意圖;圖3為本發(fā)明實(shí)施例三提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明實(shí)施例一提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法的流程示意圖, 如圖1所示,本實(shí)施例的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法可以包括以下步驟步驟101、若多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選擇一個(gè)硬件 處理單元,該多線程系統(tǒng)包括至少兩個(gè)硬件處理單元;其中,對(duì)于單核中央處理單元(Central Processing Unit,簡(jiǎn)稱(chēng)CPU)來(lái)說(shuō),上述硬 件處理單元?jiǎng)t為CPU ;對(duì)于多核CPU來(lái)說(shuō),上述硬件處理單元?jiǎng)t為CPU內(nèi)核,本發(fā)明實(shí)施例 對(duì)此不進(jìn)行限制。具體地,本步驟可以判斷上述多線程系統(tǒng)的軟件負(fù)荷是否小于預(yù)先設(shè)置的調(diào)整啟 動(dòng)閾值,若多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,則可以選擇一個(gè)硬件處 理單元。其中,本步驟具體可以判斷上述多線程系統(tǒng)的平均軟件負(fù)荷是否小于預(yù)先設(shè)置的 調(diào)整啟動(dòng)閾值,或者還可以判斷上述多線程系統(tǒng)的總共軟件負(fù)荷是否小于預(yù)先設(shè)置的調(diào)整 啟動(dòng)閾值,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制,本領(lǐng)域技術(shù)人員可以理解的是上述兩個(gè)調(diào)整啟 動(dòng)閾值的大小并不相同。具體地,本步驟中上述一個(gè)硬件處理單元的選擇可以根據(jù)預(yù)先設(shè) 置的選擇策略進(jìn)行,例如選擇編號(hào)(ID)最大的硬件處理單元、選擇ID最小的硬件處理單 元等,本實(shí)施例對(duì)此不進(jìn)行限制。步驟102、解除上述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中 斷之間的綁定關(guān)系。具體地,本步驟還可以進(jìn)一步判斷其他硬件處理單元的處理能力是否大于上述多 線程系統(tǒng)的軟件負(fù)荷,若其他硬件處理單元的處理能力大于上述多線程系統(tǒng)的軟件負(fù)荷, 才解除上述一個(gè)硬件處理單元的綁定關(guān)系,否則不執(zhí)行任何操作。其中,本步驟具體可以判 斷其他硬件處理單元的平均處理能力是否大于上述多線程系統(tǒng)的平均軟件負(fù)荷,或者還可 以判斷其他硬件處理單元的處理能力之和是否大于上述多線程系統(tǒng)的總共軟件負(fù)荷,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。進(jìn)一步地,還可以進(jìn)一步判斷其他硬件處理單元的處理能力是否大于上述多線程 系統(tǒng)的軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安全閾值,若其他硬件處理單元的處理能力大于上述多線 程系統(tǒng)的軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安全閾值,才解除上述一個(gè)硬件處理單元的綁定關(guān)系, 否則不執(zhí)行任何操作。類(lèi)似地,本步驟具體可以判斷其他硬件處理單元的平均處理能力是 否大于上述多線程系統(tǒng)的平均軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安全閾值,或者還可以判斷其他硬 件處理單元的處理能力之和是否大于上述多線程系統(tǒng)的總共軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安 全閾值,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。進(jìn)一步地,步驟102之后,還可以繼續(xù)執(zhí)行步驟101,判斷其他硬件處理單元的軟 件負(fù)荷是否小于上述預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,若其他硬件處理單元的軟件負(fù)荷小于預(yù)先 設(shè)置的調(diào)整啟動(dòng)閾值,則可以再選擇一個(gè)硬件處理單元,執(zhí)行步驟102。本實(shí)施例可以重復(fù) 執(zhí)行上述步驟,直到剩下的硬件處理單元的軟件負(fù)荷不小于(大于或等于)上述預(yù)先設(shè)置 的調(diào)整啟動(dòng)閾值為止。進(jìn)一步地,被解除綁定關(guān)系的上述硬件處理單元經(jīng)過(guò)一段閾值時(shí)間 之后可以進(jìn)入深度節(jié)能狀態(tài),不再執(zhí)行任何處理請(qǐng)求。進(jìn)一步地,本實(shí)施例還可以進(jìn)一步判斷其他硬件處理單元(沒(méi)有被解除綁定關(guān)系 的硬件處理單元)的軟件負(fù)荷是否大于或等于預(yù)先設(shè)置的調(diào)整關(guān)閉閾值,若其他硬件處理 單元的軟件負(fù)荷大于或等于預(yù)先設(shè)置的調(diào)整關(guān)閉閾值,則可以恢復(fù)或重新建立被解除綁定 關(guān)系的上述硬件處理單元的綁定關(guān)系。其中,具體可以判斷其他硬件處理單元的平均軟件 負(fù)荷是否大于或等于預(yù)先設(shè)置的調(diào)整關(guān)閉閾值,或者還可以判斷其他硬件處理單元的軟件 負(fù)荷之和是否大于或等于預(yù)先設(shè)置的調(diào)整關(guān)閉閾值,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。上述步驟101和步驟102可以由節(jié)能管理模塊軟件執(zhí)行。本實(shí)施例中,通過(guò)當(dāng)多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值時(shí),可 以選擇一個(gè)硬件處理單元,使得能夠解除該硬件處理單元的綁定關(guān)系,避免了由于硬件處 理單元在正常運(yùn)行狀態(tài)與節(jié)能狀態(tài)之間頻繁進(jìn)行切換所導(dǎo)致的額外的系統(tǒng)負(fù)荷,從而降低 了系統(tǒng)的能耗。下面以多核CPU進(jìn)行舉例,進(jìn)一步詳細(xì)說(shuō)明本發(fā)明的詳細(xì)技術(shù)方案。圖2A為本發(fā) 明實(shí)施例二提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法的流程示意圖,本實(shí)施例中,在四個(gè) CPU內(nèi)核的硬件系統(tǒng)上,運(yùn)行著操作系統(tǒng)軟件線程/中斷、應(yīng)用軟件A線程(應(yīng)用軟件A的 線程)、應(yīng)用軟件B線程(應(yīng)用軟件B的線程)、應(yīng)用軟件C線程(應(yīng)用軟件C的線程)、應(yīng) 用軟件D線程(應(yīng)用軟件D的線程)、應(yīng)用軟件E線程(應(yīng)用軟件E的線程)、應(yīng)用軟件F 線程(應(yīng)用軟件F的線程)、應(yīng)用軟件G線程(應(yīng)用軟件G的線程),各個(gè)CPU內(nèi)核(CPU內(nèi) 核的ID從大到小的順序?yàn)镃PU內(nèi)核a、CPU內(nèi)核b、CPU內(nèi)核c、CPU內(nèi)核d)的綁定關(guān)系(即 與操作系統(tǒng)軟件線程/中斷、應(yīng)用軟件線程的綁定關(guān)系)可以如圖2B所示,本實(shí)施例的多 線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法可以包括以下步驟,如圖2A所示步驟201、判斷CPU內(nèi)核a、CPU內(nèi)核b、CPU內(nèi)核c、CPU內(nèi)核d的平均軟件負(fù)荷是 否小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,若是,則執(zhí)行步驟202,否則,結(jié)束流程;步驟202、根據(jù)預(yù)先設(shè)置的選擇策略,選擇ID最大的CPU內(nèi)核a ;步驟203、判斷CPU內(nèi)核b、CPU內(nèi)核c、CPU內(nèi)核d的處理能力之和是否大于CPU 內(nèi)核a、CPU內(nèi)核b、CPU內(nèi)核c、CPU內(nèi)核d的軟件負(fù)荷之和一個(gè)預(yù)先設(shè)置的安全閾值,若是,則執(zhí)行步驟204,否則,結(jié)束流程;步驟204、解除CPU內(nèi)核a的綁定關(guān)系,即解除CPU內(nèi)核a與操作系統(tǒng)軟件線程/ 中斷、應(yīng)用軟件A線程、應(yīng)用軟件D線程、應(yīng)用軟件G線程之間的綁定關(guān)系;至此,CPU內(nèi)核a的綁定關(guān)系被解除,此后,CPU內(nèi)核a經(jīng)過(guò)一段閾值時(shí)間之后,進(jìn) 入深度節(jié)能狀態(tài),不再執(zhí)行任何處理請(qǐng)求;步驟205、判斷CPU內(nèi)核b、CPU內(nèi)核c、CPU內(nèi)核d的軟件負(fù)荷是否小于預(yù)先設(shè)置 的調(diào)整啟動(dòng)閾值,若是,則執(zhí)行步驟206,否則,結(jié)束流程;步驟206、根據(jù)預(yù)先設(shè)置的選擇策略,選擇ID最大的CPU內(nèi)核b ;步驟207、判斷CPU內(nèi)核c、CPU內(nèi)核d的處理能力之和是否大于CPU內(nèi)核b、CPU 內(nèi)核c、CPU內(nèi)核d的軟件負(fù)荷之和一個(gè)預(yù)先設(shè)置的安全閾值,若是,則執(zhí)行步驟208、步驟 209和步驟210,否則,執(zhí)行步驟209和步驟210 ;步驟208、解除CPU內(nèi)核b的綁定關(guān)系,即解除CPU內(nèi)核b與操作系統(tǒng)軟件線程/ 中斷、應(yīng)用軟件A線程、應(yīng)用軟件B線程、應(yīng)用軟件D線程之間的綁定關(guān)系;至此,CPU內(nèi)核b的綁定關(guān)系被解除,此后,CPU內(nèi)核b經(jīng)過(guò)一段閾值時(shí)間之后,進(jìn) 入深度節(jié)能狀態(tài),不再執(zhí)行任何處理請(qǐng)求;步驟209、判斷CPU內(nèi)核c、CPU內(nèi)核d的平均軟件負(fù)荷是否大于或等于預(yù)先設(shè)置 的調(diào)整關(guān)閉閾值,若是,則執(zhí)行步驟210,否則,結(jié)束流程; 步驟210、恢復(fù)CPU內(nèi)核a禾Π /或CPU內(nèi)核b的綁定關(guān)系??商鎿Q地,本步驟還可以重新建立CPU內(nèi)核a和/或CPU內(nèi)核b的綁定關(guān)系。本實(shí)施例中,通過(guò)當(dāng)多線程系統(tǒng)的平均軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值 時(shí),可以選擇一個(gè)硬件處理單元,使得能夠當(dāng)其他硬件處理單元的處理能力之和大于上述 多線程系統(tǒng)的總共軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安全閾值時(shí),解除該硬件處理單元的綁定關(guān) 系,避免了由于硬件處理單元在正常運(yùn)行狀態(tài)與節(jié)能狀態(tài)之間頻繁進(jìn)行切換所導(dǎo)致的額外 的系統(tǒng)負(fù)荷,從而降低了系統(tǒng)的能耗。需要說(shuō)明的是對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部 分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。圖3為本發(fā)明實(shí)施例三提供的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整裝置的結(jié)構(gòu)示意圖, 如圖3所示,本實(shí)施例的多線程系統(tǒng)中軟件負(fù)荷的調(diào)整裝置可以包括選擇模塊31和調(diào)整模 塊32。其中,選擇模塊31若多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選擇一 個(gè)硬件處理單元,調(diào)整模塊32解除上述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟 件線程/中斷之間的綁定關(guān)系。其中,所述多線程系統(tǒng)包括至少兩個(gè)硬件處理單元。具體 地,對(duì)于單核中央處理單元(Central Processing Unit,簡(jiǎn)稱(chēng)CPU)來(lái)說(shuō),上述硬件處理單元 則為CPU ;對(duì)于多核CPU來(lái)說(shuō),上述硬件處理單元?jiǎng)t為CPU內(nèi)核,本發(fā)明實(shí)施例對(duì)此不進(jìn)行 限制。
上述本發(fā)明實(shí)施例一、二中方法的功能均可以由本發(fā)明實(shí)施例提供的多線程系統(tǒng) 中軟件負(fù)荷的調(diào)整裝置實(shí)現(xiàn)。本實(shí)施例中,通過(guò)選擇模塊當(dāng)多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾 值時(shí),可以選擇一個(gè)硬件處理單元,使得調(diào)整模塊能夠解除該硬件處理單元的綁定關(guān)系,避 免了由于硬件處理單元在正常運(yùn)行狀態(tài)與節(jié)能狀態(tài)之間頻繁進(jìn)行切換所導(dǎo)致的額外的系 統(tǒng)負(fù)荷,從而降低了系統(tǒng)的能耗。具體地,本實(shí)施例中的調(diào)整模塊32具體可以若其他硬件處理單元的處理能力大 于上述多線程系統(tǒng)的軟件負(fù)荷,解除上述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟 件線程/中斷之間的綁定關(guān)系。進(jìn)一步地,調(diào)整模塊32進(jìn)一步可以若其他硬件處理單元的 處理能力大于上述多線程系統(tǒng)的軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安全閾值,解除上述一個(gè)硬件處 理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。進(jìn)一步地,本實(shí)施例中的調(diào)整模塊32還可以進(jìn)一步若其他硬件處理單元的軟件 負(fù)荷大于或等于調(diào)整關(guān)閉閾值,恢復(fù)或重新建立上述一個(gè)硬件處理單元與應(yīng)用軟件線程或 操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò) 程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者 光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1.一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法,其特征在于,包括若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選擇一個(gè)硬件處理單 元,所述多線程系統(tǒng)包括至少兩個(gè)硬件處理單元;解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定 關(guān)系。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解除所述一個(gè)硬件處理單元與應(yīng)用 軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系包括若其他硬件處理單元的處理能力大于所述多線程系統(tǒng)的軟件負(fù)荷,解除所述一個(gè)硬件 處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述若其他硬件處理單元的處理能力大 于所述多線程系統(tǒng)的軟件負(fù)荷,解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟 件線程/中斷之間的綁定關(guān)系包括若其他硬件處理單元的處理能力大于所述多線程系統(tǒng)的軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安 全閾值,解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁 定關(guān)系。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解除所述一個(gè)硬件處理單元與應(yīng)用 軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系之后還包括所述一個(gè)硬件處理單元 進(jìn)入深度節(jié)能狀態(tài)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述硬件處理單元包括CPU或CPU內(nèi)核。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述選擇一個(gè)硬件處理單元包括根據(jù)預(yù)先設(shè)置的選擇策略,選擇一個(gè)編號(hào)最大的硬件處理單元;或者根據(jù)預(yù)先設(shè)置的選擇策略,選擇一個(gè)編號(hào)最小的硬件處理單元。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多線程系統(tǒng)的軟件負(fù)荷包括所述多 線程系統(tǒng)中每個(gè)硬件處理單元的平均軟件負(fù)荷或所述多線程系統(tǒng)中每個(gè)硬件處理單元的 軟件負(fù)荷之和。
8.根據(jù)權(quán)利要求1至7任一權(quán)利要求所述的方法,其特征在于,所述解除所述一個(gè)硬件 處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系之后還包括若其他硬件處理單元的軟件負(fù)荷大于或等于調(diào)整關(guān)閉閾值,恢復(fù)或重新建立所述一個(gè) 硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。
9.一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整裝置,其特征在于,包括選擇模塊,用于若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選擇一 個(gè)硬件處理單元,所述多線程系統(tǒng)包括至少兩個(gè)硬件處理單元;調(diào)整模塊,用于解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中 斷之間的綁定關(guān)系。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述調(diào)整模塊具體用于若其他硬件處理單元的處理能力大于所述多線程系統(tǒng)的軟件負(fù)荷,解除所述一個(gè)硬件 處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述調(diào)整模塊具體用于若其他硬件處理單元的處理能力大于所述多線程系統(tǒng)的軟件負(fù)荷一個(gè)預(yù)先設(shè)置的安全閾值,解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁 定關(guān)系。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述硬件處理單元包括CPU或CPU內(nèi)核。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述選擇模塊具體用于若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,根據(jù)預(yù)先設(shè)置的選擇策 略,選擇一個(gè)編號(hào)最大的硬件處理單元;或者若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,根據(jù)預(yù)先設(shè)置的選擇策 略,選擇一個(gè)編號(hào)最小的硬件處理單元。
14.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述多線程系統(tǒng)的軟件負(fù)荷包括每個(gè) 硬件處理單元的平均軟件負(fù)荷或每個(gè)硬件處理單元的軟件負(fù)荷之和。
15.根據(jù)權(quán)利要求9至14任一權(quán)利要求所述的裝置,其特征在于,所述調(diào)整模塊還用于 若其他硬件處理單元的軟件負(fù)荷大于或等于調(diào)整關(guān)閉閾值,恢復(fù)或重新建立所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。
全文摘要
本發(fā)明實(shí)施例提供一種多線程系統(tǒng)中軟件負(fù)荷的調(diào)整方法及裝置,方法包括若所述多線程系統(tǒng)的軟件負(fù)荷小于預(yù)先設(shè)置的調(diào)整啟動(dòng)閾值,選擇一個(gè)硬件處理單元,所述多線程系統(tǒng)包括至少兩個(gè)硬件處理單元;解除所述一個(gè)硬件處理單元與應(yīng)用軟件線程或操作系統(tǒng)軟件線程/中斷之間的綁定關(guān)系。
文檔編號(hào)G06F9/50GK102141938SQ20101059069
公開(kāi)日2011年8月3日 申請(qǐng)日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者王驊 申請(qǐng)人:華為技術(shù)有限公司