專利名稱:用于調(diào)整冷卻設(shè)置的方法和數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及處理器冷卻管理,更具體來說,涉及在處理器溫度變化之前基于 一組指令所需的能量來調(diào)整處理器冷卻設(shè)置。
背景技術(shù):
在同一個底盤中提供多個處理器并通過相同的冷卻系統(tǒng)進(jìn)行冷卻,增加了熱能和 成本效率。然而,合并的冷卻的某些得益會部分地被不匹配的冷卻的低效率所抵消。換句話 說,一個處理器可能由于其工作負(fù)荷需要高強度的冷卻,而其他模塊卻需要低強度的冷卻。提高冷卻的效率一種方式是在全部處理器之間統(tǒng)一地使用冷卻。每一個處理器都 具有均勻的溫度。提高效率也可以通過將帶有最高的熱輻射的任務(wù)分配到其溫度最低的處 理器。
發(fā)明內(nèi)容
說明性實施例提供了用于調(diào)整冷卻設(shè)置的計算機實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng),以 及計算機程序產(chǎn)品。計算機實現(xiàn)的方法包括分析應(yīng)用程序的指令集,以確定指令集將使至 少一個處理器核的溫度上升的度數(shù)。計算機實現(xiàn)的方法進(jìn)一步計算所述至少一個處理器核 的至少一個冷卻系統(tǒng)的冷卻設(shè)置。計算機實現(xiàn)的方法基于所述冷卻設(shè)置調(diào)整所述至少一個 冷卻系統(tǒng)。分析所述指令集的步驟是在所述指令集在所述至少一個處理器核上執(zhí)行之前執(zhí) 行的。調(diào)整所述至少一個冷卻系統(tǒng)的步驟是在所述指令集在所述至少一個處理器核上執(zhí)行 之前執(zhí)行的。
圖1是根據(jù)說明性實施例所描述的數(shù)據(jù)處理系統(tǒng)的圖;圖2是根據(jù)說明性實施例的冷卻管理系統(tǒng)的組件的方框圖;圖3是使用根據(jù)說明性實施例的冷卻管理系統(tǒng)的過程的流程圖;圖4是使用根據(jù)說明性實施例的冷卻管理系統(tǒng)的過程的流程圖;以及圖5是使用根據(jù)說明性實施例的冷卻管理系統(tǒng)的過程的流程圖。
具體實施例方式如本領(lǐng)域技術(shù)人員所了解的,本發(fā)明可以作為系統(tǒng)、方法或計算機程序產(chǎn)品來實 現(xiàn)。相應(yīng)地,本發(fā)明可以采用完全是硬件實施例、完全是軟件實施例(包括固件、常駐軟件, 微代碼等等)或可以一般性地全部被稱為“電路”、“模塊”或“系統(tǒng)”的組合了軟件和硬件 方面的實施例的形式。此外,本發(fā)明還可以采用在任何有形的介質(zhì)中實現(xiàn)的計算機程序產(chǎn) 品的形式,在介質(zhì)上有計算機可使用的程序代碼。可以使用一個或多個計算機可使用的或計算機可讀取的介質(zhì)的任何組合。計算機 可使用的或計算機可讀取的介質(zhì)可以是,例如,但不僅限于,電子、磁性、光學(xué)、電磁、紅外線或半導(dǎo)體系統(tǒng)、設(shè)備或傳播介質(zhì)。計算機可讀取的介質(zhì)的更具體的示例(不完全)包括下列各項具有一個或多個線路的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只 讀存儲器(ROM)、可擦與可編程只讀存儲器(EPR0M或快擦寫存儲器)、光纖、便攜式壓縮光 盤只讀存儲器(⑶ROM)、光存儲器設(shè)備、諸如那些支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì),或磁存 儲設(shè)備。注意,計算機可使用的或計算機可讀取的介質(zhì)甚至可以是紙張或在其上打印了程 序的另一種合適的介質(zhì),由于程序可以通過,例如,對紙張或其他介質(zhì)進(jìn)行光學(xué)掃描,以電 子方式捕獲,然后,匯編、解釋,或以別的合適的方式進(jìn)行處理,如有必要,然后,存儲在計算 機存儲器中。在此文檔的上下文中,計算機可使用的或計算機可讀取的介質(zhì)可以是可以包 含、存儲、傳遞、傳播或傳輸供指令執(zhí)行系統(tǒng)、設(shè)備使用或與它們一起使用的程序的任何介 質(zhì)。計算機可使用的介質(zhì)可以包括其中帶有計算機可使用的程序代碼的傳播的數(shù)據(jù)信號, 無論是在基帶中,還是作為載波的一部分。計算機可使用的程序代碼可以使用任何合適的 介質(zhì)進(jìn)行傳輸,包括,但不僅限于,無線、有線線路、光纜、RF等等。用于執(zhí)行本發(fā)明的操作的計算機程序代碼可以以一種或多種編程語言的任何組 合來進(jìn)行編寫,包括諸如Java、Smalltalk, C++等等之類的面向?qū)ο缶幊陶Z言,以及諸如 “C”編程語言或類似的編程語言之類的常規(guī)過程編程語言。程序代碼可以作為獨立軟件包 完全在用戶的計算機上,部分地在用戶的計算機上執(zhí)行,部分地在用戶的計算機上并且部 分地在遠(yuǎn)程計算機上執(zhí)行,或者完全在遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在后一種情況下,遠(yuǎn)程 計算機可以通過任何網(wǎng)絡(luò)類型連接到用戶的計算機,包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),或 者可以連接到外部計算機(例如,使用因特網(wǎng)服務(wù)提供商,通過因特網(wǎng))。下面將參考根據(jù)本發(fā)明的實施例的方法、設(shè)備(系統(tǒng))和計算機程序產(chǎn)品的流程 圖和/或方框圖來描述本發(fā)明??梢岳斫?,流程圖和/或方框圖的每一方框,流程圖和/或 方框圖中的方框的組合,都可以通過計算機程序指令來實現(xiàn)。這些計算機程序指令可以被提供到通用計算機、專用計算機的處理器,或其他可 編程數(shù)據(jù)處理設(shè)備,以產(chǎn)生機器,以便通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí) 行的指令產(chǎn)生用于實現(xiàn)在該流程圖和/或方框圖方框或方框所指定的功能的裝置。這些計 算機程序指令還可以存儲在計算機可讀的介質(zhì)中,該介質(zhì)可以指示計算機或其他可編程數(shù) 據(jù)處理設(shè)備以特定方式運轉(zhuǎn),以便存儲在計算機可讀的介質(zhì)中的指令產(chǎn)生一種包括了指令 裝置的產(chǎn)品,該指令裝置實現(xiàn)了在該流程圖和/或方框圖方框所指定的功能。計算機程序指令也可以加載到計算機或其他可編程數(shù)據(jù)處理設(shè)備中,以使一系列 操作步驟在計算機上或其他可編程設(shè)備上執(zhí)行,以產(chǎn)生計算機實現(xiàn)的進(jìn)程,以便在計算機 或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖和/或方框圖方框所指定的功能 的過程?,F(xiàn)在請參看圖1,根據(jù)說明性實施例描述了數(shù)據(jù)處理系統(tǒng)的圖。在此說明性示例 中,數(shù)據(jù)處理系統(tǒng)100包括在處理器單元104、存儲器106、永久性存儲器108、通信單元 110、輸入/輸出(I/O)單元112,以及顯示器114之間提供通信的通信結(jié)構(gòu)102。如這里所 使用的,術(shù)語“處理器”可用來與“處理器核”和“處理器單元”可互換地使用。處理器單元104用于執(zhí)行可以加載到存儲器106中的軟件的指令,處理器單元104 可以是一組一個或多個處理器,也可以是多處理器核,取決于特定的實現(xiàn)方式。此外,處理 器單元104可以通過使用一個或多個異構(gòu)型處理器系統(tǒng)來實現(xiàn),其中在單一芯片上為主處理器提供了輔助處理器。作為另一個說明性示例,處理器單元104可以是包含相同類型的 多個處理器的對稱的多處理器系統(tǒng)。在本發(fā)明的說明性實施例中,處理器單元104可以通過諸如冷卻系統(tǒng)210之類的 冷卻系統(tǒng)來進(jìn)行冷卻,如圖2所示。提供到處理器單元104的冷卻方式和冷卻的量可以由 將由處理器單元104執(zhí)行的一組指令將需要的能量的量來確定。存儲器106和永久性存儲器108是存儲設(shè)備的示例。存儲設(shè)備是能夠存儲諸如, 例如,但不僅限于,功能形式的數(shù)據(jù),程序代碼之類的信息,和/或臨時地和/或永久性地存 儲其他適當(dāng)?shù)男畔⒌娜魏斡布?。在這些示例中,存儲器106可以是,例如,隨機存取存 儲器或任何其他適當(dāng)?shù)囊资曰蚍且资源鎯ζ髟O(shè)備。取決于特定實現(xiàn)方式,永久性存儲 器108可以采用各種形式。例如,永久性存儲器108可以包含一個或多個組件或設(shè)備。例 如,永久性存儲器108可以是硬盤驅(qū)動器、閃存、可重寫光盤、可重寫磁帶,或上面各項的一 些組合。由永久性存儲器108所使用的介質(zhì)也可以是可移動的。例如,可移動硬盤驅(qū)動器 可以用于永久性存儲器108。在這些示例中,通信單元110提供了與其他數(shù)據(jù)處理系統(tǒng)或設(shè)備的通信。在這些 示例中,通信單元110是網(wǎng)絡(luò)接口卡。通信單元110可以通過使用物理和無線通信鏈路中 的任何一種或兩者一起來提供通信。輸入/輸出單元112允許利用可以連接到數(shù)據(jù)處理系統(tǒng)100的其他設(shè)備輸入和輸 出數(shù)據(jù)。例如,輸入/輸出單元112可以為通過鍵盤、鼠標(biāo)和/或某種其他適當(dāng)?shù)妮斎朐O(shè)備 進(jìn)行用戶輸入來提供連接。此外,輸入/輸出單元112還可以向打印機發(fā)送輸出。顯示器 114提供向用戶顯示信息的機制。操作系統(tǒng)、應(yīng)用程序和/或程序的指令可以位于存儲設(shè)備120上,存儲設(shè)備120通 過通信結(jié)構(gòu)102與處理器單元104進(jìn)行通信。在這些說明性示例中,指令在永久性存儲器 108上是功能形式。這些指令可以加載到存儲器106中,供處理器單元104執(zhí)行。不同的實 施例的過程可以由處理器單元104使用計算機實現(xiàn)的指令來執(zhí)行,指令可以位于諸如存儲 器106之類的存儲器中。這些指令被稱為程序代碼、計算機可使用的程序代碼或計算機可讀取的程序代 碼,可以由處理器單元104中的處理器讀取和執(zhí)行。不同的實施例中的程序代碼可以在諸 如存儲器106或永久性存儲器108之類的不同的物理的或有形的計算機可讀取的介質(zhì)上實 現(xiàn)。程序代碼116以功能形式位于計算機可讀取的介質(zhì)118上,計算機可讀取的介質(zhì) 118有選擇地可移動,并可以加載到或傳輸?shù)綌?shù)據(jù)處理系統(tǒng)100,供處理器單元104執(zhí)行。在 這些示例中,程序代碼116和計算機可讀取的介質(zhì)118構(gòu)成了計算機程序產(chǎn)品120。在一個 示例中,計算機可讀取的介質(zhì)118可以是有形的形式,諸如,例如,插入或放入驅(qū)動器或作 為永久性存儲器108的一部分的其他設(shè)備的光盤或磁盤,用于傳輸?shù)街T如作為永久性存儲 器108的一部分的硬盤驅(qū)動器之類的存儲設(shè)備上。在有形的形式下,計算機可讀取的介質(zhì) 118也可以采用永久性存儲器的形式,如連接到數(shù)據(jù)處理系統(tǒng)100的硬盤驅(qū)動器、拇指驅(qū)動 器或閃存。計算機可讀取的介質(zhì)118的有形的形式也被稱為計算機可記錄的存儲介質(zhì)。在 某些情況下,計算機可讀取的介質(zhì)118可以不是可移動的?;蛘?,程序代碼116可以通過與通信單元110的通信鏈路和/或通過與輸入/輸出單元112的連接,從計算機可讀取的介質(zhì)118傳輸?shù)綌?shù)據(jù)處理系統(tǒng)100。在說明性示例中,通信鏈路和/或連接可以是物理的或無線的。計算機可讀取的介質(zhì)還可以采用非有形 的介質(zhì)的形式,如包含程序代碼的通信鏈路或無線傳輸。在一些說明性實施例中,可以通過網(wǎng)絡(luò)從另一個設(shè)備或數(shù)據(jù)處理系統(tǒng)將程序代碼 116下載到永久性存儲器108,供在數(shù)據(jù)處理系統(tǒng)100內(nèi)使用。例如,可以通過網(wǎng)絡(luò)將存儲 在服務(wù)器數(shù)據(jù)處理系統(tǒng)中的計算機可讀取的存儲介質(zhì)中的程序代碼從服務(wù)器下載到數(shù)據(jù) 處理系統(tǒng)100。提供程序代碼116的數(shù)據(jù)處理系統(tǒng)可以是服務(wù)器計算機、客戶端計算機,或 能夠存儲和傳輸程序代碼116的某種其他設(shè)備。為數(shù)據(jù)處理系統(tǒng)100所說明的不同的組件不意味著對可以實現(xiàn)不同的實施例的 方式提供體系結(jié)構(gòu)限制。不同的說明性實施例可以在包括除為數(shù)據(jù)處理系統(tǒng)100所顯示的 那些組件之外的組件或代替那些組件的數(shù)據(jù)處理系統(tǒng)中實現(xiàn)。如圖1所示的其他組件可以 不同于所顯示的說明性示例??梢允褂媚軌驁?zhí)行程序代碼的任何硬件設(shè)備或系統(tǒng)來實現(xiàn)不 同的實施例。作為一個示例,數(shù)據(jù)處理系統(tǒng)可以包括與無機組件集成的有機組件和/或可 以完全由人之外的有機組件構(gòu)成。例如,存儲設(shè)備可以由有機半導(dǎo)體構(gòu)成。作為另一個示例,數(shù)據(jù)處理系統(tǒng)100中的存儲設(shè)備是可以存儲數(shù)據(jù)的任何硬件設(shè) 備。存儲器106、永久性存儲器108和計算機可讀取的介質(zhì)120是有形的形式的存儲設(shè)備的 示例。在另一個示例中,可以使用總線系統(tǒng)來實現(xiàn)通信結(jié)構(gòu)102,總線系統(tǒng)可以由諸如系 統(tǒng)總線或輸入/輸出總線之類的一個或多個總線構(gòu)成。當(dāng)然,總線系統(tǒng)可以使用任何適當(dāng) 的種類的體系結(jié)構(gòu)來實現(xiàn),用于在連接到總線系統(tǒng)的不同組件或設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。 另外,通信單元可以包括諸如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器之類的用來傳輸與接收數(shù)據(jù)的一個 或多個設(shè)備。此外,存儲器可以是,例如,存儲器106或高速緩存,如在可以存在于通信結(jié)構(gòu) 102中的接口和存儲器控制器集線器中的那些。請參看圖2,顯示了根據(jù)說明性實施例的冷卻管理系統(tǒng)200的組件的方框圖。冷 卻管理系統(tǒng)200依賴于圖1的數(shù)據(jù)處理系統(tǒng)100的組件,但是,在操作中,不會對這些組件 進(jìn)行尋址。在此說明性實施例中,冷卻管理系統(tǒng)200的組件包括應(yīng)用程序202、冷卻管理程 序204、儲存庫206、操作系統(tǒng)208,以及數(shù)據(jù)處理系統(tǒng)226。數(shù)據(jù)處理系統(tǒng)226進(jìn)一步包括 冷卻系統(tǒng)210和處理器212-218。取決于特定實現(xiàn)方式,每一個處理器212、214、216和218 可以是一組一個或多個處理器,或者,也可以是多處理器核。此外,每一個處理器212、214、 216和218可以通過使用一個或多個異構(gòu)型處理器系統(tǒng)來實現(xiàn),其中在單一芯片上為主處 理器提供了輔助處理器。作為另一個說明性示例,每一個處理器212、214、216,以及218可 以是包含相同類型的多個處理器的對稱的多處理器系統(tǒng)。冷卻系統(tǒng)210進(jìn)一步包括液體冷卻220、空氣冷卻222、熱電冷卻224中的至少一 種,和/或某種其他適當(dāng)?shù)睦鋮s設(shè)備。如這里所使用的短語“至少一個”,當(dāng)與項目列表一起 使用時,意味著,可以使用列出的項目中的一個或多個的不同的組合,可能只需要列表中的 每一個項目中的一個。例如,“項目A、項目B,以及項目C中的至少一個”可以包括,例如,但 不僅限于,項目A或項目A和項目B。此示例還可以包括項目A、項目B,以及項目C。此示 例還可以只包括項目B和項目C。應(yīng)用程序202可以是在計算機系統(tǒng)上運行的任何應(yīng)用程序類型。應(yīng)用程序202是程序代碼的形式,是可以由諸如處理器單元104和/或處理器212-218之類的處理器單元 執(zhí)行的功能形式。應(yīng)用程序202可以包含源代碼或可執(zhí)行的機器代碼。通常,在應(yīng)用程序 202的正常的操作過程中,應(yīng)用程序202與操作系統(tǒng)208進(jìn)行通信。例如,應(yīng)用程序202可 以通過應(yīng)用程序編程接口(API)與操作系統(tǒng)208進(jìn)行通信。在此說明性實施例中,冷卻管理程序204可以識別接下來要執(zhí)行的指令集,如指 令集228。指令集228可以包括循環(huán)或任何其他指令集,小到單個指令,大到整個應(yīng)用程序。 如這里參考項目所使用的集是指一個或多個項目。例如,指令集228可以是一個或多個指 令。冷卻管理程序204可以分析指令集228,以確定指令集228將使至少一個處理器核的溫 度上升的度數(shù)。冷卻管理程序204可以從儲存庫206中檢索有關(guān)指令集228的信息。例如,如果 指令集228正在執(zhí)行某一計算,則儲存庫可以包含有關(guān)當(dāng)執(zhí)行時計算將消耗多少能量的信 息。冷卻管理程序204確定指令集228將消耗的能量的量,并將此與處理器的熱慣性組合 起來,以確定處理器的變化量和/或變化速率。儲存庫206可以是任何形式的存儲器,諸如 如圖1所示的永久性存儲器108。此外,儲存庫206可以包括在同一個設(shè)備、計算機或諸如 冷卻管理程序204之類的冷卻管理系統(tǒng)上,但是,也可以位于遠(yuǎn)程位置和/或服務(wù)器上。冷卻管理程序204在約束方程中使用來自處理器的信息和儲存庫中的信息來確 定數(shù)據(jù)處理系統(tǒng)226的更新的冷卻設(shè)置。冷卻管理程序204也可以確定使用哪一個冷卻系 統(tǒng)或以什么組合來使用冷卻系統(tǒng)。冷卻管理程序204將更新的冷卻設(shè)置230發(fā)送到操作系 統(tǒng)208。操作系統(tǒng)208可以根據(jù)從冷卻管理程序204接收到的更新的冷卻設(shè)置232,改變冷 卻系統(tǒng)210的冷卻設(shè)置230。消耗的能量將導(dǎo)致諸如處理器212-218之類的處理器溫度升高。由此說明性實施 例所提供的特征是,在溫度實際變化之前,處理器212、214、216以及218的溫度的未來變化 是已知的。這有助于延長處理器的壽命。另外,由于在變化發(fā)生之前溫度變化是已知的,因 此,操作系統(tǒng)208能夠更有效地調(diào)整至少一個冷卻系統(tǒng)的冷卻設(shè)置230??梢曰诩s束方程來調(diào)整冷卻設(shè)置230,以提高冷卻系統(tǒng)210的效率。約束方程可 以具有許多約束,如處理器的最高溫度,或必須保持的溫度的范圍。所需的溫度配置文件表 示處理器單元中的每一個處理器的冷卻設(shè)置230。溫度配置文件是每一個冷卻系統(tǒng)和處理 器單元中的每一個處理器的共同的設(shè)置。約束方程基于能量成本和/或貨幣成本的最小化,最大化了效率。例如,可以判斷 處理器212將接收到需要高能量的量的指令塊。在此示例中,冷卻管理程序204基于約束 方程,確定處理器212上的冷卻需要開到最大冷卻,而處理器212、214、216以及218上的冷 卻可以降低到最小冷卻。在指令集228到達(dá)處理器212之前,增加冷卻。一些指令集比其 他指令集需要更多的能量??梢栽趦Υ鎺熘胁檎抑噶罴?28需要的能量的量。另外,如果指令集228是等待循環(huán),則冷卻管理程序204可以判斷,由于沒有指令 集228,在至少一個處理器212,214,216或218上降低冷卻。循環(huán)也可以包含增量式計數(shù) 器,允許冷卻管理程序204確定循環(huán)的整個迭代集的能量成本。冷卻管理程序204可以考 慮應(yīng)用程序202取得分支指令的次數(shù)的數(shù)量和/或比率。應(yīng)用程序202執(zhí)行分支指令的次 數(shù)的數(shù)量和/或比率可以被用來計算冷卻設(shè)置。例如,如果分支指令A(yù)被執(zhí)行了 99%的時 間,則由于分支指令A(yù)被執(zhí)行的概率比較高,冷卻管理程序204可以在執(zhí)行分支指令A(yù)之前調(diào)整冷卻設(shè)置,以考慮分支指令A(yù)的能量需求。冷卻管理程序202也可以使用應(yīng)用程序202 的一部分上的編譯器線索來判斷指令集228是否在多個處理器上并行運行。例如,編譯器 線索可以指出一個循環(huán)和/或指令集228包含過程調(diào)用。如果循環(huán)包含過程調(diào)用,那么,可 能不并行運行,因為并行循環(huán)將干擾該函數(shù)本地的任何變量?;蛘撸绻h(huán)可以并行運 行,則在更新冷卻設(shè)置時,冷卻管理程序204將考慮并行/多線程處理。儲存庫中可以預(yù)先加載信息,或被動態(tài)地更新。例如,每當(dāng)執(zhí)行新的指令集時,可 以更新儲存庫。信息可以從新指令集使處理器的溫度上升了多少來獲取。指令集228需要 的能量可以以英國熱單位(BTU)表示。另外,儲存庫可以包含每一個處理器212、214、216 以及218的熱慣性。熱慣性被冷卻管理程序204用來確定每一個處理器212、214、216以及 218的溫度的變化量和變化速率。圖2中的冷卻管理系統(tǒng)200的說明并不暗示對可以實現(xiàn)不同的優(yōu)選實施例的方式 施加物理的或體系結(jié)構(gòu)限制。還可以使用除所顯示的那些組件之外的其他組件作為其補 充,和/或代替這些組件。在一些優(yōu)選實施例中,一些組件可能不需要。此外,還呈現(xiàn)了方 框,用于顯示一些功能組件。當(dāng)在不同的優(yōu)選實施例中實現(xiàn)時,這些方框中的一個或多個可 以組合起來,和/或分成不同的方框。例如,冷卻管理程序204可以應(yīng)用于一個以上的應(yīng)用 程序。此外,冷卻管理程序204還可以直接改變冷卻系統(tǒng)210中的冷卻設(shè)置。另外,冷卻系 統(tǒng)204還可以作為數(shù)據(jù)處理系統(tǒng)226、處理器212-218,和/或冷卻系統(tǒng)210中的微代碼來 實現(xiàn)。請參看圖3,顯示了根據(jù)說明性實施例的使用圖2的冷卻管理系統(tǒng)200的過程的流 程圖。過程可以通過圖2的冷卻管理程序204來實現(xiàn)。過程開始,分析應(yīng)用程序的指令集,以確定指令集將使至少一個處理器的溫度上 升的度數(shù)(步驟302)。在指令集在處理器上執(zhí)行之前,分析指令集。對至少一個處理器的 至少一個冷卻系統(tǒng),進(jìn)行冷卻設(shè)置的計算(步驟304)。冷卻設(shè)置的計算可以基于約束方程 來進(jìn)行。約束方程可以使用每一個處理器的溫度、能量成本,貨幣成本,每一個處理器的熱 慣性,和/或與處理器相關(guān)的任何其他特征。然后,基于冷卻設(shè)置,對至少一個冷卻系統(tǒng)進(jìn) 行調(diào)整(步驟306)。對冷卻系統(tǒng)的調(diào)整包括關(guān)閉、打開至少一個冷卻系統(tǒng),提高和/或降低 至少一個冷卻系統(tǒng)的強度,或這些操作的任何組合。然后,過程結(jié)束。請參看圖4,顯示了根據(jù)說明性實施例的使用圖2的冷卻管理系統(tǒng)200的過程的流 程圖。過程可以通過圖2的冷卻管理程序204來實現(xiàn)。過程開始,在指令集在處理器上執(zhí)行之前,分析應(yīng)用程序的指令集,以確定指令集 將使至少一個處理器的溫度上升的度數(shù)(步驟402)。對至少一個處理器的至少一個冷卻系 統(tǒng),進(jìn)行冷卻設(shè)置的計算(步驟404)。在指令集在處理器上執(zhí)行之前,基于冷卻設(shè)置,對至 少一個冷卻系統(tǒng)進(jìn)行調(diào)整(步驟406)。然后,過程結(jié)束。請參看圖5,顯示了根據(jù)說明性實施例的使用圖2的冷卻管理系統(tǒng)200的過程的流 程圖。過程可以通過圖2的冷卻管理程序204來實現(xiàn)。過程開始,在指令集在處理器核上執(zhí)行之前,分析應(yīng)用程序的指令集,以確定指令 集將使至少一個處理器核的溫度上升的度數(shù)(步驟502)。識別至少一個處理器核的溫度 (步驟504)。從儲存庫中檢索關(guān)于指令集的信息(步驟506)。儲存庫包括關(guān)于多個指令集 的信息。信息包括多個指令集中的每一個指令集的能量消耗數(shù)據(jù)。信息包括至少一個處理器核的中的每一個的熱慣性數(shù)據(jù)。對至少一個處理器核的至少一個冷卻系統(tǒng),進(jìn)行冷卻設(shè) 置的計算(步驟508)。在指令集在處理器核上執(zhí)行之前,基于冷卻設(shè)置,對至少一個冷卻系 統(tǒng)進(jìn)行調(diào)整(步驟510)。然后,過程結(jié)束。圖中的流程圖和方框圖顯示了根據(jù)本發(fā)明的各個實施例的系統(tǒng)、方法和計算機程 序產(chǎn)品的可能的實現(xiàn)方式的體系結(jié)構(gòu)、功能,以及操作。關(guān)于這一點,流程圖或方框圖中的 每一個方框都可以代表包括用于實現(xiàn)指定的邏輯功能的一個或多個可執(zhí)行的指令的一個 模塊、一段、或代碼部分。還應(yīng)注意,在某些替代實現(xiàn)方式中,在方框中所指出的功能可以不 按照圖中所說明的順序發(fā)生。例如,依次顯示的兩個方框可以,事實上,基本上同時地執(zhí)行, 或者,取決于涉及的功能,方框有時也可以按相反的順序執(zhí)行。還應(yīng)該注意,方框圖和/或 流程圖例圖的每一個方框,以及方框圖和/或流程圖例圖中的方框的組合,可以通過執(zhí)行 指定的功能或操作,或?qū)S糜布约坝嬎銠C指令的組合的基于專用硬件的系統(tǒng)來實現(xiàn)。與當(dāng)前可用的冷卻技術(shù)相比,一個或多個說明性實施例可以提供更加有效的冷卻 技術(shù)。說明性實施例可以提供超前的冷卻。超前冷卻允許在處理器開始改變溫度之前或正 要改變溫度時,改變處理器上的冷卻。超前冷卻通過計算發(fā)送到處理器的指令集的能量需 求,在變化發(fā)生之前確定處理器的溫度變化。一個或多個說明性實施例可以利用約束方程來確定處理器和/或一組處理器所 需的最高溫度或所需的溫度范圍。通過使用約束方程,可以最大化處理器、冷卻系統(tǒng)、能量 成本和/或貨幣成本的效率。在一個或多個說明性實施例中,冷卻管理系統(tǒng)可以識別將由于指令集的執(zhí)行而發(fā) 生的處理器單元中的多個處理器的溫度變化。接下來,冷卻管理系統(tǒng)可以識別與處理器的 數(shù)量關(guān)聯(lián)的冷卻系統(tǒng)的變化來維護所述處理器單元所需的溫度配置文件,以形成識別的變 化。然后,冷卻管理系統(tǒng)和/或操作系統(tǒng)可以使用識別的變化來調(diào)整冷卻系統(tǒng)。另外,可以 使用約束方程來識別變化。變化可以是冷卻系統(tǒng)的更新的冷卻設(shè)置。在一個或多個說明性實施例中,冷卻管理系統(tǒng)可以識別將由于指令集的執(zhí)行而發(fā) 生的處理器單元中的多個處理器的溫度變化。接下來,冷卻管理系統(tǒng)可以識別與處理器的 數(shù)量關(guān)聯(lián)的工作負(fù)荷的變化來維護所述處理器單元所需的溫度配置文件,以形成識別的變 化。工作負(fù)荷是發(fā)送到某一處理器的指令的量和類型。然后,冷卻管理系統(tǒng)和/或操作系 統(tǒng)可以使用識別的變化來調(diào)整工作負(fù)荷。例如,操作系統(tǒng)可以向具有低溫和高溫最高溫度 的處理器發(fā)送能量消耗量比較大的指令。可以使用約束方程來確定工作負(fù)荷的分布的最高 效率??梢允褂眉s束方程來識別變化。這里所使用的術(shù)語只是為了描述特定實施例,而不對本發(fā)明作出限制。如這里所 使用的,單數(shù)形式“一個”也包括復(fù)數(shù)形式,除非上下文明確地指出。還應(yīng)該進(jìn)一步理解,本 說明中所使用的術(shù)語“包括”,表示存在指定的特點、整體、步驟、操作、元件和/或組件,但 是,不排除存在或增加一個或多個其他特征、整體、步驟、操作、元件、組件或其組合。下面的權(quán)利要求中的所有裝置或步驟加功能元件的對應(yīng)的結(jié)構(gòu)、材料、操作,以及 等效的東西計劃包括用于與專門主張的其他主張的元件相結(jié)合地執(zhí)行功能的任何結(jié)構(gòu)、材 料或操作。對本發(fā)明的描述只作說明,而不是詳盡的說明或限于所說明的形式。所屬領(lǐng)域 的技術(shù)人員將認(rèn)識到,在不偏離本發(fā)明的范圍和精神的情況下,可以進(jìn)行各種修改。所選擇 的實施例只是為了最好地說明本發(fā)明的原理和實際應(yīng)用,并使其他本領(lǐng)域技術(shù)人員懂得,帶有各種修改的各種實施例也是可以接受的。本發(fā)明可以采用完全是硬件、完全是軟件或包含硬件和軟件元件兩者的實施方式 的形式。在優(yōu)選實施例中,本發(fā)明是以軟件實現(xiàn)的,包括但不僅限于固件、常駐軟件、微代
碼等等。此外,本發(fā)明還可以采用計算機程序產(chǎn)品的形式,該產(chǎn)品可以從計算機可使用的 或計算機可讀取的介質(zhì)進(jìn)行訪問,介質(zhì)提供了程序代碼,供計算機或任何指令執(zhí)行系統(tǒng)使 用或與它們一起使用。對于此說明書,計算機可使用的或計算機可讀取的介質(zhì)可以是可以 包含、存儲、傳遞、傳播或傳輸供指令執(zhí)行系統(tǒng)、設(shè)備使用或與它們一起使用的程序的任何 有形的設(shè)備。介質(zhì)可以是電子的、磁性的、光學(xué)的、電磁的、紅外線的或半導(dǎo)體系統(tǒng)(或設(shè)備) 或傳播介質(zhì)。計算機可讀取的介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲器,磁帶,可移動計算機 磁盤,隨機存取存儲器(RAM),只讀存儲器(ROM),硬磁盤和光盤。光盤的當(dāng)前示例包括光 盤_只讀存儲器(CD-ROM),光盤讀取/寫入(CD-R/W),以及DVD。適用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將至少包括一個通過系統(tǒng)總線 直接或間接地連接到存儲器元件的處理器。存儲器元件可以包括在程序代碼的實際執(zhí)行過 程中使用的本地存儲器,大容量存儲器,以及高速緩沖存儲器,該高速緩沖存儲器提供了至 少某些程序代碼的臨時存儲器,以便減少在執(zhí)行過程中必須從大容量存儲器檢索代碼的次數(shù)。輸入/輸出或I/O設(shè)備(包括但不僅限于,鍵盤、顯示器、指示設(shè)備,等等)可以直 接或者通過I/O控制器連接到系統(tǒng)。網(wǎng)絡(luò)適配器也可以連接到系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)通過私有的或公共網(wǎng)絡(luò)連接 到其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機或存儲設(shè)備。調(diào)制解調(diào)器,電纜調(diào)制解調(diào)器和以太網(wǎng)卡 只是幾個當(dāng)前可用的網(wǎng)絡(luò)適配器類型。對本發(fā)明的描述只作說明,而不是詳盡的說明或限于所說明的形式。那些本領(lǐng)域 技術(shù)人員將認(rèn)識到,可以進(jìn)行許多修改。所選擇的實施例只是為了最好地說明本發(fā)明的原 理,實際應(yīng)用,并使其他本領(lǐng)域技術(shù)人員懂得,帶有各種修改的各種實施例也是可以接受 的。
權(quán)利要求
一種用于調(diào)整冷卻設(shè)置的方法,該計算機實現(xiàn)的方法包括以下步驟分析應(yīng)用程序的指令集,以確定所述指令集將使至少一個處理器核的溫度上升的度數(shù);計算所述至少一個處理器核的至少一個冷卻系統(tǒng)的冷卻設(shè)置;以及基于所述冷卻設(shè)置調(diào)整所述至少一個冷卻系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的方法,其中,分析所述指令集的步驟是在所述至少一個處理 器核的溫度由于所述指令集的執(zhí)行而上升之前執(zhí)行的,并且其中,調(diào)整所述至少一個冷卻 系統(tǒng)的步驟是在所述指令集在所述至少一個處理器核上執(zhí)行之前執(zhí)行的。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括識別所述至少一個處理器核的所述溫度。
4.根據(jù)權(quán)利要求1所述的方法,其中,調(diào)整所述至少一個冷卻系統(tǒng)的步驟包括,在所述 至少一個處理器核中的每一個處理器核上調(diào)整從下列組中選擇的組合關(guān)閉所述至少一個 冷卻系統(tǒng),打開所述至少一個冷卻系統(tǒng),提高所述至少一個冷卻系統(tǒng)的強度,以及降低所述 至少一個冷卻系統(tǒng)的所述強度。
5.根據(jù)權(quán)利要求1所述的方法,其中,計算所述冷卻設(shè)置的步驟包括使用約束方程。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述約束方程基于能量成本和貨幣成本。
7.根據(jù)權(quán)利要求1所述的方法,其中,確定度數(shù)的步驟進(jìn)一步包括在儲存庫中檢索關(guān)于指令集的信息,其中,所述儲存庫包括關(guān)于多個指令集的信息,其 中,所述信息包括所述多個指令集中的每一個指令集的能量消耗數(shù)據(jù),并且其中,所述信息 包括所述至少一個處理器核中的每一個處理器核的熱慣性數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的方法,其中,分析所述指令集的步驟包括識別位于所述指令 集中的計數(shù)器。
9.根據(jù)權(quán)利要求1所述的方法,其中,分析所述指令集的步驟包括識別執(zhí)行分支指令 的次數(shù)的百分比。
10.根據(jù)權(quán)利要求1所述的方法,其中,分析所述指令集的步驟包括通過使用編譯器線 索,識別是否可以并行運行所述指令集。
11.一種用于調(diào)整冷卻設(shè)置的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括總線;連接到所述總線的存儲器,所述存儲器包括計算機可執(zhí)行的指令;連接到所述總線的通信單元;以及連接到所述總線的處理器單元,其中,所述處理器單元執(zhí)行指示所述數(shù)據(jù)處理系統(tǒng)執(zhí) 行下列操作的所述計算機可執(zhí)行的指令分析應(yīng)用程序的指令集,以確定所述指令集將使至少一個處理器核的溫度上升的度 數(shù);計算所述至少一個處理器核的至少一個冷卻系統(tǒng)的冷卻設(shè)置;以及基于所述冷卻設(shè)置 調(diào)整所述至少一個冷卻系統(tǒng)。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,分析所述指令集的步驟是在所述至 少一個處理器核的溫度由于所述指令集的執(zhí)行而上升之前執(zhí)行的,并且其中,調(diào)整所述至 少一個冷卻系統(tǒng)的步驟是在所述指令集在所述至少一個處理器核上執(zhí)行之前執(zhí)行的。
13.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括指示所述數(shù)據(jù)處理系統(tǒng)執(zhí)行下列操作的指令識別所述至少一個處理器核的所述溫度。
14.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,調(diào)整所述至少一個冷卻系統(tǒng)的步驟 包括,在所述至少一個處理器核中的每一個處理器核上調(diào)整從下列組中選擇的組合關(guān)閉 所述至少一個冷卻系統(tǒng),打開所述至少一個冷卻系統(tǒng),提高所述至少一個冷卻系統(tǒng)的強度, 以及降低所述至少一個冷卻系統(tǒng)的所述強度。
15.根據(jù)權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,計算所述冷卻設(shè)置的步驟包括使用 約束方程。
16.一種用于管理處理器單元的冷卻的方法,所述方法包括識別將由于指令集的執(zhí)行而發(fā)生的處理器單元中的多個處理器的溫度變化;識別與處理器的數(shù)量關(guān)聯(lián)的冷卻系統(tǒng)的變化來維護所述處理器單元所需的溫度配置 文件,以形成識別的變化;以及使用所述識別的變化來調(diào)整所述冷卻系統(tǒng)。
17.根據(jù)權(quán)利要求16所述的方法,其中,所述變化是通過使用約束方程來識別的。
18.根據(jù)權(quán)利要求16所述的方法,其中,所述變化是所述冷卻系統(tǒng)的更新的冷卻設(shè)置。
19.一種用于管理處理器單元的冷卻的方法,所述方法包括識別將由于指令集的執(zhí)行而發(fā)生的處理器單元中的多個處理器的溫度變化;識別與處理器的數(shù)量關(guān)聯(lián)的工作負(fù)荷的變化來維護所述處理器單元所需的溫度配置 文件,以形成識別的變化;以及使用所述識別的變化來調(diào)整所述工作負(fù)荷。
全文摘要
公開了用于調(diào)整冷卻設(shè)置的方法和數(shù)據(jù)處理系統(tǒng)。說明性實施例提供了用于調(diào)整冷卻設(shè)置的計算機實現(xiàn)的方法,數(shù)據(jù)處理系統(tǒng),以及計算機程序產(chǎn)品。計算機實現(xiàn)的方法包括分析應(yīng)用程序的指令集,以確定指令集將使至少一個處理器核的溫度上升的度數(shù)。計算機實現(xiàn)的方法進(jìn)一步計算所述至少一個處理器核的至少一個冷卻系統(tǒng)的冷卻設(shè)置。計算機實現(xiàn)的方法基于所述冷卻設(shè)置調(diào)整所述至少一個冷卻系統(tǒng)。分析所述指令集的步驟是在所述指令集在所述至少一個處理器核上執(zhí)行之前執(zhí)行的。調(diào)整所述至少一個冷卻系統(tǒng)的步驟是在所述指令集在所述至少一個處理器核上執(zhí)行之前執(zhí)行的。
文檔編號G06F1/20GK101876843SQ20101016931
公開日2010年11月3日 申請日期2010年4月21日 優(yōu)先權(quán)日2009年4月29日
發(fā)明者D·W·考斯比, J·R·可里默, R·L·安格爾, R·R·弗萊德朗得 申請人:國際商業(yè)機器公司