本發明專利技術適用于計算機技術領域,提供了一種多核CPU的電源管理方法、系統及CPU,包括下述步驟:當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,所述內核組中內核的數量至少大于1;根據待處理任務的數量計算在時間周期內完成待處理任務所需內核數量;當所需內核數量大于第一預設值時,從內核組中喚醒數量為所需內核數量的內核;當所需內核數量不大于第二預設值時,根據所需內核數量以及內核組中處于運行狀態的內核的數量,休眠內核組中數量為第三預設值的內核。本發明專利技術根據多核CPU內核組的任務隊列中的任務動態調整內核的狀態,實現多核CPU電源功耗的有效管理,從而在降低電源功耗的同時,實現任務的及時處理。
【技術實現步驟摘要】
本專利技術屬于計算機
,尤其涉及一種多核CPU的電源管理方法、系統及CPU。
技術介紹
目前,多核CPU(包括多個內核的CPU)的應用越來越廣泛,很多設備中都使用多核CPU來進行業務處理,提高處理速度,然而,多核CPU在帶來業務處理性能提升的同時,也帶來了較大的功耗,隨著信息
的節能環保問題越來越受到關注,多核CPU設備的功耗管理也變得越來越重要。由于大多數多核CPU支持多種工作模式,單個核可以進入休眠模式,在空閑時段可以通過休眠一些核來達到降低功耗的作用,現有技術利用該特性,通過監控CPU占用率來調整多核的功耗,若處于運行狀態的核(運行核)的占用率小于預設的閾值就休眠一些核。如果運行核的占用率大于預設的閾值就喚醒一些休眠的核。然而,CPU占用率是一段時間內的平均值,不是瞬時狀態,不能及時反映任務突發,從而導致在任務突發時,任務處理不及時或被丟棄,使得用戶提交的業務執行被中斷。
技術實現思路
本專利技術實施例的目的在于提供一種多核CPU的電源管理方法,旨在解決由于現有技術無法提供一種有效的多核CPU電源管理方法,導致在多核CPU任務突發時,任務處理不及時或被丟棄,使得用戶提交的業務執行被中斷的問題。本專利技術實施例是這樣實現的,一種多核CPU的電源管理方法,所述方法包括下述步驟當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,所述內核組中內核的數量至少大于I ;根據所述待處理任務的數量計算在所述時間周期內完成所述待處理任務所需內核數量,所需內核數量少于所述內核組中休眠的內核數量;當所需內核數量大于第一預設值時,從所述內核組中喚醒數量為所需內核數量的內核;當所需內核數量不大于第二預設值時,根據所需內核數量以及所述內核組中處于運行狀態的內核的數量,休眠所述內核組中數量為第三預設值的內核。本專利技術實施例的另一目的在于提供一種多核CPU的電源管理裝置,所述裝置包括任務數量獲取單元,用于當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,所述內核組中內核的數量至少大于I ;內核數量計算單元,用于根據待處理任務的數量計算在所述時間周期內完成所述待處理任務所需內核數量,所需內核數量少于所述內核組中休眠的內核數量;內核喚醒單元,用于當所需內核數量大于第一預設值時,從所述內核組中喚醒數量為所需內核數量的內核;以及內核休眠單元,用于當所需內核數量不大于第二預設值時,根據所需內核數量以及所述內核組中處于運行狀態的內核的數量,休眠所述內核組中數量為第三預設值的內核。本專利技術實施例的另一目的在于提供一種包括上述多核CPU的電源管理裝置的CPU。本專利技術實施例在當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,計算在時間周期內完成待處理任務所需內核數量,當所需內核數量大于第一預設值時,從內核組中喚醒數量為所需內核數量的內核,當所需內核數量不大于第二預設值時,根據所需內核數量以及內核組中處于運行狀態的內核的數量, 休眠內核組中數量為第三預設值的內核,實現了根據多核CPU內核組中待處理任務數量動態調整內核的狀態(休眠和運行),以及多核CPU電源功耗的有效管理,從而在降低電源功耗的同時,及時地處理遞交的任務。附圖說明圖I是本專利技術第一實施例提供的多核CPU的電源管理方法的實現流程圖;圖2是本專利技術第二實施例提供的多核CPU的電源管理方法的實現流程圖;圖3是本專利技術第三實施例提供的多核CPU的電源管理裝置的結構圖;圖4是本專利技術第四實施例提供的多核CPU的電源管理裝置的結構圖。具體實施例方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。本專利技術實施例通過獲取多核CPU中預設內核組待處理任務的數量計算完成待處理任務所需內核數量,根據所所需內核數量進行內核組中內核的動態休眠和喚醒,實現了根據多核CPU內核組中待處理任務數量動態調整內核的狀態(休眠和運行),以及多核CPU電源功耗的有效管理,從而在降低電源功耗的同時,及時地處理遞交的任務。以下結合具體實施例對本專利技術的具體實現進行詳細描述實施例一:圖I示出了本專利技術第一實施例提供的多核CPU的電源管理方法的實現流程,詳述如下在步驟SlOl中,當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,該內核組中內核的數量至少大于I。在本專利技術實施例中,可以根據多核CPU中內核的功能不同預先對多核CPU中的內核進行邏輯上的劃分,例如,用于完成業務對應的任務的業務平面,以及用于控制和管理多核CPU中內核的控制平面,其中業務平面包括一個或多個邏輯上的業務組(內核組),控制平面可以部署在一個內核上,也可以部署在多個內核上,通過對業務平面內核組中內核的負載狀態的監測,控制平面可實現對業務平面的內核組中內核的電源管理,實現內核的休眠和喚醒。在本專利技術實施例中,預先為內核組分配用于緩存待處理任務的緩存空間,其中內核組中內核的數量至少大于1,當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,具體地,預設的時間周期可以根據多核CPU的工作頻率、多核CPU設備的應用環境(例如實時性要求)等一個或多個因素來進行時間周期的設置。在步驟S102中,根據待處理任務的數量計算在時間周期內完成待處理任務所需內核數量,所需內核數量少于內核組中休眠的內核數量。在本專利技術實施例中,獲取到多核CPU中預設內核組待處理任務的數量后,計算在時間周期內完成待處理任務所需內核數量M,其中M =纟,C為內核組待處理任務的數 S*T·量,S為內核組中內核的任務處理速度,T為預設的時間周期。所需內核數量應少于內核組中已休眠的內核數量,從而保證有足夠多的內核用來處理緩存的任務,保證待處理任務能夠得到及時地處理。在步驟S103中,當所需內核數量大于第一預設值時,從內核組中喚醒數量為所需內核數量的內核。在本專利技術實施例中,內核的狀態有休眠狀態、運行狀態或其它狀態,當所需內核數量大于第一預設值時,根據內核組中處于運行狀態的內核的數量,喚醒內核組中數量為所需內核數量的內核。在具體實施過程中,第一預設值的大小可以根據多核CPU運行環境或實驗數據進行設置。在步驟S104中,當所需內核數量不大于第二預設值時,根據所需內核數量以及內核組中處于運行狀態的內核的數量,休眠內核組中數量為第三預設值的內核。在本專利技術實施例中,第一預設值、第二預設值和第三預設值可以根據多核CPU的工作頻率、多核CPU設備的應用環境(例如實時性要求)等一個或多個因素來進行設置。較優地,第一預設值,第二預設值和第三預設值為1,從而當所需內核數量大于I時,及時地從內核組中喚醒內核進行任務處理,當所需內核數量不大于I時,為了防止所有內核被休眠,應根據所需內核數量以及內核組中處于運行狀態的內核的數量,休眠內核組中的一個內核,實現在降低能量消耗的前提下逐步地休眠內核,保證待處理任務能夠得到及時的處理,并保證處于運行狀態的內核的數量至少為I。在本專利技術實施例中,采用內核組的待處理任務的數量來表征多核CPU的負載狀況,在達到預設的時間周期時獲取多核CPU中預設內核組待處理任務的數量,進而計算在時間周期內完成待處理任務所需內核本文檔來自技高網...
【技術保護點】
一種多核CPU的電源管理方法,其特征在于,所述方法包括下述步驟:當達到預設的時間周期時,獲取多核CPU中預設內核組待處理任務的數量,所述內核組中內核的數量至少大于1;根據所述待處理任務的數量計算在所述時間周期內完成所述待處理任務所需內核數量,所需內核數量少于所述內核組中休眠的內核數量;當所需內核數量大于第一預設值時,從所述內核組中喚醒數量為所需內核數量的內核;當所需內核數量不大于第二預設值時,根據所需內核數量以及所述內核組中處于運行狀態的內核的數量,休眠所述內核組中數量為第三預設值的內核。
【技術特征摘要】
【專利技術屬性】
技術研發人員:於少峰,徐永新,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。