專利名稱:用于并行計(jì)算系統(tǒng)的基于能量的時(shí)間調(diào)度器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及系統(tǒng)、軟件和方法,更具體來說,涉及用于降低并行計(jì)算系統(tǒng)中的能量消耗的機(jī)制和技術(shù)。
背景技術(shù):
在以往許多年,用于諸如計(jì)算機(jī)、移動電話、游戲控制臺、個人數(shù)字助理之類的計(jì)算裝置的處理器的演進(jìn)受到增加時(shí)鐘頻率和芯片復(fù)雜度的概念推動,然后導(dǎo)致提高的性能,即,更快地以及在一些情況下更有效地解決計(jì)算工作。最近,用于實(shí)現(xiàn)處理器的速度和效率的提高的另一個概念正在出現(xiàn)。這種新概念依靠在無需增加時(shí)鐘頻率的情況下使用并行計(jì)算來提高系統(tǒng)吞吐量的思路。并行計(jì)算的思路是在可能的情況下將必須解決的問題分為若干較小的單獨(dú)問題。將較大問題這樣分為較小問題允許系統(tǒng)使用多于一個的處理器,并且在多個處理器上同時(shí)地并行計(jì)算較小問題。 按照這種方式,有可能更快地解決大問題。使用多核架構(gòu)的可能優(yōu)點(diǎn)是靈活性和可伸縮性。但是,在單個裝置中使用多個處理器可要求更高的能量消耗,因?yàn)镹個處理器可能使用比單個處理器更大的能量。因此,必須考慮多個處理器的功率消耗管理。功率消耗管理還需要解決其中在其余處理器處于空閑的同時(shí)使用處理器中的一部分的情況。這個問題對于具有電池作為僅有的能源、即具有有限能量供應(yīng)的移動裝置變得更為關(guān)鍵。一種考慮功率消耗管理的方式是降低或者暫時(shí)關(guān)閉對空閑處理器的電壓供應(yīng)。但是,降低整個芯片的電壓供應(yīng)因性能約束(喚醒時(shí)間等)而也許是不可能的。另外,這種技術(shù)必須考慮哪些以及多少處理器要關(guān)閉多長時(shí)間,這不是顯而易見的任務(wù),因?yàn)樾枰獔?zhí)行特定任務(wù)的處理器的數(shù)量取決于該特定任務(wù)。例如,專用集成電路(ASIC)或微處理器的組件因不同關(guān)鍵路徑而對電壓供應(yīng)具有不同要求。關(guān)鍵路徑可以是兩個寄存器之間的邏輯深度的最大量,其中邏輯深度可轉(zhuǎn)化為取決于供應(yīng)電壓的延遲。因此,以較低電壓來運(yùn)行一些組件能夠節(jié)省能量。此外,在同步設(shè)計(jì)中使用多個時(shí)鐘頻率能夠引起多電壓供應(yīng)環(huán)境中的雙重能量節(jié)省,因?yàn)榻档突パa(bǔ)金屬氧化物半導(dǎo)體(CM0Q電路中的時(shí)鐘頻率使得有可能降低其供應(yīng)電壓。因此,用于降低計(jì)算系統(tǒng)中的能量消耗的一種可能性是提供將計(jì)算工作分布于處理器核的整個集合的調(diào)度技術(shù)。但是,在多個并行計(jì)算單元之間劃分計(jì)算工作時(shí),不是以較高時(shí)鐘頻率使用單個計(jì)算單元,而是可在降低時(shí)鐘頻率使用N個并行單元。假定使用N個并行單元實(shí)現(xiàn)因子N 的時(shí)鐘頻率降低。實(shí)際上,由于開銷,發(fā)現(xiàn)實(shí)際時(shí)鐘頻率降低小于N。通過僅考慮動態(tài)功率消耗與時(shí)鐘頻率之間的線性關(guān)系并且還考慮并行計(jì)算單元消耗更大芯片面積,斷定并行實(shí)現(xiàn)不如單個計(jì)算單元那么能量有效。但是,要確定對于并行計(jì)算是否存在能量益處,應(yīng)當(dāng)評估由于較低時(shí)鐘頻率而使用更少流水線寄存器和/或低泄漏晶體管和/或更低供應(yīng)電壓時(shí)由并行計(jì)算單元所消耗的功率??紤]這些因素,可以表明, 與單個處理器相比,并行處理器實(shí)現(xiàn)能夠節(jié)省能量。
但是,由于多個現(xiàn)有資源、各計(jì)算工作的不同需要等等,調(diào)度并行計(jì)算環(huán)境中的處理器資源是復(fù)雜的。換言之,由于存在待使用資源數(shù)量和待執(zhí)行計(jì)算工作數(shù)量的大量可能組合,查找資源的適當(dāng)調(diào)度不是嘗試降低數(shù)量的可能性的簡單事項(xiàng)。查找要用于特定計(jì)算工作的正確數(shù)量的資源的這個難題對于現(xiàn)有系統(tǒng)是成問題的,這還使功率消耗降低很困難。相應(yīng)地,將希望提供避免上述問題和缺點(diǎn)的裝置、系統(tǒng)和方法。
發(fā)明內(nèi)容
按照一個示范實(shí)施例,存在一種用于降低包括多個資源的并行計(jì)算系統(tǒng)中的能量消耗的方法。該方法包括接收要由并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;通過搜索并行計(jì)算系統(tǒng)中存儲的預(yù)設(shè)表來確定要用于執(zhí)行該計(jì)算工作的所述多個資源的資源的數(shù)量,其中預(yù)設(shè)表在確定資源的數(shù)量之前被填充;以及將該計(jì)算工作分發(fā)到所確定數(shù)量的資源。按照另一個示范實(shí)施例,存在一種用于在運(yùn)行計(jì)算工作時(shí)降低能量消耗的并行計(jì)算系統(tǒng)。該并行計(jì)算系統(tǒng)包括輸入,配置成接收要由并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;調(diào)度器,連接到輸入,并且配置成通過搜索預(yù)設(shè)表來確定要用于執(zhí)行該計(jì)算工作的多個資源的資源的數(shù)量,其中預(yù)設(shè)表在確定資源數(shù)量之前被填充;以及多個資源,連接到調(diào)度器,并且配置成運(yùn)行所確定的計(jì)算工作。按照又一個示范實(shí)施例,存在一種用于存儲計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒體,其中指令在由并行計(jì)算系統(tǒng)運(yùn)行時(shí)使該系統(tǒng)降低包括多個資源的所述并行計(jì)算系統(tǒng)中的能量消耗。所述指令包括接收要由并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;通過搜索并行計(jì)算系統(tǒng)中存儲的預(yù)設(shè)表來確定要用于執(zhí)行該計(jì)算工作的所述多個資源的資源的數(shù)量,其中預(yù)設(shè)表在確定資源數(shù)量之前被填充;以及將該計(jì)算工作分發(fā)到所確定數(shù)量的資源。按照另一個示范實(shí)施例,存在一種用于在運(yùn)行計(jì)算工作時(shí)降低能量消耗的并行計(jì)算系統(tǒng)。該并行計(jì)算系統(tǒng)包括用于接收要由并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作的部件;調(diào)度部件,用于通過搜索預(yù)設(shè)表來確定要用于執(zhí)行該計(jì)算工作的多個資源的資源的數(shù)量,其中預(yù)設(shè)表在確定資源數(shù)量之前被填充;以及所述多個資源,配置成運(yùn)行所確定的計(jì)算工作。
結(jié)合在本說明書中并且構(gòu)成其一部分的附圖示出一個或多個實(shí)施例,并且連同描述一起來解釋這些實(shí)施例。附圖包括圖1是并行計(jì)算系統(tǒng)的示意圖;圖2示出顯示并行計(jì)算系統(tǒng)相對按照一示范實(shí)施例所使用的資源的數(shù)量的能量消耗的圖;圖3示出按照一示范實(shí)施例的第一預(yù)設(shè)表,其指示要用于給定計(jì)算工作以實(shí)現(xiàn)低能量消耗的資源的適當(dāng)數(shù)量;圖4示出按照一示范實(shí)施例的第二預(yù)設(shè)表,其對資源的各數(shù)量指示實(shí)現(xiàn)低能量消耗的適當(dāng)電壓和頻率;圖5是示出按照一示范實(shí)施例、用于選擇資源數(shù)量以及對應(yīng)頻率和電壓的步驟的流程圖6是示出按照一示范實(shí)施例、用于選擇資源數(shù)量的步驟的流程圖;以及圖7是按照一示范實(shí)施例的并行計(jì)算系統(tǒng)的示意圖。
具體實(shí)施例方式示范實(shí)施例的以下描述參照附圖。不同附圖中的相同引用數(shù)字標(biāo)識相同或相似的要素。以下詳細(xì)描述并不是限制本發(fā)明。本發(fā)明的范圍而是由所附權(quán)利要求來定義。為了簡潔起見,針對并行計(jì)算系統(tǒng)的術(shù)語和結(jié)構(gòu)來討論以下實(shí)施例。但是,接下來要討論的實(shí)施例并不局限于這些系統(tǒng),而是可應(yīng)用于其它現(xiàn)有系統(tǒng)。貫穿本說明書對“一個實(shí)施例”或“一實(shí)施例”的引用表示結(jié)合一實(shí)施例所述的具體特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少一個實(shí)施例中。因此,短語“在一個實(shí)施例中”或 “在一實(shí)施例中”在本說明書的各個位置中的出現(xiàn)不一定都表示相同實(shí)施例。此外,具體特征、結(jié)構(gòu)或特性可按照任何適當(dāng)方式結(jié)合在一個或多個實(shí)施例中。按照圖1所示的一示范實(shí)施例,存在一種并行計(jì)算系統(tǒng)10,它包括經(jīng)由總線14連接到調(diào)度器16的多個資源Rl至R4 12。調(diào)度器16可以是專用電路,或者可在資源12的一個或多個中實(shí)現(xiàn)。資源12可以是處理器、核、線程、運(yùn)行于一個或多個處理器上的應(yīng)用、數(shù)字信號處理器(DSP)或者專用指令集處理器(ASIP)。存儲器M18可經(jīng)由總線14鏈接到資源12和/或調(diào)度器16,或者可以是調(diào)度器16和/或資源12的全部或之一的部分。按照一示范實(shí)施例,存在一種用于多核硬件架構(gòu)10的資源上的計(jì)算工作的實(shí)時(shí)調(diào)度的功率管理方法。該方法可對各進(jìn)程或計(jì)算工作查找使系統(tǒng)10的總能量消耗為最小的最佳硬件調(diào)度。該方法可以能夠確定將要用于各計(jì)算工作的資源或核的數(shù)量,并且還設(shè)置核的如時(shí)鐘頻率和/或電壓供應(yīng)的性質(zhì)以使能量消耗為最小。按照一示范實(shí)施例,可對各資源單獨(dú)控制多資源架構(gòu)的時(shí)鐘頻率和/或供應(yīng)電壓。用于對處理器設(shè)置供應(yīng)電壓和頻率的具體方法是本領(lǐng)域的技術(shù)人員已知的,例如參見 Saeed的美國專利No. 6711447和Rusu等人的美國專利No. 7111178。為了更好地理解示范實(shí)施例,圖2示出在包括16個資源的并行計(jì)算系統(tǒng)上執(zhí)行的特定計(jì)算工作。該計(jì)算工作完全僅在一資源上執(zhí)行,然后完全僅在兩個資源上執(zhí)行,然后完全僅在三個資源上執(zhí)行等等,直到完全在全部16個資源上執(zhí)行計(jì)算工作。圖2示出用于計(jì)算工作的能量與所使用的資源數(shù)量的曲線圖。對于這個特定計(jì)算工作,最低能量消耗出現(xiàn)在使用五個資源時(shí)。但是,對于其它計(jì)算工作,使能量消耗為最小的資源的適當(dāng)數(shù)量可以是不同的。因此,按照一示范實(shí)施例,圖1所示的并行計(jì)算系統(tǒng)10的調(diào)度器16可預(yù)先編程為將計(jì)算工作分布于實(shí)現(xiàn)降低(例如最小)的能量消耗的數(shù)量的資源。另外,調(diào)度器還可編程為設(shè)置各資源的時(shí)鐘頻率和/或電壓供應(yīng),以便實(shí)現(xiàn)降低的能量消耗。要實(shí)現(xiàn)這些優(yōu)點(diǎn), 可在判定應(yīng)當(dāng)使用多少資源之前定義如圖3所示的預(yù)設(shè)表觀。為了更好地理解,使用以下示例。但是要注意,該方法可應(yīng)用于其它情況,而不是要局限于這個示例??紤]并行計(jì)算系統(tǒng)在移動電話中實(shí)現(xiàn)。假定移動電話僅執(zhí)行三個計(jì)算工作,即,支持通信、記錄文件和運(yùn)行游戲。對于三個計(jì)算工作的每一個,能量計(jì)算用于確定將使能量消耗為最小的資源的最小數(shù)量。因此,基于這些實(shí)驗(yàn)運(yùn)行,填充圖3的表觀,使得對于各計(jì)算工作CJ,確定使能量消耗為最小的資源數(shù)量。存在現(xiàn)實(shí)裝置中待計(jì)算的計(jì)算工作不符合某個預(yù)設(shè)表時(shí)的情況。在那種情況下,應(yīng)當(dāng)確定用于處理這種情況的策略,并且兩種可能策略是,該方法或者選擇預(yù)定小數(shù)量的資源、或者使用所有資源來執(zhí)行計(jì)算工作。按照一示范實(shí)施例,計(jì)算工作由并行計(jì)算系統(tǒng)基于例如計(jì)算快速傅立葉變換或者對數(shù)據(jù)幀進(jìn)行解碼來識別。預(yù)設(shè)表觀可被生成并且例如存儲在存儲器18中,使得調(diào)度器16能夠易于取適當(dāng)?shù)恼{(diào)度。在這方面,對于各計(jì)算工作,從能量消耗的角度來看,存在各計(jì)算工作應(yīng)當(dāng)分布于其上的資源的最佳數(shù)量。資源的最小數(shù)量可基于與圖2所示圖相似的圖對各特定計(jì)算工作來確定。換言之,可對圖3的表觀中所列的各計(jì)算工作來確定與圖2所示圖相似的圖。按照一示范實(shí)施例,不必確定圖2所示的圖,而僅確定正在產(chǎn)生該圖的數(shù)據(jù),因?yàn)榇嬖谟糜诖_定數(shù)據(jù)集的最小值而無需繪制數(shù)據(jù)集的計(jì)算方法。一旦確定將要用于特定計(jì)算工作的資源數(shù)量,則可確定將要應(yīng)用于各資源的電壓和/或頻率。如上所述,當(dāng)資源數(shù)量為已知時(shí),用于確定多個資源的各資源的頻率和/或電壓的技術(shù)是可用的。存儲待使用資源的各集合的頻率和電壓的示范表30例如在圖4中示出。這個表30也可以是預(yù)設(shè)的并且存儲在存儲器18或調(diào)度器16中。因此,按照一示范實(shí)施例,當(dāng)移動電話采用并行計(jì)算系統(tǒng)來實(shí)現(xiàn)時(shí),每當(dāng)必須執(zhí)行特定工作時(shí),調(diào)度器可基于所存儲的表觀來識別待使用資源的數(shù)量。然后,基于待使用資源的所確定數(shù)量,可基于表30來確定將要應(yīng)用于各資源的頻率和/或電壓。因此,這個操作比較快(因?yàn)樗婕八阉饕粋€或兩個表而沒有廣泛計(jì)算),并且不要求進(jìn)一步的計(jì)算能力。本領(lǐng)域的技術(shù)人員將理解,有關(guān)移動電話的以上討論是示范的,并且相同方法可應(yīng)用于可運(yùn)行于任何并行計(jì)算裝置上的任何計(jì)算工作。仍然針對圖2,在將資源(這個示例中是DSP)的數(shù)量增加到5以上時(shí)存在能量消耗的增加的原因是雙重的。第一原因在于,各DSP因泄漏而具有靜態(tài)功率消耗。對于較大數(shù)量的DSP,泄漏功率成為主導(dǎo),如圖2所示的曲線的右側(cè)部分所示。第二原因在于,各工作具有并行計(jì)算的有限可能性。這意味著,超過一定數(shù)量的DSP,計(jì)算時(shí)間在分配又一些DSP 時(shí)沒有減小。有關(guān)計(jì)算時(shí)間,與最小化能量消耗競爭的因素是用于執(zhí)行計(jì)算工作的所要求的最小時(shí)間。例如,并行計(jì)算系統(tǒng)可能需要在某個時(shí)間量中運(yùn)行計(jì)算工作,如其它考慮因素所規(guī)定的。如果基于實(shí)現(xiàn)低能量消耗所確定的資源數(shù)量要求較大時(shí)間量來執(zhí)行該計(jì)算工作,則系統(tǒng)可忽略實(shí)現(xiàn)低能量消耗以用于實(shí)現(xiàn)時(shí)間目標(biāo),即,使用比對應(yīng)于低能量消耗的那個數(shù)量更多的資源。對于圖2所示的示例,資源的最佳數(shù)量是5,并且至少從能量角度來看,沒有理由將計(jì)算工作部署于5個以上DSP。但是,由于其它同時(shí)的計(jì)算工作,可能存在系統(tǒng)中可用的更少資源。因此,可能必需還定義用于那些情況的設(shè)定。因此,對于圖2所示的示例,可能必需定義用于1、2、3、4或5個可用DSP的情況的設(shè)定。某個例外針對其中計(jì)算工作使用少于某個數(shù)量的DSP無法滿足其最后期限的情況。這種情況使得定義少于滿足最后期限所要求的DSP數(shù)量的設(shè)定是不必要的。按照一示范實(shí)施例,可對于下列情況來計(jì)算包括多個資源的時(shí)鐘頻率和/或電壓供應(yīng)設(shè)定的調(diào)度表30: (i)所有資源具有相等性質(zhì)的情況;以及(ii)資源具有不同性質(zhì)的情況。但是,后一種情況比前一種情況更為復(fù)雜,并且這后一種情況可包括更大數(shù)量的可能選擇。示出圖2所示的特定計(jì)算工作所必需的頻率和電壓調(diào)度的集合的表30的示例在圖4中示出。當(dāng)部署越多資源時(shí),電壓供應(yīng)和時(shí)鐘頻率可以越低。因此,表30的最后一行中所示的電壓和頻率一般低于上面任一行所示的電壓和頻率,因?yàn)楸?0的最后一行示出使用全部5個資源的情況。表30的所有其它行示出至少一個資源未使用時(shí)的情況。即使所有資源具有相等性質(zhì),表30的各行上的所有頻率和電壓也不一定彼此相等。在一個示范實(shí)施例中,對于相同資源,使用不同電壓和頻率。按照一示范實(shí)施例,也許有可能通過實(shí)時(shí)計(jì)算來判定資源的數(shù)量及其電壓供應(yīng)和頻率選擇。但是,這種方式可引起延遲以及資源的不必要使用。因此,將各種情況存儲在存儲器中的上述方法可以更快。按照另一個示范實(shí)施例,由于所必需的電壓供應(yīng)等級隨進(jìn)程變化和操作條件而有所不同,所以進(jìn)一步的功率優(yōu)化通過經(jīng)由芯片上測試來校準(zhǔn)預(yù)先計(jì)算的電壓等級是可能的。按照另一個示范實(shí)施例,當(dāng)計(jì)算工作需要某個數(shù)量的資源來及時(shí)完成該工作時(shí),調(diào)度器將選擇表30中利用那個數(shù)量的資源的行。接下來,討論一種用于對給定并行計(jì)算系統(tǒng)從表觀和30來確定和選擇適當(dāng)值的方法。假定給定系統(tǒng)具有可用的N個資源。在將表觀和30實(shí)現(xiàn)到這個裝置中之前,在圖 5的步驟400中,各種計(jì)算工作可運(yùn)行于第一資源、前兩個資源、……、全部N個資源。在一示范實(shí)施例中,運(yùn)行計(jì)算工作,直到確定使用最小能量的資源的數(shù)量。例如,參照圖2,使用最小能量的資源的數(shù)量是5,并且運(yùn)行計(jì)算工作一直到5或6個資源,此后停止該過程。圖 2中,計(jì)算工作已經(jīng)被運(yùn)行一直到16個資源以生成該圖,但是如上所述,那不是必要的。第一表觀對于各計(jì)算工作指示要用于實(shí)現(xiàn)低能量消耗的資源數(shù)量。實(shí)現(xiàn)最小能量消耗的資源的數(shù)量M(基于與圖2所示圖相似的圖)在步驟402中基于第一表觀來選擇。因此,這個步驟的推論是不定義相比最小能量消耗所指示的使用更多資源的設(shè)定。這確信不存在通過只是因?yàn)檫@些資源是可用的而選擇較大數(shù)量的資源所引起的資源或能量的浪費(fèi)。在步驟404中,從能量角度來計(jì)算包含滿足時(shí)序要求的可用資源的全部集合的參數(shù)值的表。這個步驟的結(jié)果由圖4的表來示出。有可能的是,執(zhí)行計(jì)算步驟404,使得僅計(jì)算從資源的最小數(shù)量直到最佳數(shù)量的可用資源的集合??蛇x步驟406檢驗(yàn)對系統(tǒng)所施加的時(shí)間約束,即,如果10個資源是在要求的時(shí)間量中完成計(jì)算工作所必需的,并且步驟402從能量觀點(diǎn)指示待使用資源的最佳數(shù)量是6,則前進(jìn)到步驟410,并且選擇10個資源來計(jì)算該計(jì)算工作。上述步驟400、402、404和406可在接收并行計(jì)算系統(tǒng)中的實(shí)際計(jì)算工作之前執(zhí)行。這在圖5中示為區(qū)域A。圖5的區(qū)域B 包括運(yùn)行時(shí)間中執(zhí)行的步驟408、410和412。在步驟408中,系統(tǒng)可檢驗(yàn)可用資源的數(shù)量。雖然系統(tǒng)具有N個資源,但在系統(tǒng)必須執(zhí)行計(jì)算工作的給定時(shí)間,并非全部N個資源可以是可用的。然后,在步驟410中,要用于計(jì)算工作的資源數(shù)量可選擇成(i)與最小能量消耗的資源數(shù)量相同(如果這個數(shù)量小于或等于可用資源的數(shù)量);或者(ii)是可用資源的數(shù)量(如果最小能量消耗的資源數(shù)量高于可用資源的數(shù)量)。一旦在步驟410中已經(jīng)選擇資源數(shù)量,則該方法前進(jìn)到步驟412, 其中頻率和/或電壓基于第二表30來確定,其在圖4中示出。如以上參照步驟406所討論的,步驟410還可包括為了及時(shí)計(jì)算該計(jì)算工作而中止能量消耗降低時(shí)的情況。
可結(jié)合在將計(jì)算工作映射到資源中并且可能推翻表觀和30中定義的設(shè)定的其它因素是溫度考慮因素、當(dāng)前設(shè)定、等待處理的計(jì)算工作的數(shù)量等等??煽紤]溫度以便努力避免使相同資源過熱,即,當(dāng)其它資源可用時(shí),相同資源不應(yīng)當(dāng)由大量計(jì)算連續(xù)使用。各資源的電壓供應(yīng)和/或時(shí)鐘頻率的當(dāng)前設(shè)定對調(diào)諧時(shí)間具有影響,并且因此可考慮這些設(shè)定以減小這個調(diào)諧時(shí)間。必須考慮在隊(duì)列中等待的計(jì)算工作的數(shù)量。因此,為了使這些計(jì)算工作的處理時(shí)間為最小,可使用預(yù)定義的工作數(shù)量閾值,在超過該閾值時(shí),系統(tǒng)配置成忽略能量消耗特征,并且使用最多數(shù)量的資源。另一個考慮因素是計(jì)算工作是否太小以至于因時(shí)鐘頻率或供應(yīng)電壓的調(diào)諧時(shí)間無法有效地受到功率控制。然后,可能必需將小工作合并成較大工作。關(guān)于需要單獨(dú)進(jìn)行的小工作的適當(dāng)大小的判定是系統(tǒng)相關(guān)的。按照另一個實(shí)施例,表30還可包含預(yù)先計(jì)算的歸一化能量系數(shù)(energy figure)。通過了解對于各調(diào)度情況的歸一化能量,對于各工作,有可能在工作正在資源上競爭的情況下進(jìn)行判定。用于計(jì)算工作的資源分配的組合則選擇成使能量系數(shù)之和為最小。例如,考慮兩個不同工作正在競爭資源,歸一化能量可用于判定對各工作分配多少資源。在這方面,假定表觀返回用于第一工作的N個資源和用于第二工作的M個資源,并且 M+N大于可用資源的數(shù)量。然后,歸一化能量可用于縮小N和/或M個資源,使得新的N和 M之和不大于可用資源的數(shù)量。按照一示范實(shí)施例,并行計(jì)算裝置可配置成實(shí)現(xiàn)低能量消息,而不必要實(shí)現(xiàn)最小能量消耗。在例如因時(shí)間約束而不可能實(shí)現(xiàn)最小能量消耗的情況下,系統(tǒng)可配置成選擇滿足時(shí)間約束但同時(shí)更接近用于實(shí)現(xiàn)最小能量消耗之資源數(shù)量的資源數(shù)量。按照一示范實(shí)施例,存在一種用于降低包括多個資源的并行計(jì)算系統(tǒng)中的能量消耗的方法,如圖6中所示。該方法包括步驟600,接收要由并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;步驟602,通過搜索并行計(jì)算系統(tǒng)中存儲的預(yù)設(shè)表來確定要用于執(zhí)行該計(jì)算工作的多個資源的資源數(shù)量,其中預(yù)設(shè)表在確定資源數(shù)量之前被填充;以及步驟604,將該計(jì)算工作分發(fā)到所確定數(shù)量的資源。圖5和圖6指示并行計(jì)算系統(tǒng)從使用第一數(shù)量資源用于第一計(jì)算工作的系統(tǒng)變換成使用第二數(shù)量的資源用于第二計(jì)算工作的系統(tǒng)。換言之,圖6所示步驟具有通過添加或去除用于執(zhí)行計(jì)算工作的物理資源來物理變換并行計(jì)算系統(tǒng)的效果。類似地,稍后進(jìn)行討論,例如存儲在計(jì)算機(jī)可讀媒體中的計(jì)算機(jī)可執(zhí)行指令在這些指令由系統(tǒng)運(yùn)行時(shí)如上所述變換并行計(jì)算系統(tǒng)。當(dāng)上述示范實(shí)施例在現(xiàn)實(shí)的并行計(jì)算裝置中實(shí)現(xiàn)時(shí),能量節(jié)省會是巨大的。在圖 2所示的示例中,與只有一個資源相比,有可能通過選擇最佳數(shù)量的資源使能量消耗降低 70%以上。示范實(shí)施例允許進(jìn)行這種選擇,而無需計(jì)算密集的能量計(jì)算。一個或多個示范實(shí)施例的一種有益效果在于,它們提供多資源架構(gòu)中無需執(zhí)行廣泛計(jì)算而快速選擇資源數(shù)量以及各資源的適當(dāng)設(shè)定的簡單快速方法。為了說明而不是限制的目的,能夠執(zhí)行按照示范實(shí)施例的操作的典型并行計(jì)算系統(tǒng)的一示例在圖7中示出。但是應(yīng)當(dāng)認(rèn)識到,提出的示范實(shí)施例的原理同樣可適用于標(biāo)準(zhǔn)計(jì)算系統(tǒng)。示范并行計(jì)算系統(tǒng)700可包括處理/控制單元702,例如微處理器、精簡指令集計(jì)算機(jī)(RISC)或者其它中央處理模塊。處理單元702無需是單個裝置,而是可包括一個或多個處理器。例如,處理單元702可包括主處理器以及經(jīng)過耦合以便與主處理器進(jìn)行通信的關(guān)聯(lián)從處理器。備選的是,處理單元702可具有如圖1所示的結(jié)構(gòu)。處理單元702可控制如存儲裝置/存儲器704中可用的程序所規(guī)定的系統(tǒng)的基本功能。因此,處理單元702可運(yùn)行圖5和圖6中所述的功能。更具體來說,存儲裝置/存儲器704可包括操作系統(tǒng)以及用于執(zhí)行并行計(jì)算系統(tǒng)上的功能和應(yīng)用的程序模塊。例如,程序存儲裝置可包括只讀存儲器(ROM)、閃速ROM、可編程和/或可擦除ROM、隨機(jī)存儲存儲器 (RAM)、訂戶接口模塊(SIM)、無線接口模塊(WIM)、智能卡或者其它可移動存儲器裝置等的一個或多個。程序模塊和關(guān)聯(lián)特征還可經(jīng)由數(shù)據(jù)信號傳遞給并行計(jì)算系統(tǒng)700,例如經(jīng)由例如因特網(wǎng)的網(wǎng)絡(luò)來電子下載??纱鎯υ诖鎯ρb置/存儲器704中的程序之一是特定程序706。如前面所述,特定程序706可與存儲器中存儲的表觀和30進(jìn)行交互,以便確定資源的適當(dāng)數(shù)量和/或各資源的頻率和電壓。程序706及關(guān)聯(lián)特征可通過經(jīng)由處理器702可操作的軟件和/或固件來實(shí)現(xiàn)。程序存儲裝置/存儲器704還可用于存儲例如表觀和30的數(shù)據(jù)708或者與提出的示范實(shí)施例關(guān)聯(lián)的其它數(shù)據(jù)。在一個示范實(shí)施例中,程序706和數(shù)據(jù)708存儲在非易失性電可擦可編程ROM (EEPROM)、閃速ROM等等中,使得信息在并行計(jì)算系統(tǒng)700斷電時(shí)不會丟失。處理器702還可耦合到與移動終端關(guān)聯(lián)的用戶接口 710元件。移動終端的用戶接口 710可包括例如顯示器712 (例如液晶顯示器)、小鍵盤714、揚(yáng)聲器716和擴(kuò)音器718。 這些和其它用戶接口組件耦合到處理器702,這是本領(lǐng)域已知的。小鍵盤714可包括用于執(zhí)行各種功能的字母數(shù)字鍵,包括撥號以及運(yùn)行指派給一個或多個鍵的操作。備選的是,可采用其它用戶接口機(jī)制,例如語音命令、開關(guān)、觸摸墊/屏、使用指點(diǎn)裝置的圖形用戶界面、軌跡球、操縱桿或者任何其它用戶接口機(jī)制。并行計(jì)算系統(tǒng)700還可包括數(shù)字信號處理器(DSP)720。DSP 720可執(zhí)行各種功能, 包括模數(shù)(A/D)轉(zhuǎn)換、數(shù)模(D/A)轉(zhuǎn)換、語音編碼/解碼、加密/解密、檢錯和糾錯、比特流轉(zhuǎn)換、濾波等等。一般耦合到天線724的收發(fā)器722可傳送和接收與無線裝置關(guān)聯(lián)的無線電信號。提供圖7的并行計(jì)算系統(tǒng)700作為其中可應(yīng)用提出的示范實(shí)施例的原理的計(jì)算環(huán)境的典型示例。從本文所提供的描述,本領(lǐng)域的技術(shù)人員將理解,本發(fā)明同樣可適用于各種其它當(dāng)前已知和將來的移動和固定計(jì)算環(huán)境。例如,特定應(yīng)用706及關(guān)聯(lián)特征和數(shù)據(jù)708 可按照各種方式來存儲,可在各種處理裝置上是可操作的,并且可在具有附加、更少或不同支持電路和用戶接口機(jī)制的移動裝置中是可操作的。要注意,提出的示范實(shí)施例的原理同樣可適用于非移動終端、即陸地線路計(jì)算系統(tǒng)。所公開的示范實(shí)施例提供用于確定要用于計(jì)算工作以使能量消耗為最小的資源數(shù)量的并行計(jì)算系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。應(yīng)當(dāng)理解,本描述并不是旨在限制本發(fā)明。 相反,示范實(shí)施例旨在涵蓋包含在所附權(quán)利要求所定義的本發(fā)明的精神和范圍之內(nèi)的備選、修改和等同。此外,在示范實(shí)施例的詳細(xì)描述中,提出大量具體細(xì)節(jié),以便提供對要求保護(hù)的本發(fā)明的綜合理解。但是,本領(lǐng)域的技術(shù)人員將理解,即使沒有這類具體細(xì)節(jié)也可實(shí)踐各個實(shí)施例。本領(lǐng)域的技術(shù)人員將理解,示范實(shí)施例可在無線通信裝置、電信網(wǎng)絡(luò)中實(shí)施,或者實(shí)施為計(jì)算機(jī)程序產(chǎn)品中的方法。相應(yīng)地,示范實(shí)施例可采取完全硬件實(shí)施例或者組合硬件和軟件方面的實(shí)施例的形式。此外,示范實(shí)施例可采取計(jì)算機(jī)可讀存儲媒體上存儲的計(jì)算機(jī)程序產(chǎn)品的形式,所述媒體中包含有計(jì)算機(jī)可讀指令。可利用任何適當(dāng)?shù)挠?jì)算機(jī)可讀媒體,包括硬盤、CD-ROM、數(shù)字多功能盤(DVD)、光存儲裝置或者磁存儲裝置,例如軟盤或磁帶。計(jì)算機(jī)可讀媒體的其它非限制性示例包括閃速類型存儲器或者其它已知存儲器。
雖然在具體組合中的實(shí)施例中描述提出的示范實(shí)施例的特征和要素,但是各特征或要素能夠單獨(dú)使用而無需實(shí)施例的其它特征和要素,或者在具有或沒有本文所公開的其它特征和要素的各種組合中使用。本申請中提供的方法或流程圖可在計(jì)算機(jī)可讀存儲媒體中有形包含的供專門編程的計(jì)算機(jī)或處理器執(zhí)行的計(jì)算機(jī)程序、軟件或固件中實(shí)現(xiàn)。
權(quán)利要求
1.一種用于降低包括多個資源的并行計(jì)算系統(tǒng)中的能量消耗的方法,所述方法包括 接收要由所述并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;通過搜索所述并行計(jì)算系統(tǒng)中存儲的預(yù)設(shè)表來確定要用于執(zhí)行所述計(jì)算工作的所述多個資源的資源的數(shù)量,其中所述預(yù)設(shè)表在確定資源的所述數(shù)量之前被填充;以及將所述計(jì)算工作分發(fā)到所確定的數(shù)量的資源。
2.如權(quán)利要求1所述的方法,還包括搜索所述并行計(jì)算系統(tǒng)中存儲的所述預(yù)設(shè)表,以用于確定要用于執(zhí)行所述計(jì)算工作的各資源的頻率;以及基于所述預(yù)設(shè)表來設(shè)置所述數(shù)量的資源的各資源的頻率。
3.如權(quán)利要求1所述的方法,其中,所述確定步驟包括選擇在運(yùn)行所述計(jì)算工作時(shí)使所述能量消耗最小的數(shù)量作為資源的所述數(shù)量。
4.如權(quán)利要求1所述的方法,還包括確定在要求的時(shí)間期間對于執(zhí)行所述計(jì)算工作所必需的資源的最小數(shù)量。
5.如權(quán)利要求4所述的方法,還包括當(dāng)資源的所確定的數(shù)量大于現(xiàn)有資源的數(shù)量時(shí),將資源的所述數(shù)量設(shè)置為小于或等于現(xiàn)有資源的所述數(shù)量。
6.如權(quán)利要求1所述的方法,還包括搜索所述并行計(jì)算系統(tǒng)中存儲的所述預(yù)設(shè)表,以用于確定要用于執(zhí)行所述計(jì)算工作的各資源的電壓;以及基于所述預(yù)設(shè)表來設(shè)置所述數(shù)量的資源的各資源的電壓。
7.如權(quán)利要求1所述的方法,還包括將所述計(jì)算工作分為在所述數(shù)量的資源的每個上單獨(dú)計(jì)算的部分。
8.如權(quán)利要求4所述的方法,還包括當(dāng)基于所述預(yù)設(shè)表的資源的所確定的數(shù)量小于資源的所述最小數(shù)量時(shí),將執(zhí)行所述計(jì)算工作的資源的數(shù)量設(shè)置為等于資源的所述最小數(shù)量。
9.如權(quán)利要求1所述的方法,還包括通過僅將所確定的數(shù)量的資源用于執(zhí)行所述計(jì)算工作來使所述能量消耗最小。
10.一種用于在運(yùn)行計(jì)算工作時(shí)降低能量消耗的并行計(jì)算系統(tǒng),所述并行計(jì)算系統(tǒng)包括輸入,配置成接收要由所述并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作; 調(diào)度器,連接到所述輸入,并且配置成通過搜索預(yù)設(shè)表來確定要用于執(zhí)行所述計(jì)算工作的多個資源的資源的數(shù)量,其中所述預(yù)設(shè)表在確定資源的所述數(shù)量之前被填充;以及所述多個資源,連接到所述調(diào)度器,并且配置成運(yùn)行所確定的計(jì)算工作。
11.如權(quán)利要求10所述的系統(tǒng),其中,所述調(diào)度器配置成搜索所述預(yù)設(shè)表以用于確定要用于執(zhí)行所述計(jì)算工作的各資源的頻率,并且基于所述預(yù)設(shè)表來設(shè)置所述數(shù)量的資源的各資源的頻率。
12.如權(quán)利要求10所述的系統(tǒng),其中,所述調(diào)度器還配置成選擇在運(yùn)行所述計(jì)算工作時(shí)使所述能量消耗最小的數(shù)量作為資源的所述數(shù)量。
13.如權(quán)利要求10所述的系統(tǒng),其中,所述調(diào)度器還配置成確定在要求的時(shí)間期間對于執(zhí)行所述計(jì)算工作所必需的資源的最小數(shù)量。
14.如權(quán)利要求13所述的系統(tǒng),其中,所述調(diào)度器還配置成在資源的所確定的數(shù)量大于現(xiàn)有資源的數(shù)量時(shí)將資源的所述數(shù)量選擇為小于或等于現(xiàn)有資源的所述數(shù)量。
15.如權(quán)利要求10所述的系統(tǒng),其中,所述調(diào)度器還配置成搜索所述并行計(jì)算系統(tǒng)中存儲的所述預(yù)設(shè)表以用于確定要用于執(zhí)行所述計(jì)算工作的各資源的電壓,并且基于所述預(yù)設(shè)表來設(shè)置所述數(shù)量的資源的各資源的電壓。
16.如權(quán)利要求10所述的系統(tǒng),其中,所述調(diào)度器還配置成將所述計(jì)算工作分為在所述數(shù)量的資源的每個上單獨(dú)計(jì)算的部分。
17.如權(quán)利要求13所述的系統(tǒng),其中,所述調(diào)度器還配置成在基于所述預(yù)設(shè)表的資源的所確定的數(shù)量小于資源的所述最小數(shù)量時(shí)將執(zhí)行所述計(jì)算工作的資源的數(shù)量設(shè)置為等于資源的所述最小數(shù)量。
18.如權(quán)利要求13所述的系統(tǒng),其中,所述調(diào)度器還配置成通過僅將所確定的數(shù)量的資源用于執(zhí)行所述計(jì)算工作來使所述能量消耗最小。
19.如權(quán)利要求10所述的系統(tǒng),包括存儲器,連接到所述調(diào)度器,并且配置成存儲所述預(yù)設(shè)表。
20.如權(quán)利要求19所述的系統(tǒng),其中,所述預(yù)設(shè)表包括第一和第二表,所述第一表包括計(jì)算工作對資源的所述數(shù)量的相關(guān)性,并且所述第二表包括資源的所述數(shù)量對各資源的頻率和/或電壓的相關(guān)性。
21.一種用于存儲計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒體,其中所述指令在由并行計(jì)算系統(tǒng)運(yùn)行時(shí)使所述系統(tǒng)從使用第一數(shù)量的資源的系統(tǒng)變換到使用第二數(shù)量的資源的系統(tǒng), 以降低包括多個資源的所述并行計(jì)算系統(tǒng)中的能量消耗,所述指令包括接收要由所述并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;通過搜索所述并行計(jì)算系統(tǒng)中存儲的預(yù)設(shè)表來確定要用于執(zhí)行所述計(jì)算工作的所述多個資源的資源的數(shù)量,其中所述預(yù)設(shè)表在確定資源的所述數(shù)量之前被填充;以及將所述計(jì)算工作分發(fā)到所確定的數(shù)量的資源。
22.如權(quán)利要求21所述的媒體,還包括搜索所述并行計(jì)算系統(tǒng)中存儲的所述預(yù)設(shè)表,以用于確定要用于執(zhí)行所述計(jì)算工作的各資源的頻率;以及基于所述預(yù)設(shè)表來設(shè)置所述數(shù)量的資源的各資源的頻率。
23.如權(quán)利要求21所述的媒體,其中,所述確定步驟包括選擇在運(yùn)行所述計(jì)算工作時(shí)使所述能量消耗最小的數(shù)量作為資源的所述數(shù)量。
24.如權(quán)利要求21所述的媒體,還包括確定在要求的時(shí)間期間對于執(zhí)行所述計(jì)算工作必所需的資源的最小數(shù)量。
25.如權(quán)利要求M所述的媒體,還包括當(dāng)資源的所確定的數(shù)量大于現(xiàn)有資源的數(shù)量時(shí),將資源的所述數(shù)量選擇為小于或等于現(xiàn)有資源的所述數(shù)量。
26.如權(quán)利要求21所述的媒體,還包括搜索所述并行計(jì)算系統(tǒng)中存儲的所述預(yù)設(shè)表,以用于確定要用于執(zhí)行所述計(jì)算工作的各資源的電壓;以及基于所述預(yù)設(shè)表來設(shè)置所述數(shù)量的資源的各資源的電壓。
27.如權(quán)利要求21所述的媒體,還包括將所述計(jì)算工作分為在所述數(shù)量的資源的每個上單獨(dú)計(jì)算的部分。
28.如權(quán)利要求M所述的媒體,還包括當(dāng)基于所述預(yù)設(shè)表的資源的所確定的數(shù)量小于資源的所述最小數(shù)量時(shí),將執(zhí)行所述計(jì)算工作的資源的數(shù)量設(shè)置為等于資源的所述最小數(shù)量。
29.如權(quán)利要求21所述的媒體,還包括通過僅將所確定的數(shù)量的資源用于執(zhí)行所述計(jì)算工作來使所述能量消耗最小。
30.一種用于在運(yùn)行計(jì)算工作時(shí)降低能量消耗的并行計(jì)算系統(tǒng),所述并行計(jì)算系統(tǒng)包括用于接收要由所述并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作的部件;調(diào)度部件,用于通過搜索預(yù)設(shè)表來確定要用于執(zhí)行所述計(jì)算工作的多個資源的資源的數(shù)量,其中所述預(yù)設(shè)表在確定資源的所述數(shù)量之前被填充;以及所述多個資源,配置成運(yùn)行所確定的計(jì)算工作。
全文摘要
用于降低包括多個資源的并行計(jì)算系統(tǒng)中的能量消耗的系統(tǒng)、計(jì)算機(jī)可讀媒體和方法。該方法包括接收要由并行計(jì)算系統(tǒng)所執(zhí)行的計(jì)算工作;通過搜索并行計(jì)算系統(tǒng)中存儲的預(yù)設(shè)表來確定要用于執(zhí)行該計(jì)算工作的所述多個資源的資源的數(shù)量,其中預(yù)設(shè)表在確定資源的數(shù)量之前被填充;以及將該計(jì)算工作分發(fā)到所確定數(shù)量的資源。
文檔編號G06F9/50GK102239473SQ200980148984
公開日2011年11月9日 申請日期2009年12月1日 優(yōu)先權(quán)日2008年12月3日
發(fā)明者C·斯圖爾克, E·阿德勒斯, T·奧爾森 申請人:愛立信電話股份有限公司