運(yùn)算資源頻率調(diào)整方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種運(yùn)算資源頻率調(diào)整方法及系統(tǒng)。其中方法包括:當(dāng)有線程需要遷移時(shí),獲取線程將要遷移出的源運(yùn)算資源和線程將要遷移入的目標(biāo)運(yùn)算資源;計(jì)算線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率;獲取第一運(yùn)算頻率,并根據(jù)第一運(yùn)算頻率調(diào)整目標(biāo)運(yùn)算資源的運(yùn)算頻率;將線程遷移至目標(biāo)運(yùn)算資源。由于其目標(biāo)運(yùn)算資源的運(yùn)算頻率是根據(jù)要遷移的線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率調(diào)整得到的,因此目標(biāo)運(yùn)算資源的運(yùn)行頻率能夠很好的滿足線程的頻率需求,既不會(huì)出現(xiàn)效能溢出,造成不必要功耗浪費(fèi)的現(xiàn)象,也不會(huì)出現(xiàn)效能不足,造成系統(tǒng)卡頓的現(xiàn)象。
【專利說(shuō)明】
運(yùn)算資源頻率調(diào)整方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種運(yùn)算資源頻率調(diào)整方法及系統(tǒng)。
【背景技術(shù)】
[0002]在一些領(lǐng)域中,例如移動(dòng)智能終端中,通常線程在從一個(gè)運(yùn)算資源(源運(yùn)算資源)迀移到另一個(gè)運(yùn)算資源(目標(biāo)運(yùn)算資源)上時(shí),如果目標(biāo)運(yùn)算資源的當(dāng)前運(yùn)算頻率低于目標(biāo)運(yùn)算資源的運(yùn)算頻率,目標(biāo)運(yùn)算資源的運(yùn)算頻率會(huì)被調(diào)節(jié)為源運(yùn)算資源的運(yùn)算頻率。上述的運(yùn)算資源可以為CPU(Central Processing Unit,中央處理單元)、GPU(GraphicsProcessing Unit,圖形處理單元)和VPU(Video Processing Unit,視頻處理單元)。例如:如圖1所示,運(yùn)算資源O當(dāng)前的運(yùn)算頻率為1.5GHz,運(yùn)算資源3當(dāng)前的運(yùn)算頻率為600MHz,當(dāng)線程A從運(yùn)算資源O迀移到運(yùn)算資源3時(shí),系統(tǒng)通常會(huì)根據(jù)運(yùn)算資源O的運(yùn)算頻率直接將運(yùn)算資源3的運(yùn)算頻率調(diào)整至1.5GHz。
[0003]本發(fā)明的發(fā)明人發(fā)現(xiàn):將線程從源運(yùn)算資源迀移到目標(biāo)運(yùn)算資源上時(shí),將目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)節(jié)為源運(yùn)算資源的運(yùn)算頻率,不一定剛好滿足目標(biāo)運(yùn)算資源上的所有線程的頻率需求,調(diào)整后目標(biāo)運(yùn)算資源可能會(huì)出現(xiàn)運(yùn)算頻率過(guò)高,從而造成功耗較大、功耗浪費(fèi)(效能溢出)的問(wèn)題;也可能會(huì)出現(xiàn)目標(biāo)運(yùn)算資源的運(yùn)算頻率仍然不足,導(dǎo)致效能不足,即不能滿足目標(biāo)運(yùn)算資源上所有的線程的效能需求,導(dǎo)致系統(tǒng)卡頓的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]鑒于此,有必要針對(duì)前述的線程在運(yùn)算資源之間迀移時(shí)易出現(xiàn)效能溢出或不足的問(wèn)題,提供一種運(yùn)算資源頻率調(diào)整方法及系統(tǒng),能夠有效避免線程在運(yùn)算資源之間迀移出現(xiàn)的效能溢出或不足的問(wèn)題。
[0005]為達(dá)到發(fā)明目的,提供一種運(yùn)算資源頻率調(diào)整方法,所述方法包括:
[0006]當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源;
[0007]計(jì)算所述線程在所述源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率;
[0008]獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率;
[0009]將所述線程迀移至所述目標(biāo)運(yùn)算資源。
[0010]在其中一個(gè)實(shí)施例中,所述獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的步驟包括:
[0011 ]判斷所述目標(biāo)運(yùn)算資源上是否存在已有線程正在被執(zhí)行;
[0012]若是,則獲取所述目標(biāo)運(yùn)算資源中所述已有線程所占的第二運(yùn)算頻率,并將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的值調(diào)整為所述第一運(yùn)算頻率與所述第二運(yùn)算頻率之和;
[0013]若否,則將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至所述第一運(yùn)算頻率。
[0014]在其中一個(gè)實(shí)施例中,在在所述將所述線程迀移至所述目標(biāo)運(yùn)算資源的步驟之后,還包括;
[0015]根據(jù)所述第一運(yùn)算頻率調(diào)整所述源運(yùn)算資源的運(yùn)算頻率。
[0016]在其中一個(gè)實(shí)施例中,所述根據(jù)所述第一運(yùn)算頻率調(diào)整所述源運(yùn)算資源的運(yùn)算頻率的步驟包括:
[0017]將所述源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與所述第一運(yùn)算頻率之差。
[0018]在其中一個(gè)實(shí)施例中,在所述當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源的步驟之前,還包括:
[0019]判斷是否有至少兩個(gè)運(yùn)算資源處于開(kāi)啟狀態(tài),其中,至少兩個(gè)所述運(yùn)算資源中至少包括一個(gè)所述源運(yùn)算資源和一個(gè)所述目標(biāo)運(yùn)算資源;
[0020]若是,則執(zhí)行所述有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源的步驟;
[0021]若否,則不執(zhí)行所述線程迀移的步驟。
[0022]本發(fā)明還提供一種運(yùn)算資源頻率調(diào)整系統(tǒng),所述系統(tǒng)包括:
[0023]獲取模塊,用于當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源;
[0024]計(jì)算模塊,用于計(jì)算所述線程在所述源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率;
[0025]第一調(diào)整模塊,用于獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率;
[0026]迀移模塊,用于將所述線程迀移至所述目標(biāo)運(yùn)算資源。
[0027]在其中一個(gè)實(shí)施例中,所述第一調(diào)整模塊包括:
[0028]判斷單元,用于判斷所述目標(biāo)運(yùn)算資源上是否存在已有線程正在被執(zhí)行;
[0029]第一調(diào)整單元,用于若所述目標(biāo)運(yùn)算資源上存在所述已有線程正在被執(zhí)行,則獲取所述目標(biāo)運(yùn)算資源中所述已有線程所占的第二運(yùn)算頻率,并將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的值調(diào)整為所述第一運(yùn)算頻率與所述第二運(yùn)算頻率之和;
[0030]第二調(diào)整單元,用于若所述目標(biāo)運(yùn)算資源上不存在所述已有線程正在被執(zhí)行,則將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至所述第一運(yùn)算頻率。
[0031]在其中一個(gè)實(shí)施例中,還包括:
[0032]第二調(diào)整模塊,用于根據(jù)所述第一運(yùn)算頻率調(diào)整所述源運(yùn)算資源的運(yùn)算頻率。
[0033]在其中一個(gè)實(shí)施例中,所述第二調(diào)整模塊包括:
[0034]第三調(diào)整單元,用于將所述源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與所述第一運(yùn)算頻率之差。
[0035]在其中一個(gè)實(shí)施例中,還包括:
[0036]判斷模塊,用于判斷是否有至少兩個(gè)運(yùn)算資源處于開(kāi)啟狀態(tài),其中,至少兩個(gè)所述運(yùn)算資源中至少包括一個(gè)所述源運(yùn)算資源和一個(gè)所述目標(biāo)運(yùn)算資源;若是,則進(jìn)入所述獲取模塊,若否,則不迀移所述線程。
[0037]本發(fā)明的有益效果包括:
[0038]上述運(yùn)算資源頻率調(diào)整方法及系統(tǒng),目標(biāo)運(yùn)算資源的運(yùn)算頻率是根據(jù)要迀移的線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率調(diào)整得到的,因此目標(biāo)運(yùn)算資源的運(yùn)行頻率能夠很好的滿足線程的頻率需求,既不會(huì)出現(xiàn)效能溢出,造成不必要功耗的現(xiàn)象,也不會(huì)出現(xiàn)效能不足,造成系統(tǒng)卡頓的現(xiàn)象,這樣既不影響使用者的使用體驗(yàn),也不會(huì)有功耗上的浪費(fèi),提高了使用者的體驗(yàn)舒適度。
【附圖說(shuō)明】
[0039]圖1為一個(gè)實(shí)施例中的傳統(tǒng)運(yùn)算資源頻率調(diào)整狀況的示意圖;
[0040]圖2為一個(gè)實(shí)施例中的運(yùn)算資源頻率調(diào)整狀況的示意圖;
[0041]圖3為一個(gè)實(shí)施例中的運(yùn)算資源頻率調(diào)整方法的流程示意圖;
[0042]圖4為另一個(gè)實(shí)施例中的運(yùn)算資源頻率調(diào)整方法的流程示意圖;
[0043]圖5為又一個(gè)實(shí)施例中的運(yùn)算資源頻率調(diào)整方法的流程示意圖;
[0044]圖6為一個(gè)實(shí)施例中的運(yùn)算資源頻率調(diào)整系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明運(yùn)算資源頻率調(diào)整方法及系統(tǒng)進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0046]在一個(gè)實(shí)施例中,如圖3所示,提供了一種運(yùn)算資源頻率調(diào)整方法,該方法包括以下步驟:
[0047]S100,當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和線程將要迀移入的目標(biāo)運(yùn)算資源。
[0048]S200,計(jì)算所述線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率。
[0049]S300,獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率。
[0050]S400,將所述線程迀移至所述目標(biāo)運(yùn)算資源。
[0051 ]在一實(shí)施方式中,前述“根據(jù)所述第一運(yùn)算頻率調(diào)整目標(biāo)運(yùn)算資源的運(yùn)算頻率”指所述目標(biāo)運(yùn)算資源的調(diào)整后的運(yùn)算頻率為所述第一運(yùn)算頻率和所述目標(biāo)運(yùn)算資源的調(diào)整前的運(yùn)算頻率之和。
[0052]本實(shí)施例中,當(dāng)有線程需要在運(yùn)算資源之間迀移時(shí),獲取線程迀移的源運(yùn)算資源和目標(biāo)運(yùn)算資源,源運(yùn)算資源是指線程將要迀移出的運(yùn)算資源,目標(biāo)運(yùn)算資源是指線程將要迀移入的運(yùn)算資源,并獲取線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率,根據(jù)第一運(yùn)算頻率動(dòng)態(tài)調(diào)整目標(biāo)運(yùn)算資源的運(yùn)算頻率,最后將線程迀移到目標(biāo)運(yùn)算資源,以使目標(biāo)運(yùn)算資源的運(yùn)算頻率以最適合線程需求的運(yùn)算頻率運(yùn)行,不僅不會(huì)出現(xiàn)效能溢出,功耗浪費(fèi)的情況,還能將不必要功耗降至零,同時(shí)也不會(huì)出現(xiàn)由于效能不足而影響到系統(tǒng)散熱、負(fù)載、運(yùn)算資源等平衡的情況,提高使用者的體驗(yàn)舒適度。
[0053]在一實(shí)施方式中,運(yùn)算資源包括CPU(Central Processing Unit,中央處理單元)、GPU(Graphics Processing Unit,圖形處理單元)和VPU(Video Processing Unit,視頻處理單元)。
[0054]需要說(shuō)明的是,每個(gè)運(yùn)算資源可以在多個(gè)運(yùn)算頻率下運(yùn)行,在理想假設(shè)沒(méi)有損耗的情況下,在高運(yùn)算頻率下運(yùn)行的運(yùn)算資源能提供更好的效能輸出,但同時(shí)所需要的功耗也越大。線程是占用運(yùn)算資源的基本單位,可以隨時(shí)中斷并隨時(shí)再?gòu)闹袛帱c(diǎn)繼續(xù)執(zhí)行,也可以在運(yùn)算資源間自由迀移,但同一時(shí)間只能在一個(gè)運(yùn)算資源上執(zhí)行。迀移是指線程從在一個(gè)運(yùn)算資源執(zhí)行改變?yōu)樵诹硪粋€(gè)運(yùn)算資源執(zhí)行,迀移一般由調(diào)度器調(diào)度改變。
[0055]例如:圖1中呈現(xiàn)了相同的四個(gè)運(yùn)算資源,每個(gè)運(yùn)算資源可以是開(kāi)啟或關(guān)閉的運(yùn)行狀態(tài),其中運(yùn)算資源O和3處于開(kāi)啟狀態(tài),運(yùn)算資源I和2處于關(guān)閉狀態(tài),而線程可以在狀態(tài)開(kāi)啟的運(yùn)算資源O和3間迀移。當(dāng)一個(gè)線程要迀移時(shí),如線程A從運(yùn)算資源O迀移到運(yùn)算資源3時(shí),雖然運(yùn)算資源3當(dāng)前的運(yùn)算頻率(效能)為600MHz,但該運(yùn)算頻率600MHz也只能滿足線程D的需求。此時(shí)可以預(yù)見(jiàn)運(yùn)算資源3是無(wú)法同時(shí)滿足線程A和線程D的效能需求,因此,如果需要將線程A迀移到運(yùn)算資源3,則需要調(diào)整運(yùn)算資源3的運(yùn)算頻率。
[0056]現(xiàn)有的運(yùn)算資源的頻率調(diào)整技術(shù)直接將運(yùn)算資源3的運(yùn)算頻率調(diào)整為運(yùn)算資源O的運(yùn)算頻率,g卩1.5GHz,認(rèn)為這樣便能同時(shí)滿足線程A和D的效能需求。但實(shí)際上由于不知道線程A、B、C分別占用運(yùn)算資源O的1.5GHz的比例,所以運(yùn)算資源3在頻率調(diào)整后仍可能會(huì)出現(xiàn)效能不足或溢出。如:假設(shè)線程A占用的運(yùn)算頻率為800MHz時(shí),將運(yùn)算資源3的運(yùn)算頻率調(diào)整為1.5GHz,此時(shí),運(yùn)算資源3上的所有線程(即線程A和線程D)共需要1.4GHz的運(yùn)算頻率,此時(shí),運(yùn)算資源3多出了 10MHz效能資源沒(méi)有被利用,造成了浪費(fèi)。或者,若線程A占用的運(yùn)算頻率為IGHz,即使將運(yùn)算資源3的運(yùn)算頻率調(diào)整為1.5GHz,也不能滿足線程A和線程D的1.6GHz運(yùn)算頻率的需求,造成效能不足,從而產(chǎn)生系統(tǒng)卡頓的現(xiàn)象。
[0057]參見(jiàn)圖2,在迀移線程A之前,先精確計(jì)算出運(yùn)算資源上的每一個(gè)線程所需的運(yùn)算頻率,在由于散熱、效能、耗電、負(fù)載平衡等原因需將線程A迀移至其他運(yùn)算資源時(shí),依據(jù)線程A本身所需的運(yùn)算頻率進(jìn)行目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整。如:當(dāng)要將線程A迀移至運(yùn)算資源3時(shí),計(jì)算線程A的運(yùn)算頻率需求為900MHz,計(jì)算運(yùn)算資源3中已有線程D的運(yùn)算頻率需求為600MHz,為了讓運(yùn)算資源3可以同時(shí)滿足線程A和線程的D的效能需求,將運(yùn)算資源3的運(yùn)算頻率調(diào)高至1.5GHz,這樣便能完美地避免能效的溢出和不足。同時(shí)將線程A從運(yùn)算資源O迀出后,運(yùn)算資源O的1.7GHz運(yùn)算頻率出現(xiàn)了900MHz效能溢出,所以將運(yùn)算資源O的運(yùn)算頻率調(diào)整至800MHz,以此來(lái)避免運(yùn)算資源O的能耗溢出。
[0058]在一個(gè)實(shí)施例中,參見(jiàn)圖4,步驟S300包括:
[0059]S310,判斷目標(biāo)運(yùn)算資源上是否存在已有線程正在被執(zhí)行。
[0060]S320,若是,則獲取目標(biāo)運(yùn)算資源中所述已有線程所占的第二運(yùn)算頻率,并將目標(biāo)運(yùn)算資源的運(yùn)算頻率的值調(diào)整為第一運(yùn)算頻率與第二運(yùn)算頻率之和。
[0061 ] S320,若否,則將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至所述第一運(yùn)算頻率
[0062]若線程將要迀移到的目標(biāo)運(yùn)算資源的上不存在已有線程正在被執(zhí)行,則說(shuō)明該目標(biāo)運(yùn)算資源剛從關(guān)閉狀態(tài)中開(kāi)啟,此時(shí)目標(biāo)運(yùn)算資源的運(yùn)行頻率為0,若想要將線程迀移至目標(biāo)運(yùn)算資源時(shí),需調(diào)整目標(biāo)運(yùn)算資源的運(yùn)行頻率滿足線程的需求,最好是將目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至第一運(yùn)算頻率,這樣既不會(huì)有效能溢出,也不會(huì)有效能不足。
[0063]相似的,若線程將要迀移到的目標(biāo)運(yùn)算資源上存在已有線程正在被執(zhí)行,則說(shuō)明該目標(biāo)運(yùn)算資源的運(yùn)算狀態(tài)不是剛開(kāi)啟狀態(tài),此時(shí)若想要將線程迀移至目標(biāo)運(yùn)算資源時(shí),需要調(diào)整目標(biāo)運(yùn)算資源的運(yùn)行頻率滿足已有線程和該迀移線程的頻率需求,最好是將目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整為第一運(yùn)算頻率與第二運(yùn)算頻率之和,這樣便能完美地避免效能溢出或不足。。
[0064]在一個(gè)實(shí)施例中,參見(jiàn)圖5,步驟S400之后,還包括:
[0065]S500,根據(jù)第一運(yùn)算頻率調(diào)整源運(yùn)算資源的運(yùn)算頻率。
[0066]優(yōu)選的,在一個(gè)實(shí)施例中,步驟S500包括:
[0067]S510,將源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與第一運(yùn)算頻率之差。
[0068]將線程迀移出源運(yùn)算資源之后,由于源運(yùn)算資源中滿足迀移線程需求的運(yùn)算頻率空閑出來(lái),這樣造成了效能的溢出,根據(jù)第一運(yùn)算頻率按照一定的比例調(diào)整源運(yùn)算資源,以降低源運(yùn)算資源的效能溢出。優(yōu)選的,將源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與第一運(yùn)算頻率之差,能夠有效的避免源運(yùn)算資源的效能溢出。
[0069]在一個(gè)實(shí)施例中,在步驟SlOO之前,還包括:
[0070]S010,判斷是否有至少兩個(gè)運(yùn)算資源處于開(kāi)啟狀態(tài),其中,所述至少兩個(gè)運(yùn)算資源中至少包括一個(gè)源運(yùn)算資源和一個(gè)目標(biāo)運(yùn)算資源;若是,則執(zhí)行步驟SlOO;若否,則不執(zhí)行線程迀移的步驟。
[0071]線程的迀移是指線程從一個(gè)狀態(tài)為開(kāi)啟的運(yùn)算資源上迀移到另一個(gè)狀態(tài)為開(kāi)啟的運(yùn)算資源上,即線程在狀態(tài)開(kāi)啟的運(yùn)算資源上迀移,若只有一個(gè)或沒(méi)有運(yùn)算資源的狀態(tài)是開(kāi)啟的,則無(wú)法執(zhí)行線程的迀移,因此也無(wú)需對(duì)運(yùn)算資源的運(yùn)算頻率進(jìn)行調(diào)整,簡(jiǎn)便了不必要的執(zhí)行過(guò)程。
[0072]值得說(shuō)明的是,若只有兩個(gè)運(yùn)算資源的狀態(tài)為開(kāi)啟狀態(tài),則如果線程要執(zhí)行迀移的步驟,則這兩個(gè)運(yùn)算資源中必定有一個(gè)為源運(yùn)算資源,另一個(gè)為目標(biāo)運(yùn)算資源。若運(yùn)算資源中有多個(gè)為開(kāi)啟狀態(tài)(兩個(gè)以上),這多個(gè)運(yùn)算資源中也至少有一個(gè)為源運(yùn)算資源,至少一個(gè)為目標(biāo)運(yùn)算資源。
[0073]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory,RAM)等。
[0074]在一個(gè)實(shí)施例中,如圖6所示,還提供了一種運(yùn)算資源頻率調(diào)整系統(tǒng),該系統(tǒng)包括:獲取模塊100,用于當(dāng)有線程需要迀移時(shí),獲取線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源。計(jì)算模塊200,用于計(jì)算所述線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率。第一調(diào)整模塊300,用于獲取第一運(yùn)算頻率,并根據(jù)第一運(yùn)算頻率調(diào)整目標(biāo)運(yùn)算資源的運(yùn)算頻率。迀移模塊400,用于將線程迀移至目標(biāo)運(yùn)算資源。
[0075]本實(shí)施例中,目標(biāo)運(yùn)算資源的運(yùn)算頻率是根據(jù)要迀移的線程在源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率調(diào)整得到的,因此目標(biāo)運(yùn)算資源的運(yùn)行頻率能夠很好的滿足線程的頻率需求,既不會(huì)出現(xiàn)效能溢出,造成不必要功耗的現(xiàn)象,也不會(huì)出現(xiàn)效能不足,造成系統(tǒng)卡頓的現(xiàn)象。這樣既不影響使用者的使用體驗(yàn),也不會(huì)有功耗上的浪費(fèi),提高使用者的體驗(yàn)舒適度。
[0076]在一個(gè)實(shí)施例中,第一調(diào)整模塊300包括:判斷單元310,用于判斷目標(biāo)運(yùn)算資源上是否存在已有線程正在被執(zhí)行。第一調(diào)整單元320,用于若目標(biāo)運(yùn)算資源上存在已有線程正在被執(zhí)行,則獲取目標(biāo)運(yùn)算資源中所述已有線程所占的第二運(yùn)算頻率,并將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的值調(diào)整為所述第一運(yùn)算頻率與所述第二運(yùn)算頻率之和。第二調(diào)整單元330,用于若所述目標(biāo)運(yùn)算資源上不存在所述已有線程正在被執(zhí)行,則將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至所述第一運(yùn)算頻率。
[0077]在一個(gè)實(shí)施例中,還包括:第二調(diào)整模塊500,用于根據(jù)第一運(yùn)算頻率調(diào)整源運(yùn)算資源的運(yùn)算頻率。
[0078]在一個(gè)實(shí)施例中,第二調(diào)整模塊500包括第三調(diào)整單元510,用于將源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與所述第一運(yùn)算頻率之差。
[0079]在一個(gè)實(shí)施例中,還包括:判斷模塊010,用于判斷是否有至少兩個(gè)運(yùn)算資源處于開(kāi)啟狀態(tài),其中,至少兩個(gè)運(yùn)算資源中至少包括一個(gè)源運(yùn)算資源和一個(gè)目標(biāo)運(yùn)算資源;若是,則進(jìn)入獲取模塊100,若否,則不迀移線程。
[0080]由于此系統(tǒng)解決問(wèn)題的原理與前述一種運(yùn)算資源頻率調(diào)整方法相似,因此該系統(tǒng)的實(shí)施可以參見(jiàn)前述方法的實(shí)施,重復(fù)之處不再贅述。
[0081]以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。
[0082]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種運(yùn)算資源頻率調(diào)整方法,其特征在于,所述方法包括: 當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源; 計(jì)算所述線程在所述源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率; 獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率; 將所述線程迀移至所述目標(biāo)運(yùn)算資源。2.根據(jù)權(quán)利要求1所述的運(yùn)算資源頻率調(diào)整方法,其特征在于,所述獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的步驟包括: 判斷所述目標(biāo)運(yùn)算資源上是否存在已有線程正在被執(zhí)行; 若是,則獲取所述目標(biāo)運(yùn)算資源中所述已有線程所占的第二運(yùn)算頻率,并將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的值調(diào)整為所述第一運(yùn)算頻率與所述第二運(yùn)算頻率之和; 若否,則將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至所述第一運(yùn)算頻率。3.根據(jù)權(quán)利要求1或2所述的運(yùn)算資源頻率調(diào)整方法,其特征在于,在所述將所述線程迀移至所述目標(biāo)運(yùn)算資源的步驟之后,還包括; 根據(jù)所述第一運(yùn)算頻率調(diào)整所述源運(yùn)算資源的運(yùn)算頻率。4.根據(jù)權(quán)利要求3所述的運(yùn)算資源頻率調(diào)整方法,其特征在于,所述根據(jù)所述第一運(yùn)算頻率調(diào)整所述源運(yùn)算資源的運(yùn)算頻率的步驟包括: 將所述源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與所述第一運(yùn)算頻率之差。5.根據(jù)權(quán)利要求1所述的運(yùn)算資源頻率調(diào)整方法,其特征在于,在所述當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源的步驟之前,還包括: 判斷是否有至少兩個(gè)運(yùn)算資源處于開(kāi)啟狀態(tài),其中,至少兩個(gè)所述運(yùn)算資源中至少包括一個(gè)所述源運(yùn)算資源和一個(gè)所述目標(biāo)運(yùn)算資源; 若是,則執(zhí)行所述有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源的步驟; 若否,則不執(zhí)行所述線程迀移的步驟。6.一種運(yùn)算資源頻率調(diào)整系統(tǒng),其特征在于,所述系統(tǒng)包括: 獲取模塊,用于當(dāng)有線程需要迀移時(shí),獲取所述線程將要迀移出的源運(yùn)算資源和所述線程將要迀移入的目標(biāo)運(yùn)算資源; 計(jì)算模塊,用于計(jì)算所述線程在所述源運(yùn)算資源的運(yùn)算頻率中所占的第一運(yùn)算頻率;第一調(diào)整模塊,用于獲取所述第一運(yùn)算頻率,并根據(jù)所述第一運(yùn)算頻率調(diào)整所述目標(biāo)運(yùn)算資源的運(yùn)算頻率; 迀移模塊,用于將所述線程迀移至所述目標(biāo)運(yùn)算資源。7.根據(jù)權(quán)利要求6所述的運(yùn)算資源頻率調(diào)整系統(tǒng),其特征在于,所述第一調(diào)整模塊包括: 判斷單元,用于判斷所述目標(biāo)運(yùn)算資源上是否存在已有線程正在被執(zhí)行; 第一調(diào)整單元,用于若所述目標(biāo)運(yùn)算資源上存在所述已有線程正在被執(zhí)行,則獲取所述目標(biāo)運(yùn)算資源中所述已有線程所占的第二運(yùn)算頻率,并將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率的值調(diào)整為所述第一運(yùn)算頻率與所述第二運(yùn)算頻率之和; 第二調(diào)整單元,用于若所述目標(biāo)運(yùn)算資源上不存在所述已有線程正在被執(zhí)行,則將所述目標(biāo)運(yùn)算資源的運(yùn)算頻率調(diào)整至所述第一運(yùn)算頻率。8.根據(jù)權(quán)利要求6或7所述的運(yùn)算資源頻率調(diào)整系統(tǒng),其特征在于,還包括: 第二調(diào)整模塊,用于根據(jù)所述第一運(yùn)算頻率調(diào)整所述源運(yùn)算資源的運(yùn)算頻率。9.根據(jù)權(quán)利要求8所述的運(yùn)算資源頻率調(diào)整系統(tǒng),其特征在于,所述第二調(diào)整模塊包括: 第三調(diào)整單元,用于將所述源運(yùn)算資源的運(yùn)算頻率的值調(diào)整為源運(yùn)算資源的原運(yùn)算頻率與所述第一運(yùn)算頻率之差。10.根據(jù)權(quán)利要求6所述的運(yùn)算資源頻率調(diào)整系統(tǒng),其特征在于,還包括: 判斷模塊,用于判斷是否有至少兩個(gè)運(yùn)算資源處于開(kāi)啟狀態(tài),其中,至少兩個(gè)所述運(yùn)算資源中至少包括一個(gè)所述源運(yùn)算資源和一個(gè)所述目標(biāo)運(yùn)算資源;若是,則進(jìn)入所述獲取模塊,若否,則不迀移所述線程。
【文檔編號(hào)】G06F9/50GK105930218SQ201610242207
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年4月18日
【發(fā)明人】陳奐彣, 張文彥
【申請(qǐng)人】深圳市萬(wàn)普拉斯科技有限公司