本公開技術(shù)方案涉及終端,尤其涉及一種cpu資源分配方法及裝置、存儲介質(zhì)及電子設(shè)備。
背景技術(shù):
1、核心,又稱為內(nèi)核,是cpu(central?processing?unit,中央處理器)的重要組成部分。單核cpu只有一個核心,只能同時處理一項任務(wù)。多核cpu是指在一個物理芯片中集成多個核心,可以同時處理多項任務(wù)。
2、為了提高任務(wù)處理效率,大多數(shù)終端采用多核cpu。且現(xiàn)有實現(xiàn)中,多根據(jù)不同應(yīng)用程序的優(yōu)先級來分配多核cpu中的多個核心。比如,優(yōu)先將大部分核心分配給具有較高優(yōu)先級的前臺應(yīng)用程序,將少部分核心分配給具有較低優(yōu)先級的后臺應(yīng)用程序。這種處理方法存在分配給前臺應(yīng)用程序的核心性能過剩,而分配給較低優(yōu)先級的后臺應(yīng)用程序的核心不足以支持后臺任務(wù)的問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本公開實施例提供一種cpu資源分配方法及裝置、存儲介質(zhì)及電子設(shè)備。
2、根據(jù)本公開的第一方面,提出了一種cpu資源分配方法,所述方法包括:
3、響應(yīng)于確定目標(biāo)應(yīng)用程序運行在前臺,讀取與所述目標(biāo)應(yīng)用程序相關(guān)的目標(biāo)核心配置信息;其中,所述目標(biāo)核心配置信息用于表征當(dāng)所述目標(biāo)應(yīng)用程序運行在前臺時,不同核心與至少兩種不同類型的任務(wù)的對應(yīng)關(guān)系;
4、根據(jù)所述目標(biāo)核心配置信息中的所述對應(yīng)關(guān)系,分別為所述至少兩種不同類型的任務(wù)分配對應(yīng)的核心,得到每種任務(wù)分別對應(yīng)的初始核心;
5、對所述至少兩種不同類型的任務(wù)當(dāng)前所需要的核心分別進行評估,得到評估的結(jié)果;所述評估的結(jié)果包括每種任務(wù)當(dāng)前所需要的核心的類型和/或數(shù)量;
6、根據(jù)所述評估的結(jié)果,對每種任務(wù)分別對應(yīng)的所述初始核心的類型和/或數(shù)量進行調(diào)整。
7、結(jié)合本公開提供的任一實施方式,每一目標(biāo)類型的任務(wù),包括至少一個子任務(wù);
8、所述對所述至少兩種不同類型的任務(wù)當(dāng)前所需要的核心分別進行評估,包括:
9、針對每一所述目標(biāo)類型的任務(wù),將所述目標(biāo)類型的任務(wù)中包括的所有子任務(wù)的負載進行求和,得到所述目標(biāo)類型的任務(wù)的總負載;
10、根據(jù)所述目標(biāo)類型的任務(wù)的總負載與所述多個核心中各核心分別對應(yīng)的最大負載,確定所述目標(biāo)類型的任務(wù)當(dāng)前所需要的核心。
11、結(jié)合本公開提供的任一實施方式,所述至少兩種不同類型的任務(wù)包括如下至少部分:
12、關(guān)鍵任務(wù);所述關(guān)鍵任務(wù)包括運行在前臺的所述目標(biāo)應(yīng)用程序所對應(yīng)的用于處理終端屏幕反饋的任務(wù);
13、可感知任務(wù);所述可感知任務(wù)包括運行在前臺的所述目標(biāo)應(yīng)用程序所對應(yīng)的除所述關(guān)鍵任務(wù)之外的其他任務(wù),以及,運行在后臺的應(yīng)用程序所對應(yīng)的用戶可感知的任務(wù);
14、不可感知任務(wù);所述不可感知任務(wù)包括運行在后臺的應(yīng)用程序所對應(yīng)的除所述可感知任務(wù)之外的其他任務(wù)。
15、結(jié)合本公開提供的任一實施方式,所述多個核心包括:大核、中核和小核;其中,所述大核的最大負載大于所述中核的最大負載,所述中核的最大負載大于所述小核的最大負載;
16、所述對所述至少兩種不同類型的任務(wù)當(dāng)前所需要的核心分別進行評估,包括:
17、分別確定所述關(guān)鍵任務(wù)、可感知任務(wù)和不可感知任務(wù)的總負載;
18、依據(jù)所述關(guān)鍵任務(wù)的總負載與所述中核的最大負載、所述大核的最大負載之間的關(guān)系,確定所述關(guān)鍵任務(wù)所需要的中核和/或大核的數(shù)量;
19、依據(jù)所述可感知任務(wù)的總負載與所述小核的最大負載、所述中核的最大負載之間的關(guān)系,確定所述可感知任務(wù)所需要的小核和/或中核的數(shù)量;
20、依據(jù)所述不可感知任務(wù)的總負載與所述小核的最大負載之間的關(guān)系,確定所述可感知任務(wù)所需要的小核的數(shù)量。
21、結(jié)合本公開提供的任一實施方式,所述根據(jù)根據(jù)所述評估的結(jié)果,對每種任務(wù)分別對應(yīng)的所述初始核心的類型和/或數(shù)量進行調(diào)整,包括:
22、若基于所述評估結(jié)果,確定所述關(guān)鍵任務(wù)和所述可感知任務(wù)需要的中核的數(shù)量之和大于中核的總數(shù),則優(yōu)先為所述關(guān)鍵任務(wù)分配中核。
23、結(jié)合本公開提供的任一實施方式,所述對所述至少兩種不同類型的任務(wù)當(dāng)前所需要的核心分別進行評估,包括:
24、響應(yīng)于確定所述終端處于性能加速模式,所述關(guān)鍵任務(wù)當(dāng)前所需要的核心的評估結(jié)果為所述多個核心;其中,所述性能加速模式用于加速關(guān)鍵任務(wù)的運行。
25、結(jié)合本公開提供的任一實施方式,所述響應(yīng)于確定目標(biāo)應(yīng)用程序運行在前臺,讀取與所述目標(biāo)應(yīng)用程序相關(guān)的目標(biāo)核心配置信息之前,所述方法還包括:
26、獲取所述終端的殼溫;
27、確定所述終端的殼溫低于或等于預(yù)設(shè)溫度閾值。
28、根據(jù)本公開的第二方面,提出了一種cpu資源分配裝置,所述裝置包括:
29、讀取模塊,用于響應(yīng)于確定目標(biāo)應(yīng)用程序運行在前臺,讀取與所述目標(biāo)應(yīng)用程序相關(guān)的目標(biāo)核心配置信息;其中,所述目標(biāo)核心配置信息用于表征當(dāng)所述目標(biāo)應(yīng)用程序運行在前臺時,不同核心與至少兩種不同類型的任務(wù)的對應(yīng)關(guān)系;
30、分配模塊,用于根據(jù)所述目標(biāo)核心配置信息中的所述對應(yīng)關(guān)系,分別為所述至少兩種不同類型的任務(wù)分配對應(yīng)的核心,得到每種任務(wù)分別對應(yīng)的初始核心;
31、評估模塊,用于對所述至少兩種不同類型的任務(wù)當(dāng)前所需要的核心分別進行評估,得到評估的結(jié)果;所述評估的結(jié)果包括每種任務(wù)當(dāng)前所需要的核心的類型和/或數(shù)量;
32、調(diào)整模塊,用于根據(jù)所述評估的結(jié)果,對每種任務(wù)分別對應(yīng)的所述初始核心的類型和/或數(shù)量進行調(diào)整。
33、根據(jù)本公開的第三方面,提供一種計算機可讀存儲介質(zhì),所述機器可讀存儲介質(zhì)存儲有機器可讀指令,所述機器可讀指令在被處理器調(diào)用和執(zhí)行時,促使所述處理器實現(xiàn)本公開任一實施例的cpu資源分配方法。
34、根據(jù)本公開的第四方面,提供一種電子設(shè)備,包括
35、處理器;
36、用于存儲處理器可執(zhí)行指令的存儲器;
37、其中,所述處理器被配置為用于執(zhí)行本公開任一實施例的cpu資源分配方法。
38、本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
39、本公開實施例提供的cpu資源分配方法及裝置、存儲介質(zhì)及電子設(shè)備,當(dāng)確定目標(biāo)應(yīng)用程序運行在前臺時,可以讀取與所述目標(biāo)應(yīng)用程序相關(guān)的目標(biāo)核心配置信息,并基于所述目標(biāo)核心配置信息,為至少兩種不同類型的任務(wù)分配不同的核心,得到每種任務(wù)分別對應(yīng)的初始核心。其中,所述目標(biāo)核心配置信息用于表征當(dāng)所述目標(biāo)應(yīng)用程序運行在前臺時,不同核心與至少兩種不同類型的任務(wù)的對應(yīng)關(guān)系,所述目標(biāo)核心配置信息由相關(guān)工作人員基于實驗測試得到。然后,進一步基于不同類型的任務(wù)當(dāng)前所需要的核心的類型和/或數(shù)量實時調(diào)整每種任務(wù)分別對應(yīng)的初始核心,從而實現(xiàn)更加精準(zhǔn)的核心分配,避免出現(xiàn)核心分配不合理造成的核心性能過剩的問題。
40、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
1.一種中央處理器cpu資源分配方法,其特征在于,所述cpu資源包括多個核心,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,每一目標(biāo)類型的任務(wù),包括至少一個子任務(wù);
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述至少兩種不同類型的任務(wù)包括如下至少部分:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述多個核心包括:大核、中核和小核;其中,所述大核的最大負載大于所述中核的最大負載,所述中核的最大負載大于所述小核的最大負載;
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對所述至少兩種不同類型的任務(wù)當(dāng)前所需要的核心分別進行評估,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)于確定目標(biāo)應(yīng)用程序運行在前臺,讀取與所述目標(biāo)應(yīng)用程序相關(guān)的目標(biāo)核心配置信息之前,所述方法還包括:
8.一種cpu資源分配裝置,其特征在于,所述cpu資源包括多個核心,所述裝置包括:
9.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,該程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1-7任一所述方法的步驟。
10.一種電子設(shè)備,其特征在于,包括: