能源效率的多重群集系統(tǒng)及其操作的制作方法
【專利摘要】多重群集系統(tǒng)具有不同的能源效率特性的處理器核,其以高效率運(yùn)行,使得可滿足性能及功率需求。該系統(tǒng)包括在分層群組中的多個(gè)處理器核。分層群組包含:多個(gè)層級(jí)?1群組,每個(gè)所述層級(jí)?1群組包括多個(gè)處理器核的具有相同的能源效率特性的一個(gè)或多個(gè),以及每個(gè)層級(jí)?1群組通過各自的層級(jí)?1調(diào)度器被分配第一任務(wù);一個(gè)或多個(gè)層級(jí)?2群組,一個(gè)或多個(gè)層級(jí)?2群組中的每一者包括各自的多個(gè)層級(jí)?1群組,在相同的層級(jí)?2群組的不同的層級(jí)?1群組中的處理器核具有不同的能源效率特性,以及一個(gè)或多個(gè)層級(jí)?2群組中的每一者通過各自的層級(jí)?2調(diào)度器被分配第二任務(wù);以及層級(jí)?3群組,包括一個(gè)或多個(gè)層級(jí)?2群組,以及通過層級(jí)?3調(diào)度器被分配第三任務(wù)。
【專利說明】能源效率的多重群集系統(tǒng)及其操作
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)是美國專利申請(qǐng)?zhí)枮?4/931,923,申請(qǐng)日為2015年11月4日的部分延續(xù)申請(qǐng),以及其要求申請(qǐng)日為2014年11月17日的美國臨時(shí)申請(qǐng)案62/080,617、申請(qǐng)日為2015年2月3日的美國臨時(shí)申請(qǐng)案為62/111,138、申請(qǐng)日為2015年3月2日的美國臨時(shí)申請(qǐng)案62/126,963、以及申請(qǐng)日為2015年4月16日的美國臨時(shí)申請(qǐng)案62/148,325的優(yōu)先權(quán)。
技術(shù)領(lǐng)域
[0003]本發(fā)明實(shí)施例涉及多重群集系統(tǒng),以及更具體地,涉及多重群集系統(tǒng)中的性能及功率管理,該多重群集系統(tǒng)包括具有不同能源效率特性的處理器核。
【背景技術(shù)】
[0004]動(dòng)態(tài)頻率調(diào)整是一種在運(yùn)行時(shí)間自動(dòng)調(diào)整處理器執(zhí)行的頻率的技術(shù)。處理器的操作頻率的增加可提高計(jì)算性能。然而,由于集成電路中功率消耗是通過P = CxV2xF來計(jì)算獲得,其中P表示功率,C表示每個(gè)時(shí)鐘周期切換的電容,V表示電壓,F(xiàn)表示頻率,因此頻率的增加意味著處理器的功率消耗也隨之增加。一些現(xiàn)有的計(jì)算系統(tǒng)具有內(nèi)建的管理架構(gòu)(framework),以管理性能與功率消耗之間的平衡。例如,確定在運(yùn)行時(shí)間是否增加或減小操作頻率,以及是否激活或去激活處理器核,以滿足系統(tǒng)性能的需求或?yàn)榱斯?jié)省功率。
[0005]在具有多個(gè)類型的處理器的多重群集計(jì)算系統(tǒng)中,管理架構(gòu)需要考慮到每種類型的處理器的功率消耗與性能。如果一次只允許一種類型的處理器操作,其它類型的處理器的處理能力沒有得到使用,以及可能不滿足高的工作負(fù)載的需求。在允許多種類型的處理器同時(shí)操作的系統(tǒng)中,管理架構(gòu)需要具有優(yōu)化效率及降低功率的操作的策略。
[0006]因此,在具有多個(gè)類型的處理器的多重群集系統(tǒng)中,需要改善其功率與性能管理。
【發(fā)明內(nèi)容】
[0007]在一個(gè)實(shí)施例中,提供一種計(jì)算系統(tǒng),其包括在分層群組中的多個(gè)處理器核。該分層群組包含:多個(gè)層級(jí)-1群組,每個(gè)所述層級(jí)-1群組包括多個(gè)處理器核的具有相同的能源效率特性的一個(gè)或多個(gè),以及每個(gè)所述層級(jí)-1群組通過各自的層級(jí)-1調(diào)度器被分配第一任務(wù);一個(gè)或多個(gè)層級(jí)-2群組,所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者包括各自的多個(gè)層級(jí)-1群組,在相同的所述層級(jí)-2群組的不同的所述層級(jí)-1群組中的處理器核具有不同的能源效率特性,以及所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者通過各自的層級(jí)-2調(diào)度器被分配第二任務(wù);以及層級(jí)-3群組,包括所述一個(gè)或多個(gè)層級(jí)-2群組,以及通過層級(jí)-3調(diào)度器被分配第三任務(wù)。應(yīng)注意的是,第一任務(wù)、第二任務(wù)及第三任務(wù)可以為相同的或不同的任務(wù)。
[0008]在另一實(shí)施例中,提供一種計(jì)算系統(tǒng),其包括在分層群組中的多個(gè)處理器核。該分層群組包含:多個(gè)層級(jí)-1群組,每個(gè)所述層級(jí)-1群組包括多個(gè)處理器核的一個(gè)或多個(gè),以及具有對(duì)稱性多處理架構(gòu);一個(gè)或多個(gè)層級(jí)-2群組,所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者包括各自的多個(gè)層級(jí)-1群組,在相同的所述層級(jí)-2群組的不同的所述層級(jí)-1群組中的處理器核具有不同的能源效率特性;以及層級(jí)-3群組,包括所述一個(gè)或多個(gè)層級(jí)-2群組,以及具有異構(gòu)多處理架構(gòu)。
[0009]在又一實(shí)施例中,提供一種計(jì)算系統(tǒng),其包括在分層群組中的多個(gè)處理器核。該分層群組包含:一個(gè)或多個(gè)葉子-層級(jí)群組,在相同的葉子-層級(jí)群組中至少一個(gè)葉子-層級(jí)群組中的至少兩個(gè)所述處理器核具有不同的能源效率特性,以及所述一個(gè)或多個(gè)葉子-層級(jí)群組中的每一者通過各自的葉子-層級(jí)調(diào)度器被分配第一任務(wù);以及根-層級(jí)群組,包括所述一個(gè)或多個(gè)葉子-層級(jí)群組,以及通過根-層級(jí)調(diào)度器被分配第二任務(wù)。應(yīng)注意的是,第一任務(wù)及第二任務(wù)可以為相同的或不同的任務(wù)。
[0010]在再一實(shí)施例中,提供一種計(jì)算系統(tǒng),其包括在分層群組中的多個(gè)處理器核。該分層群組包含:一個(gè)或多個(gè)葉子-層級(jí)群組,在相同的葉子-層級(jí)群組中至少一個(gè)葉子-層級(jí)群組中的至少兩個(gè)處理器核具有不同的能源效率特性;以及根-層級(jí)群組,包括所述一個(gè)或多個(gè)葉子-層級(jí)群組,以及具有異構(gòu)多處理架構(gòu)。
[0011]根據(jù)本文描述的實(shí)施例,具有不同能源效率特性的處理器核的多重群集系統(tǒng)可在高效率下操作,使得可滿足性能與功率的需求。
【附圖說明】
[0012]本發(fā)明通過例子來描述,以及例子并非限制,附圖部分中的圖示中相同的需要表示相同的元件。應(yīng)注意的是,本說明書中序號(hào)“一個(gè)”實(shí)施例不必限于相同的實(shí)施例,以及這樣的序號(hào)表示至少一個(gè)。此外,當(dāng)結(jié)合實(shí)施例描述特定的特征、結(jié)構(gòu)或特性時(shí),在本領(lǐng)域的普通技術(shù)人員的知識(shí)范圍內(nèi),無論是否明確地描述,這樣的特征、結(jié)構(gòu)或特性可結(jié)合其它實(shí)施例實(shí)現(xiàn)。
[0013]圖1是根據(jù)一個(gè)實(shí)施例的多重群集系統(tǒng)的例子的示意圖。
[0014]圖2A是根據(jù)一個(gè)實(shí)施例的功率消耗對(duì)于頻率之間的關(guān)系的示意圖。
[0015]圖2B是根據(jù)另一實(shí)施例的功率消耗對(duì)于頻率之間的關(guān)系的示意圖。
[0016]圖3是根據(jù)一個(gè)實(shí)施例的分層群組中的多重群集系統(tǒng)的例子的示意圖。
[0017]圖4是根據(jù)另一實(shí)施例的分層群組中的多重群集系統(tǒng)的例子的示意圖。
[0018]圖5是根據(jù)又一實(shí)施例的分層群組中的多重群集系統(tǒng)的例子的示意圖。
[0019]圖6A是根據(jù)一個(gè)實(shí)施例的在兩層級(jí)分層中的多重群集系統(tǒng)的例子的示意圖。
[0020]圖6B是根據(jù)另一實(shí)施例的在兩層級(jí)分層中的多重群集系統(tǒng)的例子的示意圖。
[0021]圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的,兩個(gè)群集的四個(gè)操作場景的轉(zhuǎn)變的示意圖。
[0022]圖8是根據(jù)本發(fā)明一實(shí)施例的,高效地操作多重群集系統(tǒng)的方法的示意性流程圖。
[0023]圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的,具有中斷處理功能的附加細(xì)節(jié)的,圖1的多重群集系統(tǒng)的不意圖。
[0024]圖10是根據(jù)本發(fā)明一實(shí)施例的,將中斷請(qǐng)求及任務(wù)從一個(gè)群集轉(zhuǎn)移至另一群集的方法的示意圖。
[0025]圖11是根據(jù)本發(fā)明一個(gè)實(shí)施例的兩個(gè)群集之間轉(zhuǎn)變的示意圖。
[0026]圖12是根據(jù)本發(fā)明另一實(shí)施例的兩個(gè)群集之間轉(zhuǎn)變的示意圖。
[0027]圖13是根據(jù)本發(fā)明又一實(shí)施例的兩個(gè)群集之間轉(zhuǎn)變的示意圖。
[0028]圖14是根據(jù)本發(fā)明再一實(shí)施例的兩個(gè)群集之間轉(zhuǎn)變的示意圖。
【具體實(shí)施方式】
[0029]在下文中,闡述了許多具體的細(xì)節(jié)。然而,可理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)施。在其它實(shí)例中,沒有詳細(xì)描述已知的電路、架構(gòu)、以及技術(shù),以免模糊對(duì)本說明書的理解。本領(lǐng)域的普通技術(shù)人員能夠理解,本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下實(shí)施。那些本領(lǐng)域中的通常技術(shù)與所包括的敘述,將能實(shí)現(xiàn)適當(dāng)?shù)墓δ苄远恍柽^多的實(shí)驗(yàn)。
[°03°]應(yīng)注意,本文中使用的術(shù)語“多重群集系統(tǒng)(mult1-cluster system)”是“多核處理器系統(tǒng)”,其被配置與管理作為多個(gè)群集。根據(jù)實(shí)際的設(shè)計(jì),多核處理器系統(tǒng)可以為多核系統(tǒng)或多處理器系統(tǒng)。換句話說,本發(fā)明提出的方法可以由被配置與管理作為多個(gè)群集的任意多核系統(tǒng)與多處理器系統(tǒng)來使用。例如,關(guān)于多核系統(tǒng),所有的處理器核可配置在一個(gè)處理器內(nèi)。作為另一個(gè)例子,關(guān)于多處理器系統(tǒng),每個(gè)處理器核可分別配置在一個(gè)處理器內(nèi)。因此,每個(gè)群集可實(shí)施來作為一個(gè)或多個(gè)處理器的群組。
[0031]此外,本文中使用的“處理器群組”表示特定層級(jí)的處理器核的群組,例如層級(jí)-1群組、層級(jí)-2群組或?qū)蛹?jí)-3群組。此外,與“處理器類型”有關(guān)的“類型”表示處理器核群組共享的共同特性,其中共同特性包括但不限于能源效率特性和/或計(jì)算性能。例如,計(jì)算性能可由百萬指令每秒(mill1n instruct1n per_second,MIPS)來衡量。處理器核的“能源效率”或等效上的“功率效率”可用頻率或頻率范圍來測(cè)量。一些指標(biāo)可用于該測(cè)量,其中一個(gè)為MIPS/MW,其表示MIPS/兆瓦,或者M(jìn)Hz/MW,其表示兆赫/兆瓦。能源效率與功率消耗相反;在頻率范圍中具有高能源效率的處理器核,在該頻率范圍中消耗低功率。另外,本文中術(shù)語“實(shí)質(zhì)上相同”表示“相同”或者“在預(yù)定的容忍度內(nèi)”。
[0032]此外,術(shù)語“去激活處理器核”表示處理器核為完全斷電的(S卩,沒有通電)或進(jìn)入低功率狀態(tài)。處理器核可以通過熱插拔(即,在操作系統(tǒng)運(yùn)行時(shí)間斷電或物理移除)或其它機(jī)制斷電?!叭ゼせ钊杭北硎驹撊杭械乃刑幚砥骱藶橥耆珨嚯姷幕蜻M(jìn)入低功率狀態(tài)?!凹せ钐幚砥骱恕北硎咎幚砥骱藶橥姷囊约斑M(jìn)入待機(jī)狀態(tài)或執(zhí)行指令的激活狀態(tài)?!凹せ钊杭北硎驹撊杭械囊粋€(gè)或多個(gè)處理器核進(jìn)入待機(jī)或激活的狀態(tài)?!耙鸭せ畹摹碧幚砥骱嘶蛉杭卜Q為“激活的”處理器核或群集。相似地,“去激活的”處理器核或群集也稱為“非激活的”處理器核或群集。
[0033]圖1是根據(jù)一個(gè)實(shí)施例的多重群集系統(tǒng)100的例子的示意圖。在該例子中,多重群集系統(tǒng)100包括群集Cluster(O) ,Cluster(I),....,Cluster(M)。在可替換的實(shí)施例中,多重群集系統(tǒng)100可包括至少兩個(gè)的任意數(shù)量的群集。每個(gè)群集包括一個(gè)或多個(gè)處理器核,它們可共享相同的L2高速緩存或附加層級(jí)的高速緩存(addit1nal levels of caches)。每個(gè)群集還可經(jīng)由高速緩存一致性接口(cache coherence interconnect)110存取系統(tǒng)存儲(chǔ)器130。
[0034]在一個(gè)實(shí)施例中,多重群集系統(tǒng)100使用管理模塊120,其激活或去激活處理器核或群集以滿足系統(tǒng)設(shè)計(jì)需求,使得達(dá)到能源效率。多重群集系統(tǒng)100還使用任務(wù)分配模塊140,其分配及調(diào)度處理器核之間的任務(wù)。該分配可達(dá)到每個(gè)群集中的工作負(fù)載平衡,以及優(yōu)化跨群集的工作分配。在一個(gè)實(shí)施例中,任務(wù)分配模塊140包括一組調(diào)度器,包括但不限于以下調(diào)度器中的一個(gè)或多個(gè):對(duì)稱多處理(Symmetric Multiprocessing,SMP)調(diào)度器、非對(duì)稱多處理(Asymmetric Multiprocessing,AMP)調(diào)度器、異構(gòu)多處理(Heterogeneous皿1111^。1'0068 8;[1^,腿?)調(diào)度器、跨群集調(diào)度器及核內(nèi)切換器(111-1^1'1161 Switcher,IKS)調(diào)度器等。下面將結(jié)合圖3-14詳細(xì)描述這些調(diào)度器的功能。管理模塊120及任務(wù)分配模塊140可用硬件、軟件或者兩者的結(jié)合實(shí)現(xiàn)。在一個(gè)實(shí)施例中,管理模塊120及任務(wù)分配模塊140是通過軟件實(shí)現(xiàn)的,該軟件可存儲(chǔ)于多重群集系統(tǒng)100可存取的系統(tǒng)存儲(chǔ)器130或其它非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)中。該軟件可由中央硬件單元或多重群集系統(tǒng)中的已激活的群集或處理器核執(zhí)行。
[0035]以圖1上半部分中顯示的群集Cluster(O) ,Cluster (I)及Cluster (2)的特寫視圖為例。在該例子中,每個(gè)群集中的處理器核為相同的。然而,在其它實(shí)施例中,每個(gè)群集中的處理器核可為不同的。在該例子中,群集Cluster(O)包括四個(gè)處理器核(如,四個(gè)LLP),群集Cluster (I)包括四個(gè)處理器核(例如,四個(gè)LP)以及群集Cluster (2)包括四個(gè)處理器核(例如,四個(gè)BP)。應(yīng)理解的是,每個(gè)群集可包括任意數(shù)量的處理器核,以及不同群集可具有不同數(shù)量的處理器核。在不同群集之間,處理器核可具有不同程度的相似性及不相似性。另外,相比一些其它的群集對(duì)中的處理器核,在一些群集對(duì)中的處理器核可具有更相似的或更不同的能源效率特性。在一個(gè)實(shí)施例中,LP及LLP具有相同的或相似的計(jì)算性能;也就是說,它們?cè)贛IPS上的差異可以忽略不計(jì)。然而,當(dāng)在相同的溫度測(cè)量時(shí),LP及LLP的能源效率特性則彼此不同。BP具有與LP及LLP不同的計(jì)算性能及能源效率特性。例如,BP可具有比LP及LLP更高的計(jì)算性能及更高的功率消耗。圖1中的其它群集也可具有與LP、LLP及BP不同的能源效率特性。下文結(jié)合圖2A及2B描述不同處理器核的能源效率特性。
[0036]圖2A是根據(jù)一個(gè)實(shí)施例的功率消耗(其與能源效率相反)對(duì)于頻率的關(guān)系的示意圖200。示意圖200包括三個(gè)能源效率特性曲線210、220及230,分別表示群集Cluster (O),Cluster (I)及Cluster (2)中的處理器核的峰值性能頻率范圍。示意圖200顯示出在低頻率范圍中群集Cluster (O)為能源最高效的,在中間頻率范圍中群集Cluster (I)為能源最高效的,在尚頻率范圍中群集Cluster(2)為能源最尚效的。不意圖200還顯不出曲線210與曲線220相交,而曲線220不與曲線230相交。交叉區(qū)域SP(0,I)稱為最佳點(diǎn)區(qū)(sweet-spot)的頻率范圍,或簡單地稱為最佳點(diǎn)區(qū)或頻率點(diǎn)區(qū)(frequency spot)。最佳點(diǎn)區(qū)SP(i,j)表示群集Cluster (i)的峰值性能頻率范圍的上邊界區(qū)域,以及群集Cluster (j)的峰值性能頻率范圍的下邊界區(qū)域。這些邊界區(qū)域不是操作頻率上的硬性限制,例如群集Cluster(O)也可操作在SP(0,I)之上的頻率,以及群集Cluster(l)也可操作在SP(0,I)之下的頻率。這些邊界區(qū)域僅指示群集是否操作在對(duì)于該群集來說為能源高效的頻率范圍中。每個(gè)最佳點(diǎn)區(qū)與兩個(gè)群集相關(guān)聯(lián),例如SP(0,1)與群集Cluster(O)及Cluster (I)相關(guān)聯(lián)。在給定的最佳點(diǎn)區(qū)的一偵U,一個(gè)群集中的每個(gè)處理器核的能源效率高于其他群集中的每個(gè)處理器核的能源效率;在給定的最佳點(diǎn)區(qū)的另一側(cè),一個(gè)群集中的每個(gè)處理器核的能源效率低于其他群集中的每個(gè)處理器核的能源效率。例如,在SP(0,I)的右側(cè),群集Cluster(I)中的每個(gè)處理器核的能源效率高于群集Cluster(O)中的每個(gè)處理器核的能源效率;在SP(0,I)的左側(cè),群集Cluster(O)中的每個(gè)處理器核的能源效率高于群集Cluster(I)中的每個(gè)處理器核的能源效率。在一些實(shí)施例中,群集可與多于兩個(gè)的最佳點(diǎn)區(qū)相關(guān)聯(lián),其中的一些最佳點(diǎn)區(qū)可位于其峰值性能頻率范圍的一端,以及其它最佳點(diǎn)區(qū)可位于其峰值頻率范圍的另一端。
[0037]在該例子中,相對(duì)于沿著功率消耗(垂直)軸的距離,能源效率特性曲線230與曲線220至少相距閾值(TH)的距離。這表示群集Cluster(2)比群集Cluster(I)更消耗功率。曲線220及230表示沒有與群集ClusteHl)及群集Cluster(2)相關(guān)聯(lián)的頻率點(diǎn)區(qū)。因此,在一個(gè)實(shí)施例中,群集Cluster (2)可放置在與群集Cluster(O)及Cluster (I)不同的處理器群組中(例如,不同的層級(jí)-2群組)。
[0038]圖2B是根據(jù)一個(gè)實(shí)施例的功率消耗對(duì)于頻率的關(guān)系的另一不意圖250。與不意圖200相似,示意圖250包括三個(gè)能源效率特性曲線260、270及280,分別表示群集Cluster (O),(:1118七61'(1)及(:1118七61'(2)中的處理器核的峰值性能頻率范圍。然而,示意圖250與示意圖200的不同之處在于,曲線260與270之間不相交,而是僅僅相互鄰近(S卩,在閾值距離之內(nèi))。在示意圖250中,SP(0,I)為一個(gè)曲線的尾端與下一個(gè)相鄰曲線的始端之間的頻率范圍。盡管曲線260、270及280之間不相交,它們所表示的能源效率特性與之前關(guān)于示意圖200所描述的相同。
[0039]在該例子中,相對(duì)于沿著功率消耗軸的距離,能源效率特性曲線280與曲線270至少相距閾值(TH)的距離。這表示群集Cluster(2)比群集Cluster(I)更消耗功率。曲線270及280表示沒有與群集Cluster(I)及群集Cluster^相關(guān)聯(lián)的頻率點(diǎn)區(qū)。因此,在一個(gè)實(shí)施例中,群集Cluster(2)可放置在與群集Cluster(O)及Cluster(I)不同的處理器群組中(例如,不同的層級(jí)-2群組)。
[0040]盡管在圖2A及2B中僅示出了三個(gè)群集,應(yīng)理解的是前述特性可擴(kuò)展到任意數(shù)量的群集。此外,不同的群集可展示出不同曲線所表示的不同特性。彼此相鄰的曲線中的一些曲線之間可彼此相交,彼此相鄰的曲線中的一些曲線可具有重疊的區(qū)域,以及彼此相鄰的曲線中的一些曲線可完全沒有重疊的區(qū)域。可從測(cè)試結(jié)果及實(shí)驗(yàn)中,確定這些曲線以及最佳點(diǎn)區(qū)。
[0041]本發(fā)明的實(shí)施例提供用于管理多重群集系統(tǒng)中的功率及性能的系統(tǒng)及方法,多重群集系統(tǒng)包括分層群組中的多個(gè)處理器核。在分層的底部為層級(jí)-1群組(又名群集)。分層中的層級(jí)-1群組之上為一個(gè)或多個(gè)層級(jí)-2群組,以及一個(gè)或多個(gè)層級(jí)-2群組之上為層級(jí)-3群組。與樹結(jié)構(gòu)類似,層級(jí)-3群組位于分層的根層級(jí),一個(gè)或多個(gè)層級(jí)-2群組位于分層的中間層級(jí),以及層級(jí)-1群組位于分層的葉子層級(jí)。在一個(gè)實(shí)施例中,分層可包括一個(gè)中間層級(jí)。在另一實(shí)施例中,分層可不包括中間層級(jí)(即,沒有層級(jí)-2群組)。在又一實(shí)施例中,分層可包括多個(gè)中間層級(jí),每個(gè)中間層級(jí)包括一個(gè)或多個(gè)層級(jí)-2群組。
[0042]如上文所述,在能源效率特性中,不同群集中的處理器核可具有不同的相似性。相同類型的處理器核可具有相同的能源效率特性及可設(shè)置在相同的群集中。在能源效率特性中,具有更高相似性的兩個(gè)群集的處理器核,可具有不同但是相交或靠近/相鄰的能源效率特性曲線。在能源效率特性中,具有更低相似性的兩個(gè)群集的處理器核,可具有不同且不相交或更遠(yuǎn)的能源效率特性曲線。如下文描述的實(shí)施例中將顯示,在能源效率特性中具有更高相似性的群集可設(shè)置在分層群組中更低層級(jí)的群組中,以及相反地,在能源效率特性中具有更低相似性的群集可設(shè)置在分層群組中更高層級(jí)的群組中。
[0043]例如,每個(gè)最低的層級(jí)群組,即層級(jí)-1群組,可包括在能源效率特性中具有最高相似性(例如,相同的能源效率特性)的群集,意味著層級(jí)-1群組包括一個(gè)或多個(gè)相同類型的處理器核。在一些實(shí)施例中,層級(jí)-1群組可包括一個(gè)或多個(gè)LP群集,另一層級(jí)-1群組可包括一個(gè)或多個(gè)LLP群集,和/或又一層級(jí)-1群組可包括一個(gè)或多個(gè)BP群集。
[0044]此外,每個(gè)第二低的層級(jí)群組,即層級(jí)-2群組,可包括在能源效率特性中具有低于每個(gè)層級(jí)-1群組中的相似性(例如,不同但是相交(或靠近或相鄰)的能源效率特性曲線)的群集,意味著層級(jí)-2群組包括多于兩種類型的具有相似的能源效率特性的處理器核。在一些實(shí)施例中,層級(jí)-2群組可包括一個(gè)或多個(gè)第一層級(jí)-1群組和一個(gè)或多個(gè)第二層級(jí)-1群組,其中每個(gè)第一層級(jí)-1群組可包括一個(gè)或多個(gè)LP群集,每個(gè)第二層級(jí)-1群組可包括一個(gè)或多個(gè)LLP群集。另外,另一層級(jí)-2群組可包括一個(gè)或多個(gè)第一層級(jí)-1群組,其中每個(gè)第一層級(jí)-1群組可包括一個(gè)或多個(gè)BP群集,以及可替換地及附加地,另一層級(jí)-2群組可包括一個(gè)或多個(gè)第二層級(jí)-1群組,其中多個(gè)第二層級(jí)-1群組中的每一者可包括一個(gè)或多個(gè)群集,與LP及LLP群集相比,該一個(gè)或多個(gè)群集可具有與BP群集更相似的能源效率特性。
[0045]此外,每個(gè)第三低的層級(jí)群組,即層級(jí)-3群組,可包括在能源效率特性中具有低于每個(gè)層級(jí)-1群組及層級(jí)-2群組中的相似性(例如,更加不同且不相交或更遠(yuǎn)的能源效率特性曲線)的群集,意味著層級(jí)-3群組包括多于兩種類型的具有與層級(jí)-2群組相比更加不相似的能源效率特性的處理器核。在一些實(shí)施例中,層級(jí)-3群組可包括一個(gè)第一層級(jí)-2群組以及一個(gè)第二層級(jí)-2群組,其中第一層級(jí)-2群組可包括一個(gè)或多個(gè)第一層級(jí)-1群組及一個(gè)或多個(gè)第二層級(jí)-1群組,每個(gè)第一層級(jí)-1群組包括一個(gè)或多個(gè)LP群集,以及每個(gè)第二層級(jí)-1群組可包括一個(gè)或多個(gè)LLP群集,以及第二層級(jí)-2群組可包括一個(gè)或多個(gè)第一層級(jí)-1群組,每個(gè)第一層級(jí)-1群組可包括一個(gè)或多個(gè)BP群集,以及可替換地或可附加地,第二層級(jí)-2群組可包括一個(gè)或多個(gè)其它層級(jí)-1群組,多個(gè)其它層級(jí)-1群組中的每一者可包括另一類型的群集,與LP及LLP群集相比,該另一類型的群集具有與BP群集更相似的能源效率特性。
[0046]圖3是根據(jù)一個(gè)實(shí)施例的分層群組中的多重群集系統(tǒng)30的例子的示意圖。該分層可由圖1中的一些群集及處理器核形成,以及這些群集及處理器核中的一些可具有圖2A及2B中所顯示的能源效率特性曲線。在該例子中,該分層包括四個(gè)層級(jí)-1群組。每個(gè)層級(jí)-1群組是一個(gè)群集,其包括兩個(gè)相同的具有相同能源效率特性的處理器核。該分層還包括兩個(gè)層級(jí)-2群組,每個(gè)層級(jí)-2群組包括兩個(gè)層級(jí)-1群組。該分層還包括層級(jí)-3群組,層級(jí)-3群組包括兩個(gè)層級(jí)-2群組。
[0047]更具體地,在圖1的例子中,系統(tǒng)30包括層級(jí)-1群組Glf、G2f、G3f及G4f(其中下標(biāo)“f”表示“葉子”)、層級(jí)-2群組G11及G21(其中下標(biāo)“i”表示“中間”)以及層級(jí)-3群組Gr(其中下標(biāo)“r”表示“根”)。盡管圖3顯示了特定數(shù)量的處理器核以及在分層的每個(gè)層級(jí)中的特定數(shù)量的群組,應(yīng)理解的是,系統(tǒng)30可在每個(gè)層級(jí)-1群組中包括任意數(shù)量的處理器核、在每個(gè)層級(jí)-2群組中包括任意數(shù)量的層級(jí)-1群組以及在每個(gè)層級(jí)-3群組中包括任意數(shù)量的層級(jí)-2群組。
[0048]在該實(shí)施例中,在相同的層級(jí)-1群組中的每個(gè)處理器核,具有相同的能源效率特性。在相同的層級(jí)-2群組的不同層級(jí)-1群組中的處理器核,具有不同的能源效率特性。此夕卜,相同的層級(jí)-2群組(例如,Pll及P22)的不同層級(jí)-1群組中的處理器核,具有比不同的層級(jí)-2群組(例如,Pll及P33)中的處理器核更加相似的能源效率特性。例如,Glf、G2f及63£能源效率特性曲線,可分別用圖2A中的曲線210、220及230表示,或者可分別用2B中的曲線260、270及280表示。由于相對(duì)于沿著功率消耗軸的距離,曲線210及220(或曲線260及270)比曲線220及230(或曲線270及280)靠得更近,Glf及G2f可放置在相同的層級(jí)-2群組中,以及G3f可放置在另一層級(jí)-2群組中。也就是說,當(dāng)兩個(gè)曲線之間的距離大于閾值(圖2A及2B中TH),這兩個(gè)對(duì)應(yīng)的層級(jí)-1群組可放置于不同的層級(jí)-2群組中。因而,相同的層級(jí)-2群組的不同層級(jí)-1群組中的任意兩個(gè)處理器核,具有比不同的層級(jí)-2群組的不同層級(jí)-1群組中的任意兩個(gè)處理器核更靠近的能源效率特性曲線。在一些實(shí)施例中,不同的層級(jí)-2群組中的處理器核不僅可具有不同的能源效率特性,也可具有不同的計(jì)算性能(例如,當(dāng)它們?cè)贛IPS上的差異大于閾值時(shí))。
[0049]在一個(gè)實(shí)施例中,每個(gè)層級(jí)-1群組中的一個(gè)或多個(gè)處理器形成SMP架構(gòu);也就是說,每個(gè)層級(jí)-1群組具有SMP架構(gòu)。每個(gè)層級(jí)-2群組中的一個(gè)或多個(gè)層級(jí)-1群組形成AMP架構(gòu);也就是說,每個(gè)層級(jí)-2群組具有AMP架構(gòu)。層級(jí)-3群組中的一個(gè)或多個(gè)層級(jí)-2群組形成HMP架構(gòu);也就是說,層級(jí)-3群組具有HMP架構(gòu)。SMP架構(gòu)可包括獨(dú)立運(yùn)行的同質(zhì)處理器(homogeneous processors)池。在具有SMP架構(gòu)的處理器群組中,兩個(gè)或多個(gè)相同的處理器核可連接至共享的系統(tǒng)存儲(chǔ)器,可存取相同的I/O設(shè)備,以及由等同對(duì)待這些處理器核的單個(gè)操作系統(tǒng)實(shí)例控制。每個(gè)處理器核對(duì)共享的存儲(chǔ)器空間,可具有相同的存取時(shí)延。在AMP架構(gòu)中,不是所有的處理器核被等同地對(duì)待。具有AMP架構(gòu)的處理器群組可包括兩種或更多種不同類型的處理器核,不同類型的處理器核具有不同的能源效率特性及實(shí)質(zhì)上相同的計(jì)算性能。具有HMP架構(gòu)的處理器群組可包括兩種或更多種不同類型的處理器核,不同類型的處理器核具有不同的計(jì)算性能、不同的能源效率特性及對(duì)系統(tǒng)存儲(chǔ)器的不同存取時(shí)延。這些不同的處理器核可共享相同的存儲(chǔ)器空間,或者可被分配存儲(chǔ)器空間的不同部分。
[0050]在一個(gè)實(shí)施例中,層級(jí)-1群組中的每一者具有SMP架構(gòu),SMP架構(gòu)使用各自的SMP調(diào)度器來向?qū)蛹?jí)-1群組中的處理器核分配任務(wù)。SMP調(diào)度器調(diào)度處理器核上的多個(gè)任務(wù),以及還優(yōu)化相同的層級(jí)-1群組中跨多個(gè)處理器核的任務(wù)分配,以至少達(dá)到相同的層級(jí)-1群組中的處理器核之間的負(fù)載平衡。例如,SMP調(diào)度器11、12、13及14分別向?qū)蛹?jí)-1群組中的處理器核Gif、G2f、G3f及G4f分配任務(wù)。
[0051]此外,每個(gè)層級(jí)-2群組(Ga及G2i)具有AMP架構(gòu),AMP調(diào)度器向?qū)蛹?jí)-2群組的層級(jí)-1群組中的處理器核分配任務(wù)。例如,第一AMP調(diào)度器21向?qū)蛹?jí)-1群組Glf及G2f中的處理器核分配任務(wù),第二 AMP調(diào)度器22向?qū)蛹?jí)-1群組G3f及G4f中的處理器核分配任務(wù)。每個(gè)AMP調(diào)度器21及22向不同的處理器核調(diào)度任務(wù),至少將相同的層級(jí)-1群組中的不同層級(jí)-1群組中的不同處理器核的能源效率特性考慮到調(diào)度中。當(dāng)被系統(tǒng)工作負(fù)載所必需時(shí),每個(gè)AMP調(diào)度器21及22可同時(shí)向其所有的層級(jí)-1群組中的處理器核分配任務(wù)。將結(jié)合圖7-14提供AMP調(diào)度的進(jìn)一步細(xì)節(jié)。更多的細(xì)節(jié)也可參考申請(qǐng)?zhí)枮?4/931,923的美國專利。
[0052]另外,層級(jí)-3群組Gr具有HMP架構(gòu),HMP架構(gòu)使用HMP調(diào)度器31向?qū)蛹?jí)-2群組Gli及G2i分配任務(wù)。HMP調(diào)度器31可優(yōu)化HMP架構(gòu)中跨多個(gè)處理器核的任務(wù)分配,至少將相同的層級(jí)-3群組中的不同層級(jí)-2群組中的不同處理器核的不同計(jì)算性能考慮到調(diào)度中。當(dāng)被系統(tǒng)工作負(fù)載所必需時(shí),HMP調(diào)度器31可同時(shí)向兩個(gè)層級(jí)-2群組Gll及G21中的處理器核分配任務(wù)。
[0053]在一個(gè)實(shí)施例中,可先由層級(jí)-1群組Glf及G2f中的每一者執(zhí)行負(fù)載平衡。例如,在層級(jí)-1群組Glf中,可根據(jù)第一預(yù)定的時(shí)序執(zhí)行負(fù)載平衡。另外,調(diào)度器SMP 11可執(zhí)行Glf中的特定處理器核的負(fù)載平衡,以在相同的層級(jí)-1群組Glf中的處理器核之間平衡其負(fù)載。隨后,還可根據(jù)第二預(yù)定時(shí)序,在Glf所屬的層級(jí)-2群組G11中執(zhí)行負(fù)載平衡。調(diào)度器AMP 21可執(zhí)行相同的特定處理器核的負(fù)載平衡,以在相同的層級(jí)-2群組G11中的處理器核之間平衡其負(fù)載。隨后,還可根據(jù)第三預(yù)定時(shí)序,在Glf所屬的層級(jí)-3群組Gr中執(zhí)行負(fù)載平衡。HMP調(diào)度器31可執(zhí)行相同的特定處理器核的負(fù)載平衡,以在相同的層級(jí)-3群組Gr中的處理器核之間平衡其負(fù)載。對(duì)其它的層級(jí)-1群組G2f,可由調(diào)度器12執(zhí)行相似的操作流程,以及接著對(duì)其它的層級(jí)-2群組Gu,可由調(diào)度器21執(zhí)行相似的操作流程,以及接著對(duì)其它的層級(jí)-3群組Gr,可由調(diào)度器31執(zhí)行相似的操作流程。此外,可由各自的調(diào)度器13及14,分別對(duì)其它層級(jí)-1群組G3f及G4f,執(zhí)行相似的操作流程。調(diào)度器22可分別在層級(jí)-1群組G3f及G4f中的每一者的負(fù)載平衡之后,執(zhí)行的層級(jí)-2群組G21中的負(fù)載平衡,以及接著調(diào)度器31執(zhí)行的層級(jí)-3群組Gr中的負(fù)載平衡可分別遵循層級(jí)-1群組G3f及G4f中的每一者的負(fù)載平衡。
[0054]在一個(gè)實(shí)施例中,在每個(gè)層級(jí)-2群組中,每個(gè)層級(jí)-1群組的能源效率特性曲線定義了至少一個(gè)預(yù)定頻率點(diǎn)區(qū),預(yù)定頻率點(diǎn)區(qū)越過或相鄰于(即,在閾值距離內(nèi))相同的層級(jí)-2群組中的至少一個(gè)其它層級(jí)-1群組??筛郊拥?,在每個(gè)層級(jí)-2群組中,每個(gè)層級(jí)-1群組的能源效率特性曲線與不同的層級(jí)-2群組中的每個(gè)層級(jí)-1群組的能源效率特性曲線至少相距閾值的距離(例如,圖2A中的曲線220及230,或者圖2B中的曲線270及280)。相同的層級(jí)-2群組中不同層級(jí)-1群組中的任意兩個(gè)處理器核,比不同的層級(jí)-2群組中不同層級(jí)-1中的任意兩個(gè)處理器核,具有更靠近的能源效率特性曲線。
[0055]在一個(gè)實(shí)施例中,在每個(gè)層級(jí)-1調(diào)度器(11、12、13及14)執(zhí)行對(duì)應(yīng)的層級(jí)-1群組中的處理器核之間的負(fù)載平衡之后,每個(gè)層級(jí)-2的調(diào)度器(21及22)執(zhí)行對(duì)應(yīng)的層級(jí)-2群組中的處理器核之間的負(fù)載平衡,以及接著層級(jí)-3調(diào)度器31執(zhí)行層級(jí)-3群組中處理器核之間的負(fù)載平衡。
[0056]圖4是根據(jù)一個(gè)實(shí)施例的分層群組中的多重群集系統(tǒng)40的例子的示意圖。該分層可由圖1中的一些群集及處理器核形成,以及這些群集和處理器核中的一些可具有圖2A及2B中所顯示的能源效率特性曲線。該例子是圖3的特殊情況,在其中層級(jí)-1群組Glf包括或者被替換為單個(gè)處理器核P11。單個(gè)處理器核Pll不屬于任何層級(jí)-1群組,以及不受SMP調(diào)度。該例子還顯示每個(gè)層級(jí)-1群組可包括不同數(shù)量的處理器核:G2f中兩個(gè)處理器核,G3f中三個(gè)處理器核及G4f中四個(gè)處理器核。分層中每個(gè)層級(jí)上的任務(wù)調(diào)度與圖3中的相同,除了在該情況下AMP調(diào)度器21可直接向處理器核Pll及層級(jí)-1群組G2f中的處理器核分配任務(wù)。還應(yīng)注意的是,在該實(shí)施例中,調(diào)度器21向?qū)蛹?jí)-1群組G2f中的處理器核分配任務(wù),但是本發(fā)明并不限于此。在其它實(shí)施例中,調(diào)度器21可向?qū)蛹?jí)-1群組G2f分配任務(wù),以及輔助模塊可向?qū)蛹?jí)-1群組G2f中的處理器核分配任務(wù)。輔助模塊可與調(diào)度器21集成或者與其分離。
[0057]圖5是根據(jù)一個(gè)實(shí)施例的分層群組中的多重群集系統(tǒng)50的又一例子的示意圖。該分層可由圖1中的一些群集及處理器核形成,以及這些群集和處理器核中的一些可具有圖2A及2B中所顯示的能源效率特性曲線。在該例子中,層級(jí)-2群組Ga、層級(jí)-1群組G3f及處理器核P44直接在層級(jí)-3群組Gr之下。也就是說,層級(jí)-1群組G3f及處理器核P44不屬于任何層級(jí)-2群組。該例子也顯示出,HMP調(diào)度器31可直接向?qū)蛹?jí)-2群組Gu、層級(jí)-1群組G3f及處理器核P44分配任務(wù)。
[0058]圖6A是根據(jù)一個(gè)實(shí)施例的在兩層級(jí)分層中的多重群集系統(tǒng)60的例子的示意圖。該分層可由圖1中的一些群集及處理器核形成,以及這些群集和處理器核中的一些可具有圖2A及2B中所顯示的能源效率特性曲線。在該例子中,分層群組僅包含兩個(gè)層級(jí):根層級(jí)及葉子層級(jí)。為了避免與圖3-5中描述的實(shí)施例混淆,兩層級(jí)的群組稱為葉子-層級(jí)群組及根-層級(jí)群組。根-層級(jí)群組Gr具有HMP架構(gòu),以及使用根-層級(jí)調(diào)度器41向葉子-層級(jí)群組分配任務(wù)。葉子-層級(jí)群組&及葉子-層級(jí)群組62直接在根-層級(jí)群組Gr之下。相同的葉子-層級(jí)群組中的處理器核可以相同或不同。在該實(shí)施例中,葉子-層級(jí)群組62包括相同的處理器核,以及使用SMP調(diào)度器13向處理器核分配任務(wù)。葉子-層級(jí)群組61使用跨群集調(diào)度器42向葉子-層級(jí)群組&中的處理器核分配任務(wù),或者葉子-層級(jí)群組61包括不同的能源效率特性的處理器核,以及它們的能源效率特性曲線(如圖2A及2B中,曲線210及220所表示的曲線,或者曲線260及270所表示的曲線)的差異在閾值之內(nèi)。在葉子-層級(jí)群組G1*,可由固定的處理器核處理中斷。此外,葉子-層級(jí)群組6工的至少一個(gè)處理器核是在線的(S卩,已激活的)。在一個(gè)實(shí)施例中,跨群集的調(diào)度器42實(shí)現(xiàn)為AMP調(diào)度器,但是本發(fā)明不限于此,可實(shí)現(xiàn)為處理不同群集中的處理器核之間的不相似性的任意調(diào)度器。另外,在可替換的實(shí)施例中,葉子-層級(jí)群組G1包括單個(gè)群集,該單個(gè)群集包含不同類型的處理器核或者具有不同的但是相鄰的能源效率特性的處理器核。在這樣的實(shí)施例中,跨群集的調(diào)度器42由用于向單個(gè)群集中的處理器核分配任務(wù)的調(diào)度器替換。
[0059]在圖6A中所示的兩個(gè)層級(jí)的實(shí)施例中,相同的葉子-層級(jí)群組(例如,G1SG2)中的任意兩個(gè)處理器核,具有比不同的葉子-層級(jí)群組中的任意兩個(gè)處理器核更靠近的能源效率特性曲線。此外,在葉子-層級(jí)群組中的至少一者(例如,Gi)中,每個(gè)處理器核的能源效率特性曲線定義至少一個(gè)預(yù)定的頻率點(diǎn)區(qū),該頻率點(diǎn)區(qū)越過或相鄰于相同的葉子-層級(jí)群組中的至少一個(gè)其它處理器核。另外,在每個(gè)葉子-層級(jí)群組中,每個(gè)處理器核的能源效率特性曲線與不同的葉子-層級(jí)群組中的每個(gè)處理器核的能源效率特性曲線,至少相距閾值的距離。
[0060]在圖6A的實(shí)施例中,根-層級(jí)調(diào)度器41可以為HMP調(diào)度器。在另一實(shí)施例中,根-層級(jí)調(diào)度器41可以為IKS調(diào)度器。IKS調(diào)度器向處理器核對(duì)分配任務(wù)。例如,每對(duì)處理器核可包括處理器核PlI及P33,或者P22及P33;即,不同的能源效率特性及不同的計(jì)算性能的兩個(gè)處理器核。使用IKS調(diào)度時(shí),處理器對(duì)中只有一個(gè)處理器是已激活的。
[0061]圖6B是根據(jù)另一實(shí)施例的在兩層級(jí)分層中的多重群集系統(tǒng)65的例子的示意圖。該分層可由圖1中的一些群集及處理器核形成,以及這些群集和處理器核中的一些可具有圖2A及2B中所顯示的能源效率特性曲線。在該例子中,根-層級(jí)群組Gr具有HMP架構(gòu),以及使用根-層級(jí)調(diào)度器41向葉子-層級(jí)群組或其中的處理器核分配任務(wù)。葉子-層級(jí)群及G4f直接在根-層級(jí)群組Gr之下。每個(gè)葉子-層級(jí)群組包括相同的處理器核,以及使用SMP調(diào)度器11、12、13及14向葉子-層級(jí)群組或其中的處理器核分配任務(wù)。根-層級(jí)調(diào)度器41可以為HMP調(diào)度器或IKS調(diào)度器。
[0062]在又一可替換的實(shí)施例中,分層群組可包括多于三個(gè)層級(jí);例如,葉子層級(jí)具有SMP架構(gòu),多個(gè)中間層級(jí)具有AMP架構(gòu),以及根層級(jí)具有HMP架構(gòu)。與圖3中的三層級(jí)的例子相似,根層級(jí)使用HMP調(diào)度器31向直接在根層級(jí)之下的中間層級(jí)分配任務(wù)(具體地,向中間層級(jí)群組或其中的處理器核分配任務(wù)),以及每個(gè)中間層級(jí)使用AMP調(diào)度器(例如,AMP調(diào)度器21或22)向直接在其下的層級(jí)分配任務(wù)(具體地,向該層級(jí)的群組或者其中的處理器核分配任務(wù))。葉子層級(jí)使用SMP調(diào)度器(例如,SMP調(diào)度器11、12、13及14)向每個(gè)葉子-層級(jí)群組或者層級(jí)-1群組中的處理器核分配任務(wù)。
[0063]此外,在上述任意實(shí)施例中,調(diào)度器可向一個(gè)處理器群組或其中具有更高的計(jì)算性能的處理器核,分配繁重的(例如,當(dāng)線程或任務(wù)的數(shù)量超過閾值時(shí))或緊急的(例如,當(dāng)可允許的延遲或時(shí)延小于閾值時(shí))任務(wù),以及向具有更低的計(jì)算性能的另一處理器群組,分配輕松的或不緊急的(其與繁重的或緊急的相反)的任務(wù)。使用圖3中的例子,假設(shè)P33(在G3f中)的計(jì)算性能高于Pll及P12(分別在Glf及G2f中)的計(jì)算性能。當(dāng)系統(tǒng)30接收到繁重的或緊急的任務(wù),以及層級(jí)-1群組G3f是沒有激活的,系統(tǒng)30可根據(jù)繁重的任務(wù)及緊急的任務(wù)的數(shù)量,或者繁重的任務(wù)及緊急的任務(wù)的總負(fù)載,激活G3f中的一個(gè)或多個(gè)處理器核。系統(tǒng)30可使用上述多個(gè)層級(jí)的調(diào)度器,向系統(tǒng)30中已激活的處理器群組或其中的處理器核分配任務(wù)。在分層的中間層級(jí)中,可通過AMP調(diào)度滿足低到中間的性能需求,以及在分層的根層級(jí),可通過HMP調(diào)度滿足高的或即時(shí)的性能需求。在每個(gè)層級(jí)-1群組中,SMP調(diào)度平衡處理器核之間的負(fù)載。
[0064]由于分層架構(gòu),處理器核可被更高效地調(diào)度、激活、分配任務(wù)或請(qǐng)求。例如,在層級(jí)-2群組的調(diào)度中,可以考慮不同的能源效率特性。在一個(gè)實(shí)施例中,使用AMP調(diào)度器,可靈活地安排中斷請(qǐng)求(interrupt requests),以被不同群集中的不同處理器核處理。相應(yīng)地,還可確定是否去激活不需要的處理器核。隨后,還可提升整體的系統(tǒng)性能或功率消耗。整體上,可達(dá)到系統(tǒng)的能源效率。
[0065]隨后的說明書使用圖1的群集Cluster (O)及Cluster (I)作為例子,解釋前述AMP架構(gòu)及AMP調(diào)度。在隨后的說明書中,群集Cluster(O) Xluster(I)及圖1中顯示的其它群集都受AMP調(diào)度器的AMP調(diào)度。
[0066]請(qǐng)?jiān)俅螀⒖紙D1,多重群集系統(tǒng)100包括當(dāng)前已激活的第一群集(Cluster(O)),以及第一群集進(jìn)一步包括一個(gè)或多個(gè)第一處理器核。當(dāng)多重群集系統(tǒng)檢測(cè)到第一群集(即,激活的群集)的當(dāng)前操作頻率進(jìn)入或越過第一群集的一個(gè)或多個(gè)預(yù)定頻率點(diǎn)區(qū)中的任一者的事件時(shí),多重群集系統(tǒng)100執(zhí)行以下步驟:(I)識(shí)別第二群集(S卩,目標(biāo)群集),諸如群集Clusterd),其包括一個(gè)或多個(gè)第二處理器核,第一群集中的每個(gè)第一處理器核與第二群集中的每個(gè)第二處理器核具有不同的能源效率特性;(2)激活第二群集中的至少一個(gè)第二處理器核;(3)確定是否將一個(gè)或多個(gè)中斷請(qǐng)求從第一群集轉(zhuǎn)移至第二群集;以及(4)根據(jù)性能及功率需求來確定是否去激活第一群集中的至少一個(gè)第一處理器核。在一個(gè)實(shí)施例中,第二群集被識(shí)別為與進(jìn)入的或越過的預(yù)定頻率點(diǎn)區(qū)相關(guān)聯(lián)的一個(gè)群集。此外,如果在步驟(2)之前第二群集已被激活,維持目標(biāo)群集的已激活狀態(tài)。如果在步驟(2)之前第二群集未被激活,將目標(biāo)群集切換至已激活狀態(tài)(即,被激活的)。
[0067]在一個(gè)實(shí)施例中,前述事件可以指示第一群集沒有以能源效率來操作。在該多重群集系統(tǒng)中,群集可與各自的一個(gè)或多個(gè)預(yù)定頻率點(diǎn)區(qū)相關(guān)聯(lián)。當(dāng)?shù)谝蝗杭漠?dāng)前操作頻率進(jìn)入或越過(即,通過)第一群集的一個(gè)或多個(gè)預(yù)定頻率點(diǎn)區(qū)中的任一者時(shí),檢測(cè)到該事件。根據(jù)群集中的處理器核各自的能源效率特性,可以確定各自的一個(gè)或多個(gè)預(yù)定頻率點(diǎn)區(qū)。這些頻率點(diǎn)區(qū)中的每一者可以是第一群集以能源效率來操作時(shí)所處的預(yù)定頻率范圍的邊界區(qū)域。頻率范圍及頻率點(diǎn)區(qū)可由處理器核的設(shè)計(jì)者或制造者來預(yù)先確定。此外,在一些實(shí)施例中,該多重群集系統(tǒng)包括電壓調(diào)整器(voltage regulator),其用于控制供給系統(tǒng)中不同類型處理器的不同處理器核的電壓。與系統(tǒng)中每個(gè)群集或每個(gè)處理器核具有自己的電壓調(diào)整器相比,具有用于整個(gè)系統(tǒng)的單個(gè)電壓調(diào)整器可節(jié)省硬件成本。然而,本發(fā)明并不限于單個(gè)電壓調(diào)整器或多個(gè)電壓調(diào)整器。
[0068]當(dāng)檢測(cè)到上述事件時(shí),中斷請(qǐng)求可轉(zhuǎn)移到第二群集中的另一處理器核。在一些情況下,當(dāng)檢測(cè)到上述事件時(shí),在中斷請(qǐng)求被轉(zhuǎn)移到第二群集中的另一處理器核之后,可去激活第一群集。如果中斷請(qǐng)求被轉(zhuǎn)移到第二群集,系統(tǒng)根據(jù)系統(tǒng)工作負(fù)載,可保持或不保持第一群集激活。因此,系統(tǒng)不需要維持固定的處理器核或固定的群集一直處于操作狀態(tài)以處理中斷請(qǐng)求。因此,系統(tǒng)可更有效率地操作。是否轉(zhuǎn)移中斷請(qǐng)求以及是否去激活第一群集的決定,可取決于下文中詳細(xì)描述的一些因素。
[0069]在一個(gè)實(shí)施例中,上述步驟(3)中確定是否將一個(gè)或多個(gè)中斷請(qǐng)求從第一群集轉(zhuǎn)移至第二群集以及步驟(4)中根據(jù)性能及功率需求來確定是否去激活當(dāng)前已激活的群集的中至少一者,取決于已激活的處理器核的需求數(shù)量與多重群集系統(tǒng)中已激活的處理器的總數(shù)量之間的比較關(guān)系。換句話說,步驟(3)及(4)的確定步驟中的至少一者是根據(jù)已激活的處理器核的需求數(shù)量與多重群集系統(tǒng)中已激活的處理器的總數(shù)量來執(zhí)行。
[0070]在一個(gè)實(shí)施例中,用于確定已激活的處理器核的需求數(shù)量或者是否去激活已激活的群集的一個(gè)因素,是需要處理的線程或任務(wù)的數(shù)量。稱為hTLP的指示符表示具有負(fù)載的線程或任務(wù)的數(shù)量,在其中h表示負(fù)載,以及TLP表示“線程層級(jí)平行化(thread levelparallel ism)”或“任務(wù)層級(jí)平行化(task level parallelism)”?!柏?fù)載”可以是百分比或比例(例如,50 %、80 %或100 %等)。hTLP指示用于處理系統(tǒng)工作負(fù)載的已激活的處理器核的需求數(shù)量。在一個(gè)實(shí)施例中,可以根據(jù)負(fù)載大于閾值的線程或任務(wù)的數(shù)量(例如,系統(tǒng)需處理的線程或任務(wù)的數(shù)量乘以負(fù)載)來獲得或計(jì)算已激活的處理器核的需求數(shù)量。當(dāng)系統(tǒng)工作負(fù)載增加而已激活的處理器核的數(shù)量保持相同時(shí),則負(fù)載增加。當(dāng)負(fù)載超過一預(yù)定閾值時(shí),更多的處理器核或更多的群集可被激活,以維持負(fù)載低于該閾值。在一個(gè)實(shí)施例中,基于hTLP的值,確定系統(tǒng)中需要多少已激活的處理器核及已激活的群集。
[0071]在該例子中,群集Cluster(O)中的所有LLP已被激活,以及群集Cluster(I)中的所有LP已被去激活。此外,處理器核LLP中的一者為處理中斷的處理器(interrupt-handlingprocessor)(以具有斜線的白色方塊來顯示)。為了描述的便利,該例子中的所有其它的群集Cluster(2)、Cluster(3)"Tluster(M)均為去激活的。然而,應(yīng)理解的是,可在任意給定時(shí)間激活任意群集。如隨后將要描述的,當(dāng)操作頻率改變時(shí),可激活多重群集系統(tǒng)100中的另一群集(稱為“第二群集”或“目標(biāo)群集”),以及該第二群集中的一個(gè)或多個(gè)處理器核可接管中斷處理的角色?;诙嘀厝杭到y(tǒng)100是否具有足夠的已激活的處理器核來處理當(dāng)前或即將到來的工作負(fù)載,群集Cluster(O)可保持為已激活的或去激活的。
[0072]當(dāng)在具有多于兩個(gè)群集的系統(tǒng)中將中斷請(qǐng)求從一個(gè)群集轉(zhuǎn)移到另一個(gè)群集時(shí),該轉(zhuǎn)移可以為直接的或間接的。例如,當(dāng)前的操作頻率可從群集Cluster(O)的峰值性能頻率范圍增加至群集Cluster(2)的峰值頻率范圍。然而,與群集Cluster(2)的峰值性能頻率范圍相比,群集Cluster(I)的峰值性能頻率范圍更接近群集Cluster (O)的峰值性能頻率范圍。中斷請(qǐng)求可從群集Cluster(O)直接轉(zhuǎn)移至群集Cluster(2)??商鎿Q地,中斷請(qǐng)求可先從群集Cluster (O)轉(zhuǎn)移至群集ClusteH I),接著中斷請(qǐng)求可從群集Cluster (I)轉(zhuǎn)移至群集Cluster(2)。
[0073]下述說明書還結(jié)合圖7-14,提供AMP架構(gòu)和AMP調(diào)度的細(xì)節(jié)。圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的,兩個(gè)群集(例如,群集Cluster(O)及Cluster(I))的四個(gè)操作場景的轉(zhuǎn)變的示意圖。群集Cluster (O)與Cluster (I)具有實(shí)質(zhì)上相同的計(jì)算性能與不同的能源效率特性;例如,他們的能源效率曲線可能是圖2A或圖2B中所示的曲線(例如,曲線210及220,或者曲線260及270)。圖7顯示了四種操作場景:(SI)及(S3)為高性能場景,在其中兩個(gè)群集都是已激活的;(S2)為低性能場景,在其中只有群集Cluster(O)是已激活的;(S4)為中間性能場景,在其中只有群集Cluster(I)是已激活的。每個(gè)場景可轉(zhuǎn)變?yōu)槿我獾钠渌鼒鼍啊?S2)與(S4)都在hTLPSN的條件下操作,以及(SI)與(S3)都在hTLP>N的條件下操作,其中在該例子中N=4(一個(gè)群集中處理器核的總數(shù)量)。
[0074]在下文中,“第一群集”表示初始已激活的群集。因此,第一群集也稱為“已激活的群集”。“第二群集”表示不同于第一群集的群集。第二群集也稱為“目標(biāo)群集”。在兩個(gè)群集初始地都為已激活的場景(例如,(SI)與(3))中,初始地處理所有中斷請(qǐng)求的群集稱為第一群集。在當(dāng)前的操作頻率進(jìn)入或越過第一群集的頻率點(diǎn)區(qū)時(shí),觸發(fā)任兩個(gè)場景之間的切換。
[0075]在(S2)中,只有群集Cluster(O)是已激活的,且其擁有處理中斷的處理器核(以具有斜線的方塊來顯示)可處理所有中斷請(qǐng)求。在當(dāng)前的操作頻率進(jìn)入SP(0,I)或者從群集Cluster(O)的頻率范圍,越過SP(0,I)而進(jìn)入群集Cluster(I)的頻率范圍時(shí),管理模塊120激活群集Cluster(I),以及確定是否將中斷請(qǐng)求轉(zhuǎn)移至群集Cluster(I)及是否去激活群集Cluster(O)。根據(jù)系統(tǒng)當(dāng)前處在哪個(gè)操作場景以及系統(tǒng)將進(jìn)入哪個(gè)操作場景,來決定這些確定。系統(tǒng)可從(S2)轉(zhuǎn)變?yōu)?S4),在其中將所有的中斷請(qǐng)求轉(zhuǎn)移至群集Cluster(I)的處理器核(如場景(S4)中的斜線方塊所示),以及去激活群集Cluster(O)。相似地,如果系統(tǒng)初始地處于(S4),在當(dāng)前的操作頻率進(jìn)入SP(0,1)或者從群集Cluster(I)的頻率范圍,越過SP(O,I)而進(jìn)入群集Cluster(O)的頻率范圍時(shí),系統(tǒng)可從(S4)轉(zhuǎn)變?yōu)?S2)。此外,將所有的中斷請(qǐng)求轉(zhuǎn)移至群集Cluster(O)中的處理核,以及去激活群集Cluster( I)。
[0076]簡單地說,(S2)與(S4)之間以任意方向的轉(zhuǎn)變發(fā)生在以下條件下:第二群集在轉(zhuǎn)變之前已被初始地去激活時(shí),以及在已激活的處理器核的需求數(shù)量(即,hTLP)小于或等于第一群集中已激活的處理器核的總數(shù)量時(shí)。(S2)與(S4)之間以任意方向的轉(zhuǎn)變意指中斷請(qǐng)求從第一群集轉(zhuǎn)移至第二群集。此外,(S2)與(S4)之間以任意方向的轉(zhuǎn)變意指,在轉(zhuǎn)變之后,第二群集是已激活的而第一群集是去激活的。
[0077]在(SI)及(S3)中,初始地群集Cluster(O)及Cluster(I)是已激活的。在(SI)中,群集Cluster(O)擁有處理中斷的處理器(以具有斜線的方塊來顯示)可處理所有中斷請(qǐng)求。在當(dāng)前的操作頻率進(jìn)入SP(0,I)或者從群集Cluster(O)的頻率范圍,越過SP(0,1)而進(jìn)入群集Clusterd)的頻率范圍時(shí),管理模塊120確定是否將中斷請(qǐng)求轉(zhuǎn)移至群集Cluster( I),以及確定是否去激活群集Cluster(O)??梢愿鶕?jù)系統(tǒng)當(dāng)前處在哪個(gè)操作場景以及系統(tǒng)將進(jìn)入哪個(gè)操作場景,來決定這些確定。系統(tǒng)可從(SI)轉(zhuǎn)變?yōu)?S3),在其中將所有的中斷請(qǐng)求轉(zhuǎn)移至群集Cluster(I)的處理核(如場景(S3)中的斜線方塊所示)。相似地,在當(dāng)前的操作頻率進(jìn)入SP(0,I)或者從群集Cluster(I)的頻率范圍,越過SP(0,I)而進(jìn)入群集Cluster(O)的頻率范圍時(shí),系統(tǒng)可從(S 3)轉(zhuǎn)變?yōu)?SI)。在從(S 3)到(SI)的轉(zhuǎn)變中,將中斷請(qǐng)求轉(zhuǎn)移到群集Cluster(O)的處理核。
[0078]簡單地說,(SI)與(S3)之間以任意方向的轉(zhuǎn)變發(fā)生在以下條件下:第二群集在轉(zhuǎn)變之前已被初始地激活時(shí),以及在已激活的處理器核的需求數(shù)量(即,hTLP)大于第一群集中已激活的處理器核的總數(shù)量時(shí)。(SI)與(S3)之間以任意方向的轉(zhuǎn)變意指,中斷請(qǐng)求從第一群集轉(zhuǎn)移至第二群集。此外,(SI)與(S3)之間以任意方向的轉(zhuǎn)變意指,第一及第二群集均維持其已激活的狀態(tài)。
[0079]系統(tǒng)也在圖7中的左側(cè)與右側(cè)之間轉(zhuǎn)變。例如,從(S2)至(SI)的轉(zhuǎn)變以及從(S4)至(S3)的轉(zhuǎn)變發(fā)生在以下條件下:第二群集在轉(zhuǎn)變之前已初始地去激活時(shí),以及在已激活的處理器核的需求數(shù)量(即,hTLP)增加至大于第一群集中已激活的處理器核的總數(shù)量時(shí)。在這些轉(zhuǎn)變中任一者之后,第二群集是已激活的以及不轉(zhuǎn)移中斷請(qǐng)求,即是,由與轉(zhuǎn)變之前相同的群集來處理。
[0080]此外,從(SI)至(S2)的轉(zhuǎn)變與從(S3)至(S4)的轉(zhuǎn)變發(fā)生在以下條件下:第二群集在轉(zhuǎn)變之前已初始地激活時(shí),以及在已激活的處理器核的需求數(shù)量(即,hTLP)減少至小于或等于第一群集中已激活的處理器核的總數(shù)量時(shí)。在這兩個(gè)轉(zhuǎn)變中任一者之后,去激活第二群集以及中斷請(qǐng)求由與在轉(zhuǎn)變之前相同的群集來處理。
[0081]雖然圖7與隨后的附圖顯示出每次只有一個(gè)處理器核處理中斷請(qǐng)求,在一些情況下,同一時(shí)間可以由一個(gè)以上的處理器核來處理中斷請(qǐng)求。因此,在一些實(shí)施例中,在激活第二群集時(shí),系統(tǒng)識(shí)別第二群集中的第二處理器核中的一個(gè)或多個(gè)目標(biāo)處理器核,以及將中斷請(qǐng)求從第一群集轉(zhuǎn)移至第二群集中的該一個(gè)或多個(gè)目標(biāo)處理器核。
[0082]圖8是根據(jù)本發(fā)明一實(shí)施例的,使用AMP調(diào)度高效地操作層級(jí)-2群組的方法400的示意性流程圖。方法400由多重群集系統(tǒng)100執(zhí)行;例如,圖1中的管理模塊120。在該例子中,假設(shè)層級(jí)-2組包括(M+1)個(gè)群集,在不失一般性的情況下,假設(shè)在根據(jù)群集各自的峰值性能頻率范圍在頻率上從低到高來排序時(shí),這(M+1)個(gè)群集遵循ClusteHOXClusteHlXCluster (2 )<...<Cluster (M)的順序。也假設(shè),在該例子中,當(dāng)hTLP SN時(shí)(或者等效地說,當(dāng)已激活的處理器核的需求數(shù)量小于或等于N時(shí)),系統(tǒng)工作負(fù)載可由單個(gè)群集(Cluster(m))有效地處理,在其中N是群集ClusteHm)中處理器核的數(shù)量,以及m是整數(shù)指數(shù),OSmSM0
[0083]初始地,在方塊410中,群集ClusteHm)是已激活的,以及其擁有處理中斷的處理器核(本文中稱為IHP)。群集Cluster(m)與SP(m-l,m)及SP(m,m+l)相關(guān)聯(lián),其中SP(m_l,m)以及SP(m, m+1)是群集Cluster (m)的預(yù)定頻率范圍的下邊界與上邊界。為了簡便起見,本文中將操作頻率稱為OPFreqt^Mh,術(shù)語“OPFreqS SP( i,j ),,或其等效者意指,操作頻率在頻率點(diǎn)區(qū)SP( i,j)內(nèi)或低于頻率點(diǎn)區(qū)SP(i,j)。換句話說,uOPFreq> SP(i,j ),,或等效者意指,操作頻率已增加以及越過SP( i,j)。
[0084]如果多重群集系統(tǒng)100檢測(cè)到0PFreqSSP(m-l,m)且hTLPSN,則滿足了方塊420中指定的情況,以及系統(tǒng)前進(jìn)至方塊425,以找到最接近OPFreq的SP( 1-1,i),使得OPFreqSSP(i_l,i),其中I S i Sm。多重群集系統(tǒng)100還激活Cluster(1-1)、將IHP從Cluster(m)切換為Cluster(1-1)、將任務(wù)轉(zhuǎn)移至Cluster(i_l)以及去激活Cluster(m)。如果沒有滿足方塊420中指定的條件,系統(tǒng)前進(jìn)至方塊430。
[0085]在方塊430中,如果多重群集系統(tǒng)100檢測(cè)到(^代9>3?(111,111+1)且111'1^$1則滿足了方塊430中指定的條件,以及系統(tǒng)前進(jìn)至方塊435,以找到最接近OPFreq的SP(j,j+l),使得0??代9>3?(丨-1,丨),其中11^」$1。多重群集系統(tǒng)100還激活(:1118七64」+ 1)、將1即從Cluster (m)切換為Cluster (j+Ι)、將任務(wù)轉(zhuǎn)移至Cluster (j+Ι)以及去激活Cluster (m)。如果沒有滿足方塊430中指定的條件,系統(tǒng)前進(jìn)至方塊440。
[0086]使用圖7的例子,從方塊410到方塊420的轉(zhuǎn)變對(duì)應(yīng)于從(S4)至(S2)的轉(zhuǎn)變,以及從方塊410到方塊430的轉(zhuǎn)變對(duì)應(yīng)于從(S2)至(S4)的轉(zhuǎn)變。
[0087]在方塊440中,如果多重群集系統(tǒng)100檢測(cè)到0PFreqSSP(m-l,m)且hTLP>N,則滿足了方塊440中指定的條件,以及系統(tǒng)前進(jìn)至方塊445,以下述順序中的任一者來激活群集:
(I)Cluster(m-l) ,Cluster(m-2),Cluster(m-3)等,或是(2)Cluster(m_l) ,Cluster(m+1),ClUSter(m-2),ClUSter(m+2)等,直到多重群集系統(tǒng)100中已激活的處理器核提供足夠的處理能力以支持系統(tǒng)工作負(fù)載為止;換句話說,直到已激活的處理器的總數(shù)量大于或等于已激活的處理器核的需求數(shù)量為止。在該情況中,ClusteHm)保持激活。IHP可留在與轉(zhuǎn)變至方塊445之前相同的群集(例如,Cluster(m))中,該轉(zhuǎn)變的一個(gè)例子是圖7中從(S4)轉(zhuǎn)變至(S3)。可替換地,在轉(zhuǎn)變至方塊445時(shí),另一已激活的群集中的處理器核可承擔(dān)IHP的角色,該轉(zhuǎn)變的一個(gè)例子是從(S4)直接轉(zhuǎn)變至(SI),或者經(jīng)由(S3),從(S4)轉(zhuǎn)變至(SI)。
[0088]如果沒有滿足方塊440中指定的條件時(shí),多重群集系統(tǒng)100前進(jìn)至方塊450。在方塊450中,如果多重群集系統(tǒng)100檢測(cè)至ljOPFreq>SP(m,m+l)且hTLP>N,則滿足了方塊450中指定的條件,以及系統(tǒng)100前進(jìn)至方塊455,以下述順序中的任一者來激活群集:(l)ClUster(m+ 1) ,Cluster(m+2),Cluster(m+3)等,或者(2)Cluster(m+l),Cluster(m_l),Cluster(m+2),ClUster(m-2)等,直到多重群集系統(tǒng)100中的已激活的處理器核提供足夠的處理能力以支持系統(tǒng)工作負(fù)載為止;換句話說,直到已激活的處理器核的總數(shù)量大于或等于已激活的處理器核的需求數(shù)量為止。在該情況下,ClusteHm)保持激活。IHP可留在與轉(zhuǎn)變至方塊455之前相同的群集(例如,ClusteHm))中,該轉(zhuǎn)變的一個(gè)例子是圖7中從(S2)轉(zhuǎn)變至(SI)??商鎿Q地,在轉(zhuǎn)變?yōu)榉綁K445時(shí),另一已激活的群集中的處理器核可承擔(dān)IHP的角色,該轉(zhuǎn)變的一個(gè)例子是從(S2)直接轉(zhuǎn)變至(S3),或者經(jīng)由(S4),從(S2)轉(zhuǎn)變至(S3)。
[0089]如果沒有滿足方塊450中指定的條件,多重群集系統(tǒng)100可返回至方塊410。當(dāng)檢測(cè)到新的操作事件時(shí),或者當(dāng)檢測(cè)到操作頻率變化或系統(tǒng)工作負(fù)載變化時(shí),可在固定的時(shí)間間隔重復(fù)方法400。
[0090]如方塊445與455所示,當(dāng)滿足條件440或450時(shí),系統(tǒng)可激活多于一個(gè)群集。在每個(gè)已激活的群集中,系統(tǒng)可確定激活該群集中的所有處理器核或者是激活少于所有處理器核數(shù)量的處理器核。在一個(gè)實(shí)施例中,多重群集系統(tǒng)100可決定是否激活或去激活除了已激活的群集與目標(biāo)群集以外的一個(gè)或多個(gè)群集中的一個(gè)或多個(gè)處理器核。該確定可取決于已激活的處理器核的需求數(shù)量。
[0091]圖9是根據(jù)本發(fā)明一個(gè)實(shí)施例的,具有中斷處理功能的附加細(xì)節(jié)的,圖1的多重群集系統(tǒng)100的示意圖。在該實(shí)施例中,多重群集系統(tǒng)100包括全局中斷控制器(GlobalInterrupt Controller,GIC)510,其親接至多重群集系統(tǒng)100中的每個(gè)處理器核以及多個(gè)設(shè)備520及530。設(shè)備520在芯片上,即在與(M+1)個(gè)群集相同的系統(tǒng)單芯片(S0C)550上;以及設(shè)備530不在芯片上。設(shè)備520的是例子包括但不限于圖形處理器、信號(hào)處理器等。設(shè)備530的是例子包括但不限于系統(tǒng)存儲(chǔ)器、輸入/輸出設(shè)備等。設(shè)備520及530,以及群集中的處理器核,可生成中斷請(qǐng)求并向GIC 510發(fā)送該中斷請(qǐng)求。GIC 510用于向處理中斷的處理器核(IHP 570)轉(zhuǎn)發(fā)該中斷請(qǐng)求。在一個(gè)實(shí)施例中,響應(yīng)于轉(zhuǎn)移中斷請(qǐng)求的確定(例如,在圖7中從(S2)轉(zhuǎn)移至(S4),或從(SI)轉(zhuǎn)移至(S3)),IHP 570的中斷處理角色將轉(zhuǎn)移至另一已激活的群集中的一個(gè)或多個(gè)處理器核。
[0092]圖10是根據(jù)本發(fā)明一個(gè)實(shí)施例的,將中斷請(qǐng)求及任務(wù)從第一群集(Cluster(O))中的處理器核(以LLP 620來表示)轉(zhuǎn)移至第二群集(Cluster(I))中處理器核(以LP 630來表示)的方法的示意圖。在方塊611中,管理模塊120檢測(cè)將中斷請(qǐng)求從群集Cluster(O)的LLP620轉(zhuǎn)移至群集Cluster(I)的LP 630,的條件,例如圖7中(S2)與(S4)之間轉(zhuǎn)變的條件,以及接著去激活LLP 620。當(dāng)檢測(cè)到該事件時(shí),在方塊612中管理模塊120通知LLP 620停止接收中斷。在方塊621中接收到來自管理模塊120的通知之后,LLP 620停止接收新的中斷,以及如果有的話,完成當(dāng)前的中斷處理。在方塊622中,LLP 620通知LP 630準(zhǔn)備中斷請(qǐng)求轉(zhuǎn)移,以及等待來自LP 630的確認(rèn)(acknowledgement,ACK)。當(dāng)在方塊631中LP 630接收到來自LLP 620的通知時(shí),在方塊632中LP 630向LLP 620回傳ACK。接著,在方塊633中,LP 630等待來自LLP 620的ACK,以繼續(xù)工作。
[0093]在LLP 620接收到來自LP 630的ACK之后,在方塊623中LLP 620通過設(shè)置GIC 510來將中斷處理功能轉(zhuǎn)移至LP 630,以將未來所有的中斷請(qǐng)求轉(zhuǎn)發(fā)至LP 630。在方塊624中,LLP 620設(shè)置GIC 510來使能LP 630的中斷處理功能。在方塊625中,LLP 620通知LP 630繼續(xù)其工作。在方塊634中,在接收到通知后,LP 630繼續(xù)其工作。
[0094]接續(xù)于或緊接著中斷處理轉(zhuǎn)移,在方塊641中,任務(wù)分配模塊140開始將LLP620中的任務(wù)轉(zhuǎn)移至其它已激活的CPU。在方塊642中,任務(wù)分配模塊140停止向LLP 620分配任務(wù),以使其處于空閑狀態(tài)。接著在方塊643中,任務(wù)分配模塊140去激活LLP 620。在一個(gè)可替換的實(shí)施例中,方塊641-643中的一些操作可由管理模塊120來執(zhí)行。
[0095]圖11是根據(jù)本發(fā)明一個(gè)實(shí)施例的,群集Cluster(O)與Cluster (I)之間轉(zhuǎn)變的示意圖。如低性能情況場景(S5)所示,群集Cluster(O)中四分之三的處理核是初始地已激活的,其中每個(gè)處理器核為部分加載(partially loaded)(以越過處理器核的虛線來表示)。在群集Cluster(O)中三個(gè)已激活的處理器核之間工作負(fù)載是平衡的。從(S5)到中間性能場景
(S6)的轉(zhuǎn)變發(fā)生在與在圖7中從(S2)轉(zhuǎn)變至(S4)的相同條件之下。在從(S5)至(S6)的轉(zhuǎn)變中,群集Cluster (O)是去激活,而群集Cluster (I)是已激活的。此外,中斷請(qǐng)求從群集Cluster (O)轉(zhuǎn)移至群集Cluster (I)。在該轉(zhuǎn)變之后,群集Cluster (I)中的三個(gè)已激活的處理器核之間工作負(fù)載是平衡的。相似地,從(S6)至(S5)的轉(zhuǎn)變發(fā)生在與在圖7中從(S4)轉(zhuǎn)變至(S2)的相同條件之下。在從(S6)至(S5)的轉(zhuǎn)變中,群集Cluster(I)是去激活的,而群集Cluster(O)是已激活的。此外,中斷請(qǐng)求從群集Cluster (I)轉(zhuǎn)移至群集Cluster (O)。
[0096]該例子顯示,即使當(dāng)?shù)谝蝗杭?S卩,當(dāng)前的已激活的群集)具有一個(gè)或多個(gè)去激活的處理器核時(shí),也可能發(fā)生轉(zhuǎn)變。該例子也顯示出,第二群集(即,目標(biāo)群集)中已激活的處理器核的數(shù)量取決于當(dāng)前的系統(tǒng)工作負(fù)載。因此,在當(dāng)前不需要第二群集中的一些處理器核的處理能力時(shí),這些處理器核可保持在去激活。在轉(zhuǎn)變之前與之后,在每個(gè)群集中已激活的處理器核之間,工作負(fù)載是平衡的。
[0097]圖12是根據(jù)本發(fā)明另一實(shí)施例的,群集Cluster(O)與Cluster (I)之間轉(zhuǎn)變的示意圖。在該例子中,場景(5)與(6)與圖11中的場景相同。然而,取代了從(S5)直接轉(zhuǎn)變至(S6),存在了中間場景(S7),在其中,處理中斷的處理器核在Cluster(O)的其它處理器核之前轉(zhuǎn)移。該例子顯示出,一個(gè)群集的激活與另一群集的去激活可每次由一個(gè)處理器核執(zhí)行、每次由兩個(gè)處理器核執(zhí)行或者每次由任意數(shù)量的處理器核執(zhí)行。
[0098]在場景(S7)中,兩個(gè)群集都具有一個(gè)或多個(gè)已激活的處理器核。在一個(gè)實(shí)施例中,該兩個(gè)群集可實(shí)質(zhì)上在相同頻率上操作,例如在頻率點(diǎn)區(qū)SP(0,I)??商鎿Q地,在群集Cluster(O)的操作頻率在不高于SP(0,I)的頻率范圍(S卩,在SP(0,I)的一側(cè)),以及群集Cluster(I)的操作頻率在不低于SP(0,I)的頻率范圍(S卩,在SP(0,1)的另一側(cè))的限制下,該兩個(gè)群集可操作其各自的頻率范圍內(nèi),使得該兩個(gè)群集能以能源效率來操作。在一些實(shí)施例中,如果兩個(gè)不同的群集的操作頻率之間的差異在容忍度之內(nèi),單個(gè)電壓調(diào)整器可向這兩個(gè)不同的群集提供兩個(gè)不同的操作頻率。
[0099]圖13是根據(jù)本發(fā)明又一實(shí)施例的,群集Cluster(O)與Cluster (I)之間轉(zhuǎn)變的示意圖。除了已激活的群集可包括一個(gè)或多個(gè)去激活的處理器核以外,該轉(zhuǎn)變與圖7中從(S2)至
(SI)的轉(zhuǎn)變相似。該例子顯示從(S5)至(S8)的轉(zhuǎn)變,其發(fā)生在當(dāng)前的操作頻率高于SP(0,I)且hTLP大于Cluster(O)中處理器核的總數(shù)量時(shí)。在該轉(zhuǎn)變中,群集Cluster(O)中的去激活處理器核以及群集Cluster (I)中的一個(gè)或多個(gè)處理器核是已激活的。并非群集Cluster (I)中的所有處理器核都是已激活的,只要這些已激活的處理器核提供足夠的處理能力來處理工作負(fù)載即可。在該例子的處理中斷的處理器核保留在群集Cluster(O)中。在每個(gè)群集中的已激活的處理器核之間,工作負(fù)載是平衡的。
[0100]圖14是根據(jù)本發(fā)明再一實(shí)施例的,群集Cluster(O)與Cluster (I)之間轉(zhuǎn)變的示意圖。除了已激活的群集可包括一個(gè)或多個(gè)去激活的處理器核以外,該轉(zhuǎn)變與圖7中從(S4)至
(S3)的轉(zhuǎn)變相似。該例子顯示從(S6)至(S9)的轉(zhuǎn)變,其發(fā)生在當(dāng)前的操作頻率低于SP(0,I)且hTLP大于Cluster(I)中處理器核的總數(shù)量時(shí)。在該轉(zhuǎn)變中,群集Cluster(I)中的去激活的處理器核以及群集Cluster(O)中的一個(gè)或多個(gè)處理器核是已激活的。并非群集Cluster
(O)中的所有處理器核都是已激活的,只要這些已激活的處理器核提供足夠的處理能力來處理工作負(fù)載即可。在該例子的處理中斷的處理器核保留在群集Cluster(I)中。在每個(gè)群集內(nèi)的已激活的處理器核之間,工作負(fù)載是平衡的。
[0101]在一些實(shí)施例中,上述轉(zhuǎn)變可被使用場景(usagescenar1s)觸發(fā)。例如,多重群集系統(tǒng)100可根據(jù)一些預(yù)定的使用場景來激活與去激活不同的處理器核與群集。例如,如圖7所示,從(SI)至(S2)的轉(zhuǎn)變可通過開啟屏幕觸發(fā),從(S2)至(SI)的轉(zhuǎn)變可通過關(guān)閉屏幕觸發(fā)。這些使用場景可觸發(fā)圖11-14中所示的任意轉(zhuǎn)變。
[0102]本說明書已描述了各種功能組件或方塊。本領(lǐng)域的普通技術(shù)人員能夠理解,這些功能方塊優(yōu)選地可通過電路(操作在一個(gè)或多個(gè)處理器及已編碼的指令的控制下的專用電路或通用電路)實(shí)現(xiàn),其通常包括晶體管,配置用以根據(jù)本文描述的功能及操作,來控制電路的操作。晶體管的特定架構(gòu)或相互連接可由編譯器來決定,例如寄存器轉(zhuǎn)移語言(register transfer language,RTL)編譯器。RTL編譯器根據(jù)非常類似匯編語言編碼的腳本來操作,以將腳本編譯為最終電路的布局或制造所能使用的形式。在電子與數(shù)字系統(tǒng)的便捷設(shè)計(jì)過程中,RTL的角色及使用為眾所周知的。
[0103]本發(fā)明雖以若干實(shí)施例揭露如上,然而本領(lǐng)域的普通技術(shù)人員可理解本發(fā)明并不限于所描述的實(shí)施例,在不脫離所附權(quán)利要求的精神和范圍之下,可做修改和替換。因此,本說明書應(yīng)視為示意性的而非限制。
【主權(quán)項(xiàng)】
1.一種計(jì)算系統(tǒng),其特征在于,包含: 在分層群組中的多個(gè)處理器核,所述分層群組包含: 多個(gè)層級(jí)-1群組,每個(gè)所述層級(jí)-1群組包括所述多個(gè)處理器核的具有相同的能源效率特性的一個(gè)或多個(gè),以及每個(gè)所述層級(jí)-1群組通過各自的層級(jí)-1調(diào)度器被分配第一任務(wù);一個(gè)或多個(gè)層級(jí)-2群組,所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者包括各自的多個(gè)層級(jí)-1群組,在相同的所述層級(jí)-2群組的不同的所述層級(jí)-1群組中的處理器核具有不同的能源效率特性,以及所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者通過各自的層級(jí)-2調(diào)度器被分配第二任務(wù);以及 層級(jí)-3群組,包括所述一個(gè)或多個(gè)層級(jí)-2群組,以及通過層級(jí)-3調(diào)度器被分配第三任務(wù)。2.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-3群組還包含不屬于任意所述層級(jí)-2群組的一個(gè)或多個(gè)所述層級(jí)-1群組。3.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,在相同的所述層級(jí)-2群組的不同的所述層級(jí)-1群組中的任意兩個(gè)處理器核,具有比在不同的所述層級(jí)-2群組的不同的所述層級(jí)-1群組中的任意兩個(gè)處理器核更靠近的能源效率特性曲線。4.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,在所述層級(jí)-2群組的每一者中,每個(gè)所述層級(jí)-1群組的能源效率特性曲線定義至少一個(gè)預(yù)定頻率點(diǎn)區(qū),所述預(yù)定頻率點(diǎn)區(qū)越過或相鄰于在相同的所述層級(jí)-2群組中的至少一個(gè)其它的所述層級(jí)-1群組。5.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,在所述層級(jí)-2群組的每一者中,每個(gè)所述層級(jí)-1群組的能源效率特性曲線與在不同的所述層級(jí)-2群組中的每個(gè)所述層級(jí)-1群組的能源效率特性曲線,至少相距閾值的距離。6.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,每個(gè)所述層級(jí)-1群組具有對(duì)稱多處理架構(gòu)。7.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述各自的層級(jí)-1調(diào)度器為對(duì)稱多處理調(diào)度器。8.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-3群組具有異構(gòu)多處理架構(gòu)。9.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-3調(diào)度器為異構(gòu)多處理調(diào)度器。10.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-3調(diào)度器為核內(nèi)切換器調(diào)度器。11.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-2群組的每一者具有非對(duì)稱多處理架構(gòu)。12.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-2調(diào)度器為核內(nèi)切換器調(diào)度器。13.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-2調(diào)度器為非對(duì)稱多處理調(diào)度器。14.如權(quán)利要求13所述的計(jì)算系統(tǒng),其特征在于,在所述層級(jí)-2群組的每一者中,每個(gè)所述層級(jí)-1群組具有一個(gè)或多個(gè)預(yù)定頻率點(diǎn)區(qū),每個(gè)預(yù)定頻率點(diǎn)區(qū)與所述層級(jí)-1群組及在相同的所述層級(jí)-2群組中的其它一個(gè)層級(jí)-1群組相關(guān)聯(lián)。15.如權(quán)利要求13所述的計(jì)算系統(tǒng),其特征在于,一個(gè)所述層級(jí)-2群組的所述非對(duì)稱性多處理調(diào)度器被配置于檢測(cè)事件,在所述事件中所述層級(jí)-2群組中的已激活層級(jí)-1群組的當(dāng)前操作頻率,進(jìn)入或越過所述已激活層級(jí)-1群組的一個(gè)或多個(gè)預(yù)定頻率點(diǎn)區(qū)中的任意一個(gè),其中所述已激活層級(jí)-1群組包括一個(gè)或多個(gè)第一處理器核;以及 當(dāng)檢測(cè)到所述事件時(shí),所述非對(duì)稱性多處理調(diào)度器配置為: 識(shí)別在相同的所述層級(jí)-2群組中的目標(biāo)層級(jí)-1群組,其中在所述已激活的層級(jí)-1群組中的每個(gè)第一處理器核及在所述目標(biāo)層級(jí)-1群組中的每個(gè)第二處理器核,具有不同的能源效率特性; 激活所述目標(biāo)層級(jí)-1群組中的至少一個(gè)所述第二處理器核; 確定是否將一個(gè)或多個(gè)中斷請(qǐng)求,從所述已激活層級(jí)-1群組迀移至所述目標(biāo)層級(jí)-1群組;以及 基于性能及功率需求,確定是否去激活所述已激活層級(jí)-1群組的至少一個(gè)所述第一處理器核。16.如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,在每個(gè)所述層級(jí)-1調(diào)度器執(zhí)行對(duì)應(yīng)的所述層級(jí)-1群組中的處理器核之間的負(fù)載平衡之后,一個(gè)或多個(gè)所述層級(jí)-2調(diào)度器中的每一者執(zhí)行對(duì)應(yīng)的所述層級(jí)-2群組中的處理器核之間的負(fù)載平衡,以及接著所述層級(jí)-3調(diào)度器執(zhí)行所述層級(jí)-3群組中的處理器核之間的負(fù)載平衡。17.一種計(jì)算系統(tǒng),其特征在于,包含: 在分層群組中的多個(gè)處理器核,所述分層群組包含: 多個(gè)層級(jí)-1群組,每個(gè)所述層級(jí)-1群組包括所述多個(gè)處理器核的一個(gè)或多個(gè),以及具有對(duì)稱性多處理架構(gòu); 一個(gè)或多個(gè)層級(jí)-2群組,所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者包括各自的多個(gè)層級(jí)-1群組,在相同的所述層級(jí)-2群組的不同的所述層級(jí)-1群組中的處理器核具有不同的能源效率特性;以及 層級(jí)-3群組,包括所述一個(gè)或多個(gè)層級(jí)-2群組,以及具有異構(gòu)多處理架構(gòu)。18.如權(quán)利要求17所述的計(jì)算系統(tǒng),其特征在于,所述一個(gè)或多個(gè)層級(jí)-2群組在所述分層群組的多個(gè)中間層級(jí)的一個(gè)之上,每個(gè)中間層級(jí)包括各自的一個(gè)或多個(gè)所述層級(jí)-2群組。19.如權(quán)利要求17所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-1群組中的每一者通過各自的對(duì)稱性多處理調(diào)度器被分配任務(wù)。20.如權(quán)利要求17所述的計(jì)算系統(tǒng),其特征在于,所述一個(gè)或多個(gè)層級(jí)-2群組中的每一者通過各自的層級(jí)-2調(diào)度器被分配任務(wù)。21.如權(quán)利要求17所述的計(jì)算系統(tǒng),其特征在于,所述層級(jí)-3群組通過層級(jí)-3調(diào)度器被分配任務(wù)。22.一種計(jì)算系統(tǒng),其特征在于,包含: 在分層群組中的多個(gè)處理器核,所述分層群組包含: 一個(gè)或多個(gè)葉子-層級(jí)群組,在相同的葉子-層級(jí)群組中至少一個(gè)葉子-層級(jí)群組中的至少兩個(gè)所述處理器核具有不同的能源效率特性,以及所述一個(gè)或多個(gè)葉子-層級(jí)群組中的每一者通過各自的葉子-層級(jí)調(diào)度器被分配第一任務(wù);以及 根-層級(jí)群組,包括所述一個(gè)或多個(gè)葉子-層級(jí)群組,以及通過根-層級(jí)調(diào)度器被分配第二任務(wù)。23.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,相同的所述葉子-層級(jí)群組中的任意兩個(gè)處理器核,具有比不同的所述葉子-層級(jí)群組中的任意兩個(gè)處理器核更靠近的能源效率曲線。24.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,在所述至少一個(gè)葉子-層級(jí)群組中,每個(gè)處理器核的能源效率特性曲線定義至少一個(gè)預(yù)定頻率點(diǎn)區(qū),所述預(yù)定頻率點(diǎn)區(qū)越過或相鄰于在相同的所述葉子-層級(jí)群組中的至少一個(gè)其它處理器核。25.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,在所述葉子-層級(jí)群組的每一者中,每個(gè)處理器核的能源效率特性曲線與不同的所述葉子-層級(jí)群組中每個(gè)處理器核的能源效率特性曲線,至少相距閾值的距離。26.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,所述葉子-層級(jí)調(diào)度器為非對(duì)稱性多處理調(diào)度器。27.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,所述根-層級(jí)群組具有異構(gòu)多處理架構(gòu)。28.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,所述根-層級(jí)調(diào)度器為異構(gòu)多處理調(diào)度器。29.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,所述根-層級(jí)調(diào)度器為核內(nèi)切換器調(diào)度器。30.如權(quán)利要求22所述的計(jì)算系統(tǒng),其特征在于,在每個(gè)所述葉子-層級(jí)調(diào)度器執(zhí)行對(duì)應(yīng)的葉子-層級(jí)群組中的處理器之間的負(fù)載平衡之后,所述根-層級(jí)調(diào)度器執(zhí)行所述根-層級(jí)群組中的處理器核之間的負(fù)載平衡。31.一種計(jì)算系統(tǒng),其特征在于,包含: 在分層群組中的多個(gè)處理器核,所述分層群組包含: 一個(gè)或多個(gè)葉子-層級(jí)群組,在相同的葉子-層級(jí)群組中至少一個(gè)葉子-層級(jí)群組中的至少兩個(gè)處理器核具有不同的能源效率特性;以及 根-層級(jí)群組,包括所述一個(gè)或多個(gè)葉子-層級(jí)群組,以及具有異構(gòu)多處理架構(gòu)。32.如權(quán)利要求31所述的計(jì)算系統(tǒng),其特征在于,所述葉子-層級(jí)群組中的至少一者,通過非對(duì)稱性多處理調(diào)度器被分配任務(wù)。33.如權(quán)利要求31所述的計(jì)算系統(tǒng),其特征在于,所述根-層級(jí)群組通過根-層級(jí)調(diào)度器被分配任務(wù)。
【文檔編號(hào)】G06F1/32GK105849670SQ201580003343
【公開日】2016年8月10日
【申請(qǐng)日】2015年11月16日
【發(fā)明人】陳家明, 周宏霖, 張雅婷, 邱士顏, 許嘉豪, 林有明, 黃萬慶, 楊仁杰, 蕭丕承
【申請(qǐng)人】聯(lián)發(fā)科技股份有限公司