諸如數(shù)據(jù)中心、服務(wù)器場等大型服務(wù)器設(shè)施使用大量的電力來運(yùn)行服務(wù)器和其他設(shè)備。這又導(dǎo)致設(shè)備生成大量的熱量。因此,服務(wù)器設(shè)施經(jīng)常使用各種冷卻機(jī)構(gòu)來控制服務(wù)器溫度。
技術(shù)實現(xiàn)要素:
提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下具體實施方式中進(jìn)一步描述的概念的選擇。本發(fā)明內(nèi)容不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)的主題的范圍。
本描述總體上涉及計算設(shè)備的熱管理。一個示例是一種包括硬件處理單元和存儲指令的硬件存儲設(shè)備的系統(tǒng)。當(dāng)指令由硬件處理單元執(zhí)行時,指令可以引起硬件處理單元在各個時間測量與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。計算設(shè)備可以具有各種硬件資源,包括處理器、存儲器設(shè)備和存儲設(shè)備。指令還可以引起硬件處理單元在各個時間確定計算設(shè)備的硬件利用狀態(tài),硬件利用狀態(tài)包括與處理器相關(guān)聯(lián)的處理器利用狀態(tài)、與存儲器設(shè)備相關(guān)聯(lián)的存儲器利用狀態(tài)、以及與存儲設(shè)備相關(guān)聯(lián)的存儲利用狀態(tài)。指令還可以引起硬件處理單元測量在冷卻狀態(tài)和硬件利用狀態(tài)下的操作對計算設(shè)備的熱影響,并且根據(jù)冷卻狀態(tài)和硬件利用狀態(tài)對熱影響進(jìn)行建模。
另一個示例是一種包括硬件處理單元和存儲指令的硬件存儲設(shè)備的系統(tǒng)。當(dāng)指令由硬件處理單元執(zhí)行時,指令可以引起硬件處理單元確定與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。計算設(shè)備可以具有硬件資源,硬件資源包括處理器和另一硬件資源。指令還可以引起硬件處理單元確定計算設(shè)備的硬件利用狀態(tài),硬件利用狀態(tài)包括處理器利用狀態(tài)和與另一硬件資源相關(guān)聯(lián)的另一硬件利用狀態(tài)。指令還可以引起硬件處理單元估計在冷卻狀態(tài)和硬件利用狀態(tài)下的操作對計算設(shè)備的熱影響。
另一個示例包括一種可以由計算設(shè)備執(zhí)行的方法或技術(shù)。該示例包括確定與具有硬件資源的計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài),硬件資源包括處理器以及存儲器設(shè)備、存儲設(shè)備或網(wǎng)絡(luò)設(shè)備中的至少一項。該示例還包括標(biāo)識用于計算設(shè)備的程序配置。程序配置包括與第二可執(zhí)行程序同時地在計算設(shè)備上運(yùn)行的第一可執(zhí)行程序。該示例還包括確定程序配置的硬件利用特性。硬件利用特性包括程序配置的處理器利用特性和數(shù)據(jù)傳送特性。數(shù)據(jù)傳送特性可以反映由存儲器設(shè)備、存儲設(shè)備或網(wǎng)絡(luò)設(shè)備進(jìn)行的數(shù)據(jù)傳送。該示例還包括估計當(dāng)計算設(shè)備在冷卻狀態(tài)下時操作程序配置對計算設(shè)備的熱影響。
附圖說明
參考附圖描述具體實施方式。在附圖中,附圖標(biāo)記的最左邊的數(shù)字標(biāo)識附圖標(biāo)記首次出現(xiàn)的附圖。在說明書和附圖中的不同實例中使用相似的附圖標(biāo)記可以指示相似或相同的項目。
圖1示出了與本概念的一些實現(xiàn)一致的示例計算設(shè)備。
圖2示出了與本概念的一些實現(xiàn)一致的用于多個計算設(shè)備的示例殼體。
圖3示出了與本概念的一些實現(xiàn)一致的示例服務(wù)器設(shè)施配置。
圖4示出了與本概念的一些實現(xiàn)一致的示例環(huán)境。
圖5、圖7和圖8示出了與本概念的一些實現(xiàn)一致的示例方法或技術(shù)。
圖6、圖9和圖10示出了與本概念的一些實現(xiàn)一致的示例數(shù)據(jù)結(jié)構(gòu)。
具體實施方式
概述
用于計算設(shè)備的冷卻機(jī)構(gòu)通常以反應(yīng)性方式使用,例如,在激活給定冷卻資源之前等待直到溫度達(dá)到規(guī)定的值。此外,某些工作負(fù)荷配置可能比其他工作負(fù)荷傾向于生成更多的熱量,并且哪些工作負(fù)荷配置將生成最多的熱量不總是清楚的。因此,可能難以采取搶先措施以避免使計算設(shè)備或相關(guān)聯(lián)的設(shè)備過熱。
此外,從能量消耗的觀點(diǎn)來看,以反應(yīng)性方式使用冷卻資源可能是相當(dāng)?shù)托У?。例如,在一些情況下,能量消耗可能作為風(fēng)扇速度的三次函數(shù)上升。當(dāng)使用靜態(tài)溫度閾值以用于打開風(fēng)扇時,風(fēng)扇通常需要以相對高的速度運(yùn)行以適應(yīng)熱密集型工作負(fù)荷的突發(fā)。因此,檢測熱密集工作負(fù)荷并且使用自適應(yīng)熱管理技術(shù)以在檢測到熱密集型工作負(fù)荷時以相對較慢的速度較早地打開風(fēng)扇可能是有益的。這可以具有隨時間使風(fēng)扇速度平滑的效果,而不是具有高風(fēng)扇速度的突發(fā)和伴隨的高能量使用。這對于個體計算設(shè)備風(fēng)扇以及冷卻多個計算設(shè)備的風(fēng)扇(例如在諸如服務(wù)器設(shè)施的建筑物中)都是如此。
另外,反應(yīng)性冷卻方法傾向于非常保守,以設(shè)定用于打開風(fēng)扇或其它冷卻資源的相對低的溫度閾值。這是因為在當(dāng)給定冷卻資源被打開時與當(dāng)冷卻資源開始起作用時之間往往存在滯后。例如,服務(wù)器設(shè)施中的空氣處理機(jī)可能需要幾分鐘來在給定服務(wù)器容器處將溫度降低顯著的量(例如,5攝氏度)。
由于上面討論的低效率,相對于反應(yīng)性方法,主動冷卻方法可以顯著降低能量消耗。然而,預(yù)期計算設(shè)備上或服務(wù)器設(shè)施中的熱條件可能是困難的。這部分地是因為工作負(fù)荷需求可能難以預(yù)測,例如,服務(wù)器設(shè)施操作員或風(fēng)扇控制器并不總是知道給定服務(wù)何時將經(jīng)歷高的需求。此外,不同工作負(fù)荷可以根據(jù)工作負(fù)荷的資源利用趨勢生成不同量的熱量。具體地,一些工作負(fù)荷(例如,程序的特定組合)可以以傾向于導(dǎo)致計算設(shè)備使用大量功率(例如,最大100瓦中的90瓦)以及因此生成大量熱量的特定方式來使用給定計算設(shè)備上的資源。在相同計算設(shè)備上運(yùn)行的其他工作負(fù)荷可能導(dǎo)致服務(wù)器使用更少的功率(例如,40瓦)并且因此生成相當(dāng)少的熱量。
鑒于上述內(nèi)容,減輕在計算設(shè)備級別或聚合(例如,服務(wù)器設(shè)施)級別處的冷卻低效的一種方式是以考慮特定處理器上的可執(zhí)行程序之間的交互的方式來管理冷卻資源。例如,一些實現(xiàn)可以基于各種因素(諸如在給定計算設(shè)備上運(yùn)行的一個或多個可執(zhí)行程序的資源利用)來估計當(dāng)前或潛在程序配置的熱影響。出于本文檔的目的,術(shù)語“程序配置”指代在計算設(shè)備上同時地執(zhí)行的一個或多個可執(zhí)行程序的組。術(shù)語“可執(zhí)行程序”指代可執(zhí)行代碼的實例,例如應(yīng)用二進(jìn)制代碼、操作系統(tǒng)或管理程序二進(jìn)制代碼等。
一些實現(xiàn)可以考慮在單個處理器的不同核心上運(yùn)行的可執(zhí)行程序之間的交互,諸如可執(zhí)行程序如何使用特定資源。例如,一些實現(xiàn)考慮不同程序配置如何傾向于不僅使用處理器核心和高速緩存,而且還使用存儲器、存儲裝置和/或網(wǎng)絡(luò)資源。當(dāng)在給定計算設(shè)備上調(diào)度這些熱密集型程序配置時,可以標(biāo)識傾向于熱密集型特定程序配置,并且可以采取主動熱管理步驟。一些實現(xiàn)估計各種潛在程序配置的熱影響,并且基于所選擇的程序配置的所估計的熱影響來選擇用于執(zhí)行的個體程序配置。
示例計算設(shè)備
圖1示出了具有母板110的示例計算設(shè)備100,母板110具有處理器120、存儲器設(shè)備130、網(wǎng)絡(luò)控制器140和存儲控制器150。計算設(shè)備還包括網(wǎng)絡(luò)設(shè)備160、存儲設(shè)備170和計算設(shè)備風(fēng)扇180。處理器120包括核心121、122、123和124、高速緩存125和存儲器控制器126。計算設(shè)備風(fēng)扇可以冷卻計算設(shè)備以解決通過使用核心、高速緩存、存儲器和存儲設(shè)備生成的熱量。注意,圖1是示例,并且所公開的實現(xiàn)可以被用于很多不同類型的計算設(shè)備(例如機(jī)架服務(wù)器、刀片服務(wù)器、塔式服務(wù)器、臺式計算機(jī)、膝上型計算機(jī)、移動設(shè)備等)的熱管理。
通常,核心121、122、123和/或124中的每個可以在任何給定時間運(yùn)行單個可執(zhí)行程序(例如,二進(jìn)制程序)。不同可執(zhí)行程序可以在各個時間被交換到個體核心上,包括操作系統(tǒng)程序和應(yīng)用程序。當(dāng)給定核心想要訪問存儲在特定存儲器地址處的代碼或數(shù)據(jù)時,核心可以首先嘗試從高速緩存125獲取該代碼或數(shù)據(jù)。如果代碼或數(shù)據(jù)不存在于高速緩存中,則核心可以激活存儲器控制器126并且將代碼或數(shù)據(jù)從存儲器設(shè)備130獲取到高速緩存中。代碼或數(shù)據(jù)可以由核心通過存儲器總線131而被獲取。注意,代碼和/或數(shù)據(jù)也可以被寫入高速緩存以及被獲取。
在一些情況下,代碼或數(shù)據(jù)可以不存在于存儲器設(shè)備130中,在這種情況下,處理器120可以激活存儲控制器150以從存儲設(shè)備170獲取代碼或數(shù)據(jù)。在這種情況下,代碼或數(shù)據(jù)可以通過存儲總線171從存儲設(shè)備中被獲取。在一些情況下,代碼和/或數(shù)據(jù)被獲取到存儲器設(shè)備130和/或高速緩存125中。同樣,代碼和/或數(shù)據(jù)可以被寫入存儲設(shè)備以及從存儲設(shè)備而被獲取。
在其他情況下,可以經(jīng)由網(wǎng)絡(luò)設(shè)備160通過網(wǎng)絡(luò)發(fā)送和/或獲取代碼和/或數(shù)據(jù)。在這種情況下,核心可以激活網(wǎng)絡(luò)控制器140以使用網(wǎng)絡(luò)總線141發(fā)送或獲取代碼和/或數(shù)據(jù)。
通常,高速緩存125、存儲器設(shè)備130、網(wǎng)絡(luò)設(shè)備160和存儲設(shè)備170是計算設(shè)備100上的硬件資源的示例。由于這些硬件資源由個體核心激活,所以這些硬件資源內(nèi)的電路和相關(guān)聯(lián)的總線生成熱量。例如,這些硬件資源中的每個可以具有當(dāng)硬件資源被激活時消耗功率的特定數(shù)目的晶體管或其他電路部件。
如所提及的,圖1僅示出了計算設(shè)備的一個示例。例如,計算設(shè)備的各種部件可以共享特定總線,例如,網(wǎng)絡(luò)設(shè)備160和存儲設(shè)備170可以共享總線(例如,外圍部件互連總線)。在其它實現(xiàn)中,存儲器控制器126可以位于母板110上而不是直接在處理器120上。作為另外的示例,背板架構(gòu)可以被采用,并且為不同類型的硬件資源提供各種總線連接,以與處理器120、存儲器130等通信。
熱密集型工作負(fù)荷的實例
不同可執(zhí)行程序傾向于不同地使用硬件資源。例如,一些可執(zhí)行程序可能是相對處理器密集型的,但是可能不使用大量的存儲器、存儲裝置或網(wǎng)絡(luò)資源。另一方面,一些可執(zhí)行程序可能是相對存儲密集型的,但是不使用大量的處理器資源。此外,一些可執(zhí)行程序可能傾向于與改變這些二進(jìn)制程序如何使用硬件資源的其他可執(zhí)行程序具有某些交互。出于本文檔的目的,術(shù)語“硬件資源”包括可以由計算機(jī)處理器控制的各種類型的物理設(shè)備,物理設(shè)備包括存儲器設(shè)備、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備、圖形卡等、以及用于與這些硬件資源通信的總線或其他電路。
為了說明不同可執(zhí)行程序如何能夠?qū)o定計算設(shè)備導(dǎo)致不同熱影響,考慮以下示例程序配置。在第一程序配置中,第一可執(zhí)行程序可以與第二可執(zhí)行程序共享計算設(shè)備上的處理器,并且生成大量的熱量。在第二程序配置中,第一可執(zhí)行程序可以與第三可執(zhí)行程序共享處理器并且生成少得多的熱量。
為了理解這可以如何發(fā)生,假定第一可執(zhí)行程序是在核心121上執(zhí)行的處理器密集型可執(zhí)行程序,并且相當(dāng)重度地使用高速緩存125,從而以密集型方式激活高速緩存電路。出于該示例的目的,假定第一可執(zhí)行程序消耗平均30瓦的能量?,F(xiàn)在,假定第二可執(zhí)行程序在核心122上執(zhí)行,并且不是高速緩存密集型的,但是非常重度地使用存儲設(shè)備170,并且因此相當(dāng)重度地激活存儲設(shè)備170、存儲控制器150和存儲總線171中的電路,可能平均消耗20瓦。在該第一程序配置中由高速緩存電路和存儲總線/設(shè)備電路輸出的熱量的組合為50瓦。
現(xiàn)在,假定第二可執(zhí)行程序在核心122上用第三可執(zhí)行程序替換,第三可執(zhí)行程序是傾向于相當(dāng)重度地使用高速緩存125的另一處理器密集型可執(zhí)行程序。在這些情況下,當(dāng)?shù)谌蓤?zhí)行程序在核心122上執(zhí)行時,可以從高速緩存125中逐出針對第一可執(zhí)行程序的代碼和/或數(shù)據(jù),從而導(dǎo)致針對第一可執(zhí)行程序的高速緩存命中率較低。同樣地,當(dāng)?shù)谝豢蓤?zhí)行程序在核心121上執(zhí)行時,可以從高速緩存125中逐出針對第三可執(zhí)行程序的代碼和/或數(shù)據(jù),從而導(dǎo)致針對第三可執(zhí)行程序的高速緩存命中率較低。因此,第一可執(zhí)行程序和第三可執(zhí)行程序都可能花費(fèi)時間等待從存儲器獲取數(shù)據(jù)。這可能導(dǎo)致由兩個可執(zhí)行程序的組合功率實際上小于由第一可執(zhí)行程序單獨(dú)使用的功率(例如,為了示例,為25瓦)。
這里更廣泛的一點(diǎn)是,針對單個硬件資源的沖突通常傾向于減少該硬件資源的利用,因為一個可執(zhí)行程序在等待其他可執(zhí)行程序停止使用該資源時進(jìn)入等待狀態(tài)。另一方面,當(dāng)工作負(fù)荷運(yùn)行在可執(zhí)行程序重度地使用的資源方面傾向于有點(diǎn)互斥的可執(zhí)行程序時,硬件資源的利用傾向于較高。因此,運(yùn)行具有互斥的資源需求的可執(zhí)行程序的工作負(fù)荷傾向于比運(yùn)行具有資源沖突的可執(zhí)行程序的工作負(fù)荷生成更多的熱量。
所公開的實現(xiàn)通常利用工作負(fù)荷的預(yù)期熱影響來搶先地解決熱密集型工作負(fù)荷。一般而言,采用兩種緩解策略。首先,所公開的實現(xiàn)檢測何時在計算設(shè)備上調(diào)度或執(zhí)行熱密集型工作負(fù)荷,以及在達(dá)到高溫之前搶先配置冷卻資源。第二,可以采用調(diào)度策略,使得在時間上(例如,延遲)和/或空間上(例如,移動到較冷的位置)調(diào)節(jié)熱密集型工作負(fù)荷,以平滑對服務(wù)器設(shè)施內(nèi)的冷卻資源的需求。
示例計算設(shè)備容器
如圖1所示的計算設(shè)備100可以安裝在如圖2所示的容器200中。示出了具有三個計算設(shè)備100(1)、100(2)和100(3)以及容器風(fēng)扇201的容器200,容器風(fēng)扇201可以用于冷卻容器200中的計算設(shè)備。在本討論中,具有后綴的指示符(諸如“(1)”)的使用旨在指代設(shè)備、設(shè)備部件或模塊的具體實例。相反,沒有后綴的指示符的使用旨在是通用的。注意,容器200可以是適于容納多個計算設(shè)備的各種類型,例如,服務(wù)器機(jī)架、機(jī)架外殼等。
一般而言,每個單獨(dú)的計算設(shè)備100可以如圖1所示被配置。因此,計算設(shè)備100(1)、計算設(shè)備100(2)和計算設(shè)備100(3)可以具有其自己的單獨(dú)的母板110、處理器120、存儲器設(shè)備130、網(wǎng)絡(luò)控制器140、存儲控制器150、網(wǎng)絡(luò)設(shè)備160、存儲設(shè)備170和計算設(shè)備風(fēng)扇180。注意,由容器100內(nèi)的個體計算設(shè)備生成的熱量可以對容器中的其他計算設(shè)備具有相應(yīng)影響。例如,不管計算設(shè)備100(2)和100(1)上運(yùn)行的工作負(fù)荷如何,來自于計算設(shè)備100(3)的熱量可以導(dǎo)致計算設(shè)備100(2)和100(1)經(jīng)歷熱波動。
示例服務(wù)器設(shè)施
在一些情況下,多個容器可以安裝在服務(wù)器設(shè)施300中,如圖3所示。服務(wù)器設(shè)施300被示出為具有空氣處理機(jī)310和空氣處理機(jī)320??諝馓幚頇C(jī)可以位于服務(wù)器設(shè)施的頂部上,在服務(wù)器設(shè)施的一側(cè)或多側(cè)上等。另外,空氣處理機(jī)可以在服務(wù)器設(shè)施的內(nèi)部和/或外部。
服務(wù)器設(shè)施300可以具有多個容器200(1)、200(2)、200(3)、200(4)、200(5)、200(6)、200(7)、200(8)、200(9)、200(10)、200(11)和200(12)。容器200(1-6)在圖3中示出為通過屏障330(例如壁)與容器200(7-12)分離。一般而言,屏障330可以是以下任何結(jié)構(gòu):該結(jié)構(gòu)充分地影響氣流,使得由空氣處理機(jī)310產(chǎn)生的大多數(shù)氣流冷卻容器200(1-6),并且由空氣處理機(jī)320產(chǎn)生的大多數(shù)氣流冷卻容器200(7-12)。屏障330不需要完全阻擋這些容器組之間的氣流。另外,注意,所公開的實現(xiàn)包括使用被配置成容納分立的電氣部件(例如,具有可變熱密度)的各種容器,分立的電氣部件包括刀片服務(wù)器系統(tǒng)、塔式服務(wù)器系統(tǒng)或其他配置。
服務(wù)器設(shè)施300還可以在屏障330的一側(cè)上具有氣流引導(dǎo)器331、332、333和334,并且在屏障330的另一側(cè)上具有氣流引導(dǎo)器335、336、337和338。這些氣流引導(dǎo)器的功能是在服務(wù)器設(shè)施中引導(dǎo)氣流。如圖3所示,氣流引導(dǎo)器331、332、333和334示出為充分打開的配置,其中氣流可以自由地通過所有容器200(1-6)??諝馓幚頇C(jī)310和/或320可以提供恒定的或變化的壓力差,當(dāng)這些容器在完全利用下運(yùn)行時,該壓力差足以冷卻所有容器200(1-6)。然而,維持這樣的壓力差可以使用大量的功率。相比之下,氣流引導(dǎo)器335、336、337和338被示出為部分關(guān)閉的配置,其限制了到容器200(7-12)的氣流量。這可以允許空氣處理機(jī)320在使用相對較少功率的同時維持與空氣處理機(jī)310相似的壓力差。然而,對于容器200(7-12)的減少的氣流可能不足以在完全利用下冷卻這些服務(wù)器機(jī)架。
另外,注意,本文中的附圖示出了可以根據(jù)服務(wù)器設(shè)施的具體布局來調(diào)節(jié)的通用配置的氣流引導(dǎo)器。例如,一些服務(wù)器設(shè)施可以使用在服務(wù)器機(jī)架下方的氣流用于冷卻目的。另外,空氣處理機(jī)可以以各種配置被提供,該配置具有和/或不具有主動冷卻能力(例如,空氣調(diào)節(jié))。更一般地,出于本文檔的目的,術(shù)語“空氣處理機(jī)”指代可以在建筑物內(nèi)移動空氣的任何機(jī)構(gòu),包括沒有主動冷卻能力的風(fēng)扇、空調(diào)或其他冷卻機(jī)構(gòu)。另外,注意,其他實現(xiàn)可以利用其他氣體或液體用于冷卻目的,例如水。在這樣的實現(xiàn)中,可以以與本文中關(guān)于空氣處理機(jī)、計算設(shè)備風(fēng)扇和/或容器風(fēng)扇所討論的類似的方式來使用液體處理機(jī)構(gòu)(例如,泵、閥)。更一般地,所公開的實現(xiàn)包括可以用于通過將流體泵送到空間中來排放熱量的任何機(jī)構(gòu)。因此,液體或其它冷卻機(jī)構(gòu)還可以用于冷卻個體計算設(shè)備(例如,除了或替換計算設(shè)備風(fēng)扇180)或冷卻計算設(shè)備容器(例如,除了或替換容器風(fēng)扇201)。
還要注意,術(shù)語“引導(dǎo)器”在本文中在一般意義上用于指代可以改變氣體或液體的流動特性的任何設(shè)備。例如,可以通過打開/關(guān)閉百葉窗、打開/關(guān)閉翻板閥(flaps)、阻尼器裝置等來偏轉(zhuǎn)氣流。類似地,在使用水來冷卻服務(wù)器的情況下,可以使用水偏轉(zhuǎn)技術(shù),例如閥或其它機(jī)構(gòu)。
示例網(wǎng)絡(luò)場景
圖4中示出了其中可以執(zhí)行所公開的技術(shù)的一個具體環(huán)境,圖4示出了包括經(jīng)由網(wǎng)絡(luò)420連接到客戶端設(shè)備430和服務(wù)器設(shè)施300(1)、300(2)和/或300(3)的冷卻管理系統(tǒng)410的示例環(huán)境400。服務(wù)器設(shè)施300(1)、(2)和/或(3)可以如圖3所示被配置,但是每個服務(wù)器設(shè)施不需要是相同的,并且實際上可以根據(jù)具體實現(xiàn)而完全不同。
冷卻管理系統(tǒng)410可以包括建模模塊413和控制模塊414。一般而言,建模模塊可以對計算設(shè)備上的各種工作負(fù)荷的熱影響進(jìn)行建模??刂颇K414可以提供冷卻管理功能,諸如控制每個個體服務(wù)器設(shè)施內(nèi)的冷卻資源,諸如個體計算設(shè)備風(fēng)扇180、容器風(fēng)扇201、空氣處理機(jī)310和320以及氣流引導(dǎo)器331-338。在另外的實現(xiàn)中,控制模塊可以執(zhí)行服務(wù)器設(shè)施300(1)-(3)中的任何一個內(nèi)的個體可執(zhí)行程序的調(diào)度。出于以下示例的目的,假定可執(zhí)行程序可以被移動到例如在單個容器內(nèi)的不同計算設(shè)備,到給定服務(wù)器設(shè)施內(nèi)的不同容器,或者從一個服務(wù)器設(shè)施中的計算設(shè)備到另一服務(wù)器設(shè)施中的計算設(shè)備。客戶端設(shè)備430可以請求由云服務(wù)執(zhí)行某些處理,并且云服務(wù)可以使用在服務(wù)器設(shè)施300(1)-(3)中的任一個中的任何計算設(shè)備上運(yùn)行的作業(yè)來執(zhí)行處理。出于本文檔的目的,術(shù)語“作業(yè)”包括至少一個可執(zhí)行程序(例如,應(yīng)用程序)的執(zhí)行。
注意,圖4中將冷卻管理系統(tǒng)410示出為位于服務(wù)器設(shè)施300(1)-(3)外部。在另外的實現(xiàn)中,冷卻管理系統(tǒng)可以與任何或所有服務(wù)器設(shè)施并置(collate)。例如,在一些情況下,服務(wù)器設(shè)施300(1)可以具有位于其中的冷卻管理系統(tǒng),并且冷卻管理系統(tǒng)可以在服務(wù)器設(shè)施300(1)內(nèi)本地執(zhí)行熱管理,并且還可以發(fā)送執(zhí)行服務(wù)器設(shè)施300(2)和300(3)的遠(yuǎn)程熱管理的指令。在其他情況下,每個服務(wù)器設(shè)施可以具有在該特定服務(wù)器設(shè)施處執(zhí)行熱管理的冷卻管理系統(tǒng)的相應(yīng)本地實例。還如下面更多地討論的,冷卻管理系統(tǒng)可以實現(xiàn)為專用電路,例如控制個體空氣處理機(jī)、容器風(fēng)扇、計算設(shè)備風(fēng)扇等的微控制器。
此外,注意,冷卻管理系統(tǒng)可以包括用于執(zhí)行建模模塊413和控制模塊414的各種處理資源411和存儲器/存儲資源412。冷卻管理系統(tǒng)的這些部件在下面在標(biāo)題為“設(shè)備實現(xiàn)”的部分中更加詳細(xì)地討論。
基于硬件狀態(tài)的熱建模方法
一些實現(xiàn)可以將工作負(fù)荷的熱影響建模為冷卻狀態(tài)和硬件利用狀態(tài)的函數(shù)。圖5示出了可以由冷卻管理系統(tǒng)410的建模模塊413或其他系統(tǒng)執(zhí)行的熱影響建模方法500。
框502可以在各個時間測量與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。例如,冷卻狀態(tài)可以表示計算設(shè)備處的當(dāng)前溫度、計算設(shè)備風(fēng)扇速度、容器風(fēng)扇速度、空氣處理機(jī)速度等。
框504可以確定與計算設(shè)備的各種硬件資源相關(guān)聯(lián)的硬件利用狀態(tài)。例如,硬件利用狀態(tài)可以包括處理器利用狀態(tài)、存儲器利用狀態(tài)、存儲利用狀態(tài)和/或網(wǎng)絡(luò)利用狀態(tài)。
框506可以測量冷卻狀態(tài)和硬件利用狀態(tài)下對計算設(shè)備的熱影響。例如,可以隨時間測量計算設(shè)備上的溫度變化。
框508可以將對計算設(shè)備的熱影響建模為冷卻狀態(tài)和硬件利用狀態(tài)的函數(shù)。在一些情況下,導(dǎo)出可以用于預(yù)測各種工作負(fù)荷的未來的熱影響的數(shù)學(xué)函數(shù),如下面更多地討論的。
如上所述,在框504處確定的硬件利用狀態(tài)可以描述各種類型的硬件資源的使用。例如,處理器利用狀態(tài)可以表示當(dāng)前高速緩存命中率、指令執(zhí)行速率者或描述其上的處理器或個體核心的活動的其他度量。更一般地,術(shù)語“處理器利用狀態(tài)”可以指代描述相對強(qiáng)度的任何值,由給定工作負(fù)荷在任何給定時間以該相對強(qiáng)度激活處理器電路(例如,個體核心電路、高速緩存電路等)。
如上所述,硬件利用狀態(tài)的另一示例是存儲器傳送狀態(tài),其可以表示反映指令和/或數(shù)據(jù)從存儲器130(例如從處理器120,從存儲設(shè)備150,從網(wǎng)絡(luò)設(shè)備160等)被讀取或被傳送到存儲器130的速率的當(dāng)前存儲器總線傳送速率。更一般地,術(shù)語“存儲器利用狀態(tài)”可以指代描述相對強(qiáng)度的任何值,由給定工作負(fù)荷在任何給定時間以該相對強(qiáng)度激活存儲芯片電路和/或存儲器總線電路。注意,在這種情況下,與實際存儲器傳送速率相比,對在任何給定時間分配的存儲器的量可能不太感興趣,因為傳送傾向于引起額外的熱量生成,而僅保留現(xiàn)有數(shù)據(jù)/指令而不修改的存儲器刷新周期可以生成相對少的熱量。此外,高的存儲器傳送速率傾向于引起比低的存儲器傳送速率更多的熱量生成。另外,注意,一些實現(xiàn)可以監(jiān)視存儲器訪問模式,并且可以使用順序訪問模式(與隨機(jī)相反)作為代理來標(biāo)識高的存儲器傳送速率。可以通過讀取由給定可執(zhí)行程序訪問的存儲器地址來標(biāo)識順序存儲器讀取模式。
如上所述,硬件利用狀態(tài)的另一示例是存儲利用狀態(tài),其可以表示當(dāng)前存儲總線傳送速率,以當(dāng)前存儲總線傳送速率將指令和/或數(shù)據(jù)從存儲設(shè)備170讀取到存儲器130中、從存儲器傳送到存儲設(shè)備中等。更一般地,術(shù)語“存儲利用狀態(tài)”可以指代描述相對強(qiáng)度的任何值,由給定工作負(fù)荷在任何給定時間以該相對強(qiáng)度激活存儲設(shè)備電路和/或存儲總線電路。如上面關(guān)于存儲器所討論的,與實際存儲傳送速率相比,對由給定可執(zhí)行程序使用的存儲空間的量可能不太感興趣,因為相對于僅僅在存儲設(shè)備上維持存儲的數(shù)據(jù),存儲傳送(如存儲器傳送)傾向于引起額外的熱量生成。此外,高的存儲傳送速率傾向于引起比低的存儲傳送速率更多的熱量生成。
如上所述,硬件利用狀態(tài)的另一示例是網(wǎng)絡(luò)利用狀態(tài),其可以表示當(dāng)前網(wǎng)絡(luò)總線傳送速率,通過網(wǎng)絡(luò)設(shè)備160以當(dāng)前網(wǎng)絡(luò)總線傳送速率接收和/或發(fā)送數(shù)據(jù)。更一般地,術(shù)語“網(wǎng)絡(luò)利用狀態(tài)”可以指代描述相對強(qiáng)度的任何值,由給定工作負(fù)荷在任何給定時間以該相對強(qiáng)度激活網(wǎng)絡(luò)設(shè)備電路和/或網(wǎng)絡(luò)總線電路。如上面關(guān)于存儲器和存儲裝置所討論的,高的網(wǎng)絡(luò)傳送速率傾向于引起比低的網(wǎng)絡(luò)傳送速率更多的熱量生成。
另外,注意,出于說明的目的,本文中所討論的示例指代單個高速緩存、存儲器設(shè)備、存儲設(shè)備和網(wǎng)絡(luò)設(shè)備。所公開的技術(shù)可以用于具有多個高速緩存(例如,L1和L2)、多個存儲器設(shè)備、多個存儲設(shè)備(包括RAID配置、磁驅(qū)動器、固態(tài)驅(qū)動器等)和多個網(wǎng)絡(luò)設(shè)備的計算設(shè)備的熱管理。
示例溫度數(shù)據(jù)
圖6示出了可以用于如上文關(guān)于方法500所討論地建模熱影響的示例溫度數(shù)據(jù)600。溫度數(shù)據(jù)600用測試編號欄601示出,測試編號欄601示出了四個示例溫度測試實例。然而,注意,圖6是示例,并且可以進(jìn)行更多的測試實例以獲得用于對熱影響建模的溫度數(shù)據(jù)。
溫度數(shù)據(jù)600還包括空氣處理機(jī)速度欄602、容器風(fēng)扇速度欄603、計算設(shè)備風(fēng)扇速度欄604、T0溫度欄605、處理器利用狀態(tài)欄606、存儲器利用狀態(tài)欄607、存儲利用狀態(tài)欄608、網(wǎng)絡(luò)利用狀態(tài)欄609、T1溫度欄610和T5溫度欄611。這些欄中的每欄表示可以在用于對熱影響建模的方法500中采用的數(shù)據(jù)類型。在一些情況下,溫度數(shù)據(jù)600用于導(dǎo)出溫度函數(shù),如本文進(jìn)一步討論的。
空氣處理機(jī)速度、容器風(fēng)扇速度、計算設(shè)備風(fēng)扇速度和/或時間T0處的溫度是可以用作在方法500的框502處的冷卻狀態(tài)的示例類型的數(shù)據(jù)。處理器利用狀態(tài)、存儲器利用狀態(tài)、存儲利用狀態(tài)和/或網(wǎng)絡(luò)利用狀態(tài)是在方法500的框504處使用的示例類型的硬件利用狀態(tài)。在圖6中,處理器利用狀態(tài)606被示出為百分比,例如高速緩存命中百分比或百分比指令執(zhí)行速率(例如,相對于最大指令執(zhí)行速率)。存儲器利用狀態(tài)607被示出為表示當(dāng)前存儲器傳送速率與存儲器總線的峰值傳送速率之間的比率的存儲器傳送速率百分比。存儲利用狀態(tài)608被示出為表示當(dāng)前存儲傳送速率與存儲總線的峰值傳送速率之間的比率的存儲傳送速率百分比。網(wǎng)絡(luò)利用狀態(tài)609被示出為表示當(dāng)前網(wǎng)絡(luò)傳送速率與網(wǎng)絡(luò)總線的峰值傳送速率之間的比率的網(wǎng)絡(luò)傳送速率百分比。
T1溫度610和T5溫度611可以分別表示在T0之后的1和5個時間單位(例如,毫秒、秒、分鐘等)處在個體計算設(shè)備處經(jīng)歷的實際溫度。因此,T1和T5示出了在給定冷卻狀態(tài)和硬件資源利用狀態(tài)的情況下相對于T0溫度如何變化。注意,圖6所示的值可以是瞬時值,例如在單個時刻得到的——針對欄602-609的T0、針對欄610的T1和針對欄611的T5。在另外的實現(xiàn)中,采用平滑和/或平均技術(shù),使得個體值表示一段時間內(nèi)的相應(yīng)狀態(tài),例如,針對每欄的平均值的滑動窗口。
通常,所公開的實現(xiàn)可以學(xué)習(xí)熱影響函數(shù),該熱影響函數(shù)作為諸如在欄602-609中所示的變量的函數(shù)輸出熱影響的一些測量(例如,以度為單位的預(yù)測溫度、以焦耳或BTU為單位的預(yù)測熱量生成等)。在一些情況下,使用回歸算法來學(xué)習(xí)熱影響函數(shù),回歸算法例如學(xué)習(xí)針對個體欄602-609的值的系數(shù)的線性或非線性回歸。另外的實現(xiàn)可以使用神經(jīng)網(wǎng)絡(luò)、貝葉斯技術(shù)或其他機(jī)器學(xué)習(xí)變體來學(xué)習(xí)熱影響函數(shù)。
作為硬件利用的函數(shù)的熱影響
一些實現(xiàn)可以基于計算設(shè)備的硬件利用狀態(tài)來估計對給定計算設(shè)備的熱影響。在一些情況下,可以使用可以如上所討論的學(xué)習(xí)的熱影響函數(shù)來執(zhí)行估計。圖7示出了可以由冷卻管理系統(tǒng)410的控制模塊414執(zhí)行的熱影響估計和控制方法700。
框702可以確定與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。例如,冷卻狀態(tài)可以反映針對溫度和冷卻資源兩者的當(dāng)前或最近值,例如,上面關(guān)于溫度數(shù)據(jù)600的欄602、603、604和605討論的類型的數(shù)據(jù)。
框704可以確定個體服務(wù)器的一個或多個硬件利用狀態(tài)。如上所討論的,示例硬件利用狀態(tài)在溫度數(shù)據(jù)600的欄606、607、608和609中示出。
框706可以基于冷卻狀態(tài)和硬件利用狀態(tài)來估計操作計算設(shè)備的熱影響。例如,一些實現(xiàn)可以基于諸如當(dāng)前冷卻狀態(tài)、處理器利用狀態(tài)、存儲器利用狀態(tài)、存儲利用狀態(tài)和/或網(wǎng)絡(luò)利用狀態(tài)的因素來確定預(yù)期的未來溫度。如上所述,一些實現(xiàn)可以使用從諸如溫度數(shù)據(jù)600(圖6)的訓(xùn)練數(shù)據(jù)生成的模型來估計預(yù)期的未來溫度。在一些情況下,提供模型作為可以用于計算未來不同時間(例如1秒、5秒等)的預(yù)期的未來溫度的函數(shù)。
方法700的框708可以基于所估計的熱影響來調(diào)節(jié)冷卻資源或工作負(fù)荷。例如,在一些情況下,可以基于所估計的熱影響來打開或關(guān)閉個體計算設(shè)備風(fēng)扇,或者可以調(diào)節(jié)風(fēng)扇的速度。在其他情況下,聚合多個計算設(shè)備的所估計的熱影響,并且基于聚合的熱影響來打開或關(guān)閉諸如容器風(fēng)扇或空氣處理機(jī)的共享冷卻資源,或者調(diào)節(jié)速度。在另外的情況下,可以調(diào)節(jié)氣流偏轉(zhuǎn)器以將額外的空氣引導(dǎo)至個體計算設(shè)備或容器或者減少被引導(dǎo)至個體計算設(shè)備或容器的空氣量。
基于硬件利用的冷卻調(diào)節(jié)的示例
在一些實現(xiàn)中,基于預(yù)期溫度來執(zhí)行對特定冷卻資源的調(diào)節(jié)。例如,假定針對每個計算設(shè)備的溫度必須維持在45攝氏度以下以防止設(shè)備損壞。還假定在個體計算設(shè)備處的當(dāng)前溫度為35度,使得溫度可以增加至多10度?,F(xiàn)在,假定方法700估計在T5,在給定當(dāng)前硬件利用狀態(tài)和冷卻狀態(tài)的情況下,溫度將增加到46度。
在這一點(diǎn)上,冷卻管理系統(tǒng)410可以引起一個或多個冷卻資源增加輸出。例如,如果計算設(shè)備在具有不處于熱過載風(fēng)險的各種其它計算設(shè)備的容器中,則冷卻管理系統(tǒng)可以增加本地計算設(shè)備風(fēng)扇的速度,而不是增加將空氣引導(dǎo)至該容器的空氣處理機(jī)或者容器風(fēng)扇的速度。另一方面,如果容器中的計算設(shè)備中的若干計算設(shè)備處于熱過載風(fēng)險(例如,T5處的估計溫度超過45度)下,則冷卻管理系統(tǒng)可以代替地增加容器風(fēng)扇的速度。如果由給定空氣處理機(jī)服務(wù)的多個容器各自具有處于熱過載風(fēng)險的計算設(shè)備,則冷卻管理系統(tǒng)可以代替地增加該空氣處理機(jī)的速度。如果彼此靠近的一個或多個給定容器沒有熱過載風(fēng)險(例如,圖3中的容器200(5)和(6)),但是另一組具有熱過載風(fēng)險(例如,容器200(1-4)),則可以調(diào)節(jié)氣流引導(dǎo)器以解決這種風(fēng)險,例如通過在保持氣流引導(dǎo)器331和332打開的同時關(guān)閉氣流引導(dǎo)器333和334。
其他實現(xiàn)可以根據(jù)所估計的熱影響來協(xié)調(diào)多個冷卻資源。例如,可以在逐容器以及逐房間的基礎(chǔ)上確定和聚合服務(wù)器設(shè)施中的針對每個計算設(shè)備的熱影響??梢詰?yīng)用優(yōu)化算法來標(biāo)識計算設(shè)備風(fēng)扇速度、容器風(fēng)扇速度、空氣處理機(jī)風(fēng)扇速度和/或空氣引導(dǎo)器配置的特定集合,使得以集成方式控制服務(wù)器設(shè)施的冷卻資源。
此外,注意,硬件利用可以在任何給定工作負(fù)荷中波動。因此,臨時高的硬件利用狀態(tài)不一定意味著應(yīng)當(dāng)增加冷卻輸出。在一些實現(xiàn)中,熱影響函數(shù)用于計算緩沖能力,例如,在需要額外的冷卻資源以避免熱過載之前的估計時間量。另外的實現(xiàn)可以采用安全邊際(margin)(例如5秒),并且每當(dāng)估計的到熱過載的時間降至安全邊際以下時開始增加冷卻資源輸出(例如,風(fēng)扇速度)。取決于冷卻資源用于冷卻特定計算設(shè)備的時間有多長,另外的實現(xiàn)可以使用不同安全邊際,例如,空氣處理機(jī)可以使用幾分鐘的安全邊際,容器風(fēng)扇可以使用30秒的安全邊際,以及個體計算設(shè)備風(fēng)扇可以使用5秒的安全邊際。
此外,注意,一些實現(xiàn)可以不計算明確的熱影響。相反,冷卻管理系統(tǒng)410可以具有標(biāo)識特定硬件利用狀態(tài)并且被映射到相應(yīng)冷卻資源配置的規(guī)則。例如,第一規(guī)則可以規(guī)定,如果高速緩存命中率超過70%,存儲器傳送是最大吞吐量的至少60%,存儲傳送是最大吞吐量的至少50%,并且網(wǎng)絡(luò)傳送是最大吞吐量的至少40%,則本地計算設(shè)備風(fēng)扇速度提高10%。在一些情況下,規(guī)則還可以具有溫度參數(shù),例如,如果當(dāng)計算設(shè)備處于35度時遇到上述硬件利用狀態(tài),則風(fēng)扇速度增加10%,但是如果當(dāng)計算設(shè)備處于40度時遇到這些硬件利用狀態(tài),則風(fēng)扇速度增加50%。在這樣的實現(xiàn)中,冷卻管理系統(tǒng)可以被實現(xiàn)為個體計算設(shè)備上的本地風(fēng)扇控制器(例如,微控制器)。
此外,如上所述,一些實現(xiàn)可以考慮隨時間的波動的硬件利用。因此,可以修改上面引入的規(guī)則,使得硬件利用閾值是平均值,例如,對于過去的一分鐘。因此,在這種情況下,如果針對高速緩存命中率的過去的一分鐘的移動平均值超過70%,過去的一分鐘的針對存儲器傳送速率的移動平均值超過60%,過去的一分鐘的針對存儲傳送速率的移動平均值超過50%,并且過去的一分鐘的針對網(wǎng)絡(luò)傳送速率的移動平均值超過40%,則可以基于這些硬件利用平均值和當(dāng)前溫度來選擇給定風(fēng)扇速度。
還可以在針對多個計算設(shè)備的聚合基礎(chǔ)上定義規(guī)則。例如,可以為給定容器、服務(wù)器設(shè)施房間等中的每個計算設(shè)備確定平均高速緩存命中率、存儲器傳送速率、存儲傳送速率和網(wǎng)絡(luò)傳送速率。如果針對這些值的平均值滿足某些閾值,則可以采用類似的技術(shù)。在這種情況下,規(guī)則可以規(guī)定,當(dāng)針對容器中的計算設(shè)備的平均溫度為35度時,容器風(fēng)扇速度增加10%,并且當(dāng)針對容器中的計算設(shè)備的平均溫度為40度時,容器風(fēng)扇速度增加50%。類似地,當(dāng)針對由空氣處理機(jī)(例如,在特定房間中)冷卻的計算設(shè)備的平均溫度為35度時,空氣處理機(jī)風(fēng)扇速度可以增加10%,而當(dāng)平均溫度為40度時,空氣處理機(jī)風(fēng)扇速度可以增加50%。注意,用于聚合計算設(shè)備的平均值也可以是在一段時間(例如,最后一分鐘、最后10秒等)上的移動平均值。
基于硬件利用的工作負(fù)荷調(diào)節(jié)的示例
解決工作負(fù)荷的熱影響的另一方式是通過在個體計算設(shè)備上調(diào)度工作負(fù)荷。例如,假定給定計算設(shè)備對于處理器、存儲器、存儲裝置和網(wǎng)絡(luò)具有90%的當(dāng)前利用狀態(tài),并且處于相對高的溫度。一個或多個可執(zhí)行程序可以從該計算設(shè)備移動到具有較低溫度和/或針對硬件資源中的一個或多個具有較低利用狀態(tài)的另一計算設(shè)備。
在一些情況下,移動工作負(fù)荷可以考慮各種候選計算設(shè)備處的局部冷卻條件。例如,一些實現(xiàn)可以評估不同容器、房間或服務(wù)器設(shè)施處的局部溫度,以標(biāo)識具有足以處理高利用工作負(fù)荷的熱緩沖能力的位置。作為具體示例,假定容器200(1)中的個體計算設(shè)備對于處理器、存儲器傳送、存儲傳送和網(wǎng)絡(luò)傳送具有非常高的利用,并且處于相對高的溫度。此外,假定容器200(5)和200(6)處于相對低的溫度。一個或多個可執(zhí)行程序可以從容器200(1)移動到容器200(5)或(6),并且這足以防止熱過載和/或降低用于冷卻目的的能量消耗,即使在容器200(5)或(6)中也看到針對被移動的可執(zhí)行程序的高的利用狀態(tài)。另外,注意,另外的實現(xiàn)可以考慮容器中的給定計算設(shè)備的高度。通常,容器中的較高的計算設(shè)備受到容器中的較低的計算設(shè)備生成的熱量的影響,因此一些實現(xiàn)可以在將這一點(diǎn)考慮在內(nèi)的情況下來移動或調(diào)度可執(zhí)行程序。
作為程序配置的函數(shù)的熱影響
方法700可以用于估計熱影響,而不考慮哪些可執(zhí)行程序在給定計算設(shè)備上運(yùn)行。換言之,不管哪些可執(zhí)行程序正在運(yùn)行,上述冷卻狀態(tài)值和硬件利用值可以提供足夠的信息來導(dǎo)出對計算設(shè)備的期望的熱影響。然而,另外的實現(xiàn)可以將熱影響視為程序配置的函數(shù)??傮w思想是,特定可執(zhí)行程序可以具有特定資源利用特性,并且因此可以預(yù)期在某些情況下生成一定量的熱量。此外,在單個計算設(shè)備上一起運(yùn)行的不同可執(zhí)行程序可能傾向于以可預(yù)測的方式交互,使得可以在給定該知識的情況下預(yù)測一起運(yùn)行某些程序的熱影響。圖8示出了可以由冷卻管理系統(tǒng)410或其他系統(tǒng)執(zhí)行以計算作為給定服務(wù)器上的程序調(diào)度的函數(shù)的熱量生成的方法800。
方法800的框802可以確定個體計算設(shè)備的冷卻狀態(tài),如上面關(guān)于方法500的框502所討論的。
方法800的框804可以標(biāo)識個體計算設(shè)備上的程序配置。如本文中所使用的,術(shù)語“程序配置”指代用于在特定計算設(shè)備上同時運(yùn)行的可執(zhí)行程序的特定組合??梢葬槍Ξ?dāng)前(例如,實際運(yùn)行的)程序配置以及針對預(yù)期程序配置(例如,用于調(diào)度目的)來估計給定程序配置的熱影響。
方法800的框806可以確定程序配置的硬件利用特性。例如,如本文中其它地方所討論的,硬件利用特性可以反映針對個體可執(zhí)行程序的處理器使用特性、存儲器傳送速率特性、存儲傳送速率特性和/或網(wǎng)絡(luò)傳送速率特性。在一些實現(xiàn)中,針對個體可執(zhí)行程序單獨(dú)地確定這些特性。在其他實現(xiàn)中,考慮各種可執(zhí)行程序之間的交互以確定當(dāng)在相同處理器上執(zhí)行時可執(zhí)行程序的不同組合如何呈現(xiàn)出不同資源利用趨勢。
方法800的框808可以估計在給定冷卻狀態(tài)的情況下在程序配置中操作計算設(shè)備的熱影響。例如,如下面更詳細(xì)地討論的,給定程序配置可以被映射到預(yù)期的硬件利用狀態(tài),預(yù)期的硬件利用狀態(tài)繼而可以被用于確定所估計的熱影響。在其他實現(xiàn)中,熱影響可以作為程序配置的函數(shù)而被直接建模和估計,而不將程序配置明確地映射到預(yù)期的硬件利用狀態(tài)。
方法800的框810可以基于所估計的熱影響來調(diào)節(jié)冷卻資源或工作負(fù)荷。為了調(diào)節(jié)工作負(fù)荷,可以在計算設(shè)備上調(diào)度不同程序配置。為了調(diào)節(jié)冷卻資源,可以基于所估計的熱影響來打開或關(guān)閉個體計算設(shè)備風(fēng)扇,或者調(diào)節(jié)風(fēng)扇的速度。在其他情況下,聚合多個計算設(shè)備的所估計的熱影響,并且基于聚合的熱影響來打開或關(guān)閉諸如機(jī)架風(fēng)扇或空氣處理機(jī)的共享冷卻資源,或者調(diào)節(jié)速度。在另外的情況下,可以調(diào)節(jié)氣流偏轉(zhuǎn)器以將額外的空氣引導(dǎo)至個體計算設(shè)備或容器或者減少被引導(dǎo)至個體計算設(shè)備或容器的空氣量。
示例程序表征數(shù)據(jù)
在一些實現(xiàn)中,個體可執(zhí)行程序根據(jù)其硬件利用特性來表征。圖9示出了表征個體可執(zhí)行程序的示例程序表征數(shù)據(jù)900。在一些實現(xiàn)中,如下面更詳細(xì)地討論的,個體程序表征用于估計執(zhí)行個體程序的熱影響。
程序表征數(shù)據(jù)900包括程序ID欄901、處理器利用狀態(tài)欄902、存儲器利用狀態(tài)欄903、存儲利用狀態(tài)欄904、網(wǎng)絡(luò)利用狀態(tài)欄905、以及程序表征欄906。程序ID欄901標(biāo)識特定可執(zhí)行程序。通常,欄902-905可以類似于溫度數(shù)據(jù)600的欄606-609,但是可以表示長期平均而不是瞬時或平滑測量。例如,處理器利用狀態(tài)欄902可以表示當(dāng)執(zhí)行相應(yīng)程序時的長期平均高速緩存命中率或指令執(zhí)行速率。類似地,存儲器利用狀態(tài)欄903可以表示當(dāng)執(zhí)行欄901中的相應(yīng)程序時的長期平均存儲器傳送速率百分比,存儲利用狀態(tài)904可以表示當(dāng)執(zhí)行欄901中的相應(yīng)程序時的長期平均存儲傳送速率百分比,并且網(wǎng)絡(luò)利用狀態(tài)905可以表示當(dāng)執(zhí)行欄901中的相應(yīng)程序時的長期平均網(wǎng)絡(luò)傳送速率百分比。程序表征欄906示出了針對每個個體可執(zhí)行程序的表征,例如,標(biāo)識在欄901中標(biāo)識的相應(yīng)可執(zhí)行程序傾向于大量使用的特定資源。
在圖9中,可執(zhí)行程序1和5被表征為處理器密集型程序,因為這些可執(zhí)行程序傾向于呈現(xiàn)出對處理器和/或高速緩存電路的密集使用。例如,可執(zhí)行程序1和5可以是高性能計算應(yīng)用,諸如流體動力學(xué)計算、涉及大型矩陣乘法的雷達(dá)導(dǎo)航計算等??蓤?zhí)行程序2和6被表征為存儲器密集型程序,因為這些程序傾向于呈現(xiàn)出對存儲器和/或存儲器總線電路的密集使用。例如,可執(zhí)行程序2和6可以是在圖形卡(未示出)與存儲器之間使用大的存儲器傳送的圖形密集型程序??蓤?zhí)行程序3和7被表征為存儲密集型程序,因為這些程序傾向于呈現(xiàn)出對存儲設(shè)備和存儲總線電路的密集使用。例如,可執(zhí)行程序3和7可以是高性能數(shù)據(jù)庫應(yīng)用,其執(zhí)行大量存儲記錄以維持事務(wù)一致性。可執(zhí)行程序4和8被表征為網(wǎng)絡(luò)密集型程序,因為這些程序傾向于呈現(xiàn)出對網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)總線電路的密集使用。例如,可執(zhí)行程序4和8可以是通過網(wǎng)絡(luò)設(shè)備發(fā)送和/或接收大量流媒體數(shù)據(jù)的流媒體(視頻、音頻等)應(yīng)用。
注意,出于說明某些發(fā)明構(gòu)思的目的,有意地簡化了圖9所示的表征。某些可執(zhí)行程序可能傾向于密集地使用多個資源,例如,可以呈現(xiàn)出高的網(wǎng)絡(luò)傳送速率和存儲傳送速率等。此外,可執(zhí)行程序可以根據(jù)它們正在處理的數(shù)據(jù)或其他因素來在各種時間在它們?nèi)绾蝺A向于使用資源時進(jìn)行波動。
因為可執(zhí)行程序在它們?nèi)绾问褂觅Y源時可以呈現(xiàn)出波動,所以上面討論的相應(yīng)資源利用特性可以反映給定應(yīng)用的資源利用趨勢。例如,一些實現(xiàn)可以使用概率方法來表征存儲器、存儲裝置和/或網(wǎng)絡(luò)設(shè)備的處理器利用或數(shù)據(jù)傳送速率。其他實現(xiàn)可以對個體程序的資源使用進(jìn)行排名或加權(quán),并且根據(jù)它們相對于其他程序傾向于最密集地使用哪些資源來表征這些程序。更一般地,如本文中所使用的術(shù)語“利用特性”指代描述給定程序或程序配置的資源使用的大范圍的定量和/或定性測量。
示例程序配置數(shù)據(jù)
如上所述,一些實現(xiàn)可以單獨(dú)考慮個體可執(zhí)行程序,并且基于個體可執(zhí)行程序的特性來估計不同應(yīng)用配置的熱特性。然而,如前所述,有時可執(zhí)行程序在單獨(dú)運(yùn)行時呈現(xiàn)出某些資源使用模式,但是在與另一可執(zhí)行程序相同的處理器上執(zhí)行時改變其資源使用模式。圖10示出了表征程序配置(例如,可執(zhí)行程序的不同組合)的示例性程序配置數(shù)據(jù)1000。在一些實現(xiàn)中,如下面更詳細(xì)地討論的,個體程序配置用于預(yù)測熱影響。
程序配置數(shù)據(jù)1000包括配置欄1001、程序ID欄1002、1003、1004和1005、處理器利用狀態(tài)欄1006、存儲器利用狀態(tài)欄1007、存儲利用狀態(tài)欄1008以及網(wǎng)絡(luò)利用狀態(tài)欄1009。配置欄使用字母指定來指代在給定計算設(shè)備上運(yùn)行的可執(zhí)行程序的特定組合,例如在處理器的不同核心上。因此,配置A可以包括在核心121上執(zhí)行的可執(zhí)行程序1、在核心122上的可執(zhí)行程序2、在核心123上的可執(zhí)行程序3和在核心124上的可執(zhí)行程序4。同樣,配置B具有在核心121上的可執(zhí)行程序1、在核心122上的可執(zhí)行程序5、在核心123上的可執(zhí)行程序3、在核心124上的可執(zhí)行程序4等。
欄1006-1009表示與圖9的欄902-905類似的數(shù)據(jù),例如,針對各種硬件資源的長期平均利用狀態(tài)。然而,注意,程序配置數(shù)據(jù)1000示出了當(dāng)相應(yīng)程序在相同計算設(shè)備上彼此組合運(yùn)行時測量的這些狀態(tài),并且因此可以考慮可以在個體程序之間發(fā)生的某些交互。
如圖10所示,配置A具有以下的長期平均:89%的處理器利用(例如,高速緩存命中率)、91%的存儲器利用(例如,存儲器總線速率)、93%的存儲利用(例如,存儲總線速率)、89%的網(wǎng)絡(luò)利用(例如,網(wǎng)絡(luò)總線速率)。因此,配置A可以被認(rèn)為對于每個硬件資源呈現(xiàn)出高的資源利用,并且可以預(yù)期呈現(xiàn)出高的熱量生成特性。返回參考圖9,注意,配置A使用四個可執(zhí)行程序,這四個可執(zhí)行程序在它們?nèi)绾问褂糜布Y源方面往往是互斥的,例如,可執(zhí)行程序1傾向于是處理器密集型的,可執(zhí)行程序2傾向于是存儲器帶寬密集型的,可執(zhí)行程序3傾向于是存儲帶寬密集的,并且可執(zhí)行程序4傾向于是網(wǎng)絡(luò)帶寬密集的。
現(xiàn)在,考慮配置B,其包括可執(zhí)行程序1(處理器密集型的)、可執(zhí)行程序5(處理器密集型的)、可執(zhí)行程序3(存儲帶寬密集型的)和可執(zhí)行程序4(網(wǎng)絡(luò)帶寬密集型的)。此配置呈現(xiàn)出相對高的存儲利用和網(wǎng)絡(luò)利用,但是相對適度的處理器和存儲器利用。直觀地,相對適度的存儲器利用可以是不具有對于存儲器總線特別地帶寬密集的任何可執(zhí)行程序的配置的函數(shù)。然而,該配置具有兩個可執(zhí)行程序(1和5),這兩個可執(zhí)行程序通常是處理器密集型的,但是在該配置中的處理器利用相對適度,可能比單獨(dú)運(yùn)行時的可執(zhí)行程序更少。如前所述,這可能由針對共享資源(在這種情況下是高速緩存)的競爭引起。由于可執(zhí)行程序1和5都需要周期性地等待高速緩存,以便在它們相應(yīng)核心上運(yùn)行,所以將這兩個可執(zhí)行程序一起運(yùn)行的凈效果是降低的高速緩存利用和/或降低的指令執(zhí)行速率。
類似地,配置C示出了由于處理器密集型可執(zhí)行程序1和網(wǎng)絡(luò)密集型可執(zhí)行程序4而導(dǎo)致的高的處理器和網(wǎng)絡(luò)利用。在該配置中的存儲利用相對適度,因為四個可執(zhí)行程序中沒有一個是特別地存儲帶寬密集型的。此外,因為可執(zhí)行程序2和6兩者都是存儲器帶寬密集型的,所以這兩個可執(zhí)行程序傾向于競爭對存儲器總線的控制,并且因此與當(dāng)可執(zhí)行程序2或6單獨(dú)操作時相比,整體效果是更低的存儲器帶寬使用。
類似的推理適用于配置D,配置D由于處理器密集型的可執(zhí)行程序1和存儲器帶寬密集型的可執(zhí)行程序2而顯示出高的處理器和存儲器利用。在該配置中的網(wǎng)絡(luò)帶寬利用相對適度,因為四個可執(zhí)行程序中沒有一個是特別地網(wǎng)絡(luò)密集型的。此外,因為可執(zhí)行程序3和7兩者都是存儲帶寬密集型的,所以這兩個可執(zhí)行程序傾向于競爭對存儲總線的控制,并且因此與當(dāng)可執(zhí)行程序3或7單獨(dú)操作時相比,整體效果是更低的存儲帶寬使用。
類似的推理適用于配置E,配置E由于存儲器帶寬密集型的可執(zhí)行程序2和存儲帶寬密集型的可執(zhí)行程序3而顯示出高的存儲器和存儲利用。在該配置中的處理器利用相對適度,因為四個可執(zhí)行程序中沒有一個是特別地處理器密集型的。此外,因為可執(zhí)行程序4和8都是網(wǎng)絡(luò)帶寬密集型的,所以這兩個可執(zhí)行程序傾向于競爭對網(wǎng)絡(luò)總線的控制,并且因此與當(dāng)可執(zhí)行程序4或8單獨(dú)操作時相比,整體效果是更低的網(wǎng)絡(luò)帶寬使用。
更一般地,程序配置數(shù)據(jù)1000可以用于表征不同應(yīng)用配置的硬件利用趨勢或模式。配置A可以被表征為針對處理器、存儲器、存儲裝置和網(wǎng)絡(luò)資源具有高的資源利用趨勢。配置B可以被表征為針對存儲和網(wǎng)絡(luò)具有高的資源利用趨勢,但是針對處理器和存儲器具有適度或低的資源利用趨勢。配置C可以被表征為針對處理器和網(wǎng)絡(luò)具有高的資源利用趨勢,但是針對存儲器和存儲裝置具有適度或低的資源利用趨勢。配置D可以被表征為針對處理器和存儲器具有高的資源利用趨勢,但是對于存儲裝置和網(wǎng)絡(luò)具有適度或低的資源利用趨勢。配置E可以被表征為針對存儲器和存儲裝置具有高的資源利用趨勢,但是針對處理器和網(wǎng)絡(luò)具有適度或低的資源利用趨勢。
在一些情況下,長期平均硬件利用值可以用于計算針對每個配置的預(yù)期熱影響。例如,長期值可以用在如上面關(guān)于方法500所討論的函數(shù)或其他熱模型中。更一般地,傾向于呈現(xiàn)出互斥的資源利用的程序配置可以被表征為熱密集型配置,并且傾向于呈現(xiàn)出對資源的相互競爭的程序配置可以被表征為不太熱密集型的配置。通常,更積極的冷卻策略可以用于更加熱密集型的配置。
此外,注意,圖10所示的程序配置數(shù)據(jù)1000是引入上面討論的概念的示例。在實踐中,程序配置可以呈現(xiàn)出很多不同資源利用模式。例如,返回參考配置C,其包括存儲器帶寬密集型的兩個可執(zhí)行程序——程序2和6。如上所述,這些可執(zhí)行程序可能傾向于競爭對存儲器總線的控制,導(dǎo)致比當(dāng)可執(zhí)行程序2或6單獨(dú)操作時更低的存儲器帶寬使用。然而,如果程序配置C在不同計算設(shè)備上運(yùn)行,則這可以改變。
例如,假定配置C被移動到具有快得多的存儲器總線的另一計算設(shè)備。在這種情況下,可執(zhí)行程序2和6可以在該計算設(shè)備上呈現(xiàn)出低得多的存儲器總線利用,例如可能每個35%。因此,對于這兩個程序的資源沖突的可能性被較快的總線減少,并且配置C可以在具有較快的存儲器總線的計算設(shè)備上平均65%的存儲器總線利用。
然而,如果與程序2和6兩者一起調(diào)度具有密集型存儲器總線利用的第三可執(zhí)行程序,即使具有較快的存儲器總線,由于三個存儲器總線密集型應(yīng)用之間的資源沖突,凈存儲器總線利用也可能減少。例如,在所有三個程序同時運(yùn)行的情況下,存儲器總線利用可能為50%。更一般地,當(dāng)密集地使用該資源的兩個程序被調(diào)度為同時運(yùn)行時,給定資源的總體利用不一定會減少。相反,可能存在“臨界點(diǎn)”,其中調(diào)度密集地使用該特定資源的另一程序?qū)е沦Y源的利用減少而不是增加。因此,在具有快的存儲器總線的計算設(shè)備上運(yùn)行多個同時的存儲器總線密集型程序可能傾向于增加熱量生成直到達(dá)到該臨界點(diǎn),并且此后,隨著另外的存儲器密集型程序被添加,熱量生成可能傾向于減少。這也可以是本文中所討論的其他資源的情況,并且因此一些實現(xiàn)可以相應(yīng)地估計各種程序配置的熱影響。
基于程序配置的冷卻調(diào)節(jié)的示例
通常,可以基于作為程序配置的函數(shù)而被估計的熱影響來采用本文中其它地方描述的任何冷卻資源調(diào)節(jié)。例如,特定程序配置可以具有相關(guān)聯(lián)的風(fēng)扇速度或風(fēng)扇閾值。作為一個具體示例,程序配置A可以具有用于運(yùn)行個體計算設(shè)備風(fēng)扇的相關(guān)聯(lián)的規(guī)則。當(dāng)給定計算設(shè)備正在配置A中運(yùn)行時,計算設(shè)備風(fēng)扇可以在30度處以全速的25%打開,在35度處增加到50%,并且在38度處增加到100%。相比之下,針對配置B的另一規(guī)則可以規(guī)定設(shè)備風(fēng)扇在35度處為25%,在38度處為50%,并且在40度處為100%。這里的一般想法是,配置B預(yù)期比配置A生成更少的熱量,因此設(shè)置相應(yīng)閾值和風(fēng)扇速率,使得風(fēng)扇針對配置B被不太積極地使用。
如前所討論的,冷卻資源還可以針對例如在個體容器、房間或服務(wù)器設(shè)施中的計算設(shè)備組進(jìn)行協(xié)調(diào)。例如,一種方法可以基于容器中的多個計算設(shè)備的配置來控制容器風(fēng)扇。如果容器中的每個計算設(shè)備正在運(yùn)行配置A,則可以使用積極的容器風(fēng)扇方法,例如,當(dāng)容器中的平均溫度為30度處,以全速的25%打開容器風(fēng)扇,在35度處以全速的50%打開容器風(fēng)扇,在38度處以全速的100%打開容器風(fēng)扇。如果每個計算設(shè)備正在運(yùn)行配置B,則可以使用不太積極的方法,例如,在35度處以25%打開容器風(fēng)扇,在38度處以50%打開容器風(fēng)扇,在40度處以100%打開容器風(fēng)扇。在混合配置正在給定容器中運(yùn)行的情況下,可以定義中間規(guī)則,例如,具有配置A中的2個計算設(shè)備和配置B中的兩個計算設(shè)備的容器可以在33度處以全速的25%打開容器風(fēng)扇,在37度處以全速的50%打開容器風(fēng)扇,在39度處以全速的100%打開容器風(fēng)扇。一些實現(xiàn)可以在特定溫度處規(guī)定的風(fēng)扇速度之間進(jìn)行插值,以確定用于未規(guī)定溫度的風(fēng)扇速度。
該邏輯可以類似地擴(kuò)展到服務(wù)器設(shè)施的房間、服務(wù)器設(shè)施中的位置或整個服務(wù)器設(shè)施。在運(yùn)行相對熱密集型的應(yīng)用配置的服務(wù)器設(shè)施中的位置(例如,主要運(yùn)行配置A的房間)可以相對于在不太密集的配置(例如,主要運(yùn)行配置B的另一房間)中的另一位置接收額外的冷卻資源。即使當(dāng)兩個位置中的溫度相同時,也可以是這種情況,因為配置A通常預(yù)期生成更多的熱量。
還應(yīng)當(dāng)注意,用于打開各種冷卻資源的閾值可以不如對于反應(yīng)性方法的情況那樣保守。例如,在反應(yīng)性方法中,一旦在任何個體計算設(shè)備處的溫度達(dá)到35度,則空氣處理機(jī)風(fēng)扇可以以100%打開。該35度閾值可以基于最壞情況,該最壞情況考慮該計算設(shè)備上的非常高的資源利用以及其他附近計算設(shè)備(例如,在相同或附近的容器中)的高的熱量生成。所公開的實現(xiàn)可以允許空氣處理機(jī)以較低速度和/或較高溫度被打開。這是因為所公開的實現(xiàn)能夠通過各種程序配置來估計未來的熱量生成,并且因此不一定假定針對每個計算設(shè)備的最壞情況。
基于程序配置的工作負(fù)荷調(diào)節(jié)的示例
一些實現(xiàn)可以考慮在不同計算設(shè)備上調(diào)度可執(zhí)行程序時應(yīng)用的熱特性。例如,假定需要在計算設(shè)備上調(diào)度程序3(存儲密集型),并且兩個不同計算設(shè)備具有空閑調(diào)度時隙(例如,空閑核心)。此外,假定兩個計算設(shè)備已經(jīng)處于相對高的溫度。如果第一計算設(shè)備已經(jīng)運(yùn)行處理器密集型、存儲器密集型程序和網(wǎng)絡(luò)密集型程序,而沒有運(yùn)行存儲密集型程序,則程序3可能在第一計算設(shè)備上很大程度上不受禁止地運(yùn)行,并且通過具有對存儲設(shè)備的不受限制的訪問生成大量熱量。另一方面,如果第二計算設(shè)備已經(jīng)運(yùn)行存儲密集型程序,則程序1可能在該計算設(shè)備上競爭存儲總線,并且導(dǎo)致第二計算設(shè)備生成較少的熱量。
解決這種情況的一種方式是在第二計算設(shè)備上調(diào)度程序3,使得生成較少的熱量。然而,注意,這樣做通常意味著第二計算設(shè)備上的存儲設(shè)備將看到較低的利用。通常,服務(wù)器設(shè)施操作員不希望以低利用運(yùn)行他們的計算設(shè)備。相反,他們希望有效地使用他們的冷卻資源,同時以高利用運(yùn)行他們的計算設(shè)備。因此,一些實現(xiàn)可以在第一計算設(shè)備上調(diào)度程序3。因為程序3可能需要一些時間來開始運(yùn)行和形成熱量,所以另外的實現(xiàn)可以在程序3甚至被調(diào)度運(yùn)行之前預(yù)冷卻第一計算設(shè)備。
從另一個角度看,一些實現(xiàn)可以旨在在給定計算設(shè)備上調(diào)度相互兼容的程序。出于本文檔的目的,術(shù)語“相互兼容”意味著傾向于使用不相交的資源集合的一組程序。例如,配置A表示相互兼容的配置,因為配置A中的每個程序傾向于大量使用不同資源,并且因此配置A中的計算設(shè)備傾向于針對其上的每個硬件資源具有高的資源利用。
現(xiàn)在,考慮運(yùn)行應(yīng)用2、3和4的計算設(shè)備。一些實現(xiàn)可以優(yōu)選地調(diào)度該計算設(shè)備上的應(yīng)用1或5,而不是應(yīng)用6、7和8,因為應(yīng)用1和5不太可能與現(xiàn)有應(yīng)用2、3和4競爭資源。然而,因為該調(diào)度方法的可能結(jié)果是增加的熱量利用,一些實現(xiàn)可以甚至在應(yīng)用1和5在其上被調(diào)度之前,向該計算設(shè)備分配額外的冷卻資源。例如,一些實現(xiàn)可以在預(yù)期程序1或5開始與計算設(shè)備上的應(yīng)用2、3和4一起執(zhí)行時開始預(yù)冷卻計算設(shè)備。
作為另一示例,一些實現(xiàn)可以優(yōu)選地在運(yùn)行程序1、3和4的計算設(shè)備上調(diào)度程序2或6。同樣,一些實現(xiàn)可以優(yōu)選地在運(yùn)行程序1、2和4的計算設(shè)備上調(diào)度程序3或7。類似地,一些實現(xiàn)可以優(yōu)選地在運(yùn)行程序1、2和3的計算設(shè)備上調(diào)度程序4或8。在每種情況下,冷卻管理系統(tǒng)410可以在預(yù)期運(yùn)行熱密集型工作負(fù)荷的情況下預(yù)冷計算設(shè)備。
通常,可以使用本文中所討論的任何冷卻資源執(zhí)行預(yù)冷卻。例如,可以通過打開或增加本地計算設(shè)備風(fēng)扇、容納計算設(shè)備的容器的容器風(fēng)扇和/或冷卻多個容器的空氣處理機(jī)來預(yù)冷卻個體計算設(shè)備,多個容器包括容納個體計算設(shè)備的容器。如前所述,流體泵或閥以及各種類型的流引導(dǎo)器、百葉窗和通風(fēng)口也可以用于預(yù)冷計算設(shè)備。
冷卻資源和程序配置的聯(lián)合優(yōu)化
上述討論主要獨(dú)立地處理冷卻資源和程序調(diào)度。然而,另外的實現(xiàn)可以考慮采用冷卻資源調(diào)節(jié)以及調(diào)度兩者的熱管理策略的各種組合。例如,一些實現(xiàn)可以考慮各種潛在的調(diào)度和冷卻配置并且評估預(yù)期熱影響。
作為具體示例,假定服務(wù)器設(shè)施想要在不同計算設(shè)備上運(yùn)行相等數(shù)目的配置A和配置B的實例,并且將計算設(shè)備溫度限制到不超過40度。冷卻管理系統(tǒng)410可以評估各種替代布置方案。例如,一些方案可以在每個容器上運(yùn)行配置A和B,在相同房間內(nèi)跨不同容器分離配置A和B,或者甚至分離服務(wù)器設(shè)施,使得給定房間中的所有容器僅運(yùn)行一個配置。冷卻管理系統(tǒng)還可以評估與計算設(shè)備風(fēng)扇速度、容器風(fēng)扇速度、空氣處理機(jī)速度和偏轉(zhuǎn)器配置的各種組合相關(guān)聯(lián)的能量消耗。在一些情況下,可以采用優(yōu)化算法來實現(xiàn)程序調(diào)度和冷卻資源配置的最佳或接近最佳組合。
更一般地,通過聚集個體計算設(shè)備上的個體程序配置的預(yù)期熱影響,可以獲得服務(wù)器設(shè)施的總體透視圖。由于每個個體冷卻資源可以是單獨(dú)可控的,并且調(diào)度機(jī)制允許在不同計算設(shè)備上運(yùn)行不同配置,因此可以評估大范圍的可能的工作布置和冷卻資源配置。
設(shè)備實現(xiàn)
返回參考圖4,所示的環(huán)境400包括若干部件。在這種情況下,出于解釋的目的,部件被表征為冷卻管理系統(tǒng)410、客戶端設(shè)備430以及服務(wù)器設(shè)施300(1)、300(2)和300(3)。在該示例中,冷卻管理系統(tǒng)可以表現(xiàn)為服務(wù)器計算設(shè)備、桌面、平板、膝上型設(shè)備等。通常,只要設(shè)備具有一些計算硬件,則該設(shè)備就可以用作根據(jù)所公開的實現(xiàn)的冷卻管理系統(tǒng)。當(dāng)然,可以不示出所有的設(shè)備實現(xiàn),并且從上面和下面的描述中,其他設(shè)備實現(xiàn)對于本領(lǐng)域技術(shù)人員應(yīng)該是清楚的。
如本文中所使用的術(shù)語“設(shè)備”、“計算機(jī)”、“計算設(shè)備”、“客戶端設(shè)備”和/或“服務(wù)器設(shè)施”可以表示具有一定量的硬件處理能力(例如,處理資源411)和/或硬件存儲/存儲器能力(例如存儲器/存儲資源412)的任何類型的設(shè)備。處理能力可以由可以執(zhí)行計算機(jī)可讀指令以提供功能的一個或多個處理器(例如,硬件處理單元/核心)提供。計算機(jī)可讀指令和/或數(shù)據(jù)可以存儲在存儲裝置或存儲器上。
存儲裝置/存儲器可以在設(shè)備內(nèi)部或外部。除了其他以外,存儲裝置可以包括易失性或非易失性存儲器、硬盤驅(qū)動器、閃存設(shè)備和/或光存儲設(shè)備(例如,CD,DVD等)中的任何一個或多個。如本文中所使用的,術(shù)語“計算機(jī)可讀介質(zhì)”可以包括信號。相比之下,術(shù)語“計算機(jī)可讀存儲介質(zhì)”不包括信號。計算機(jī)可讀存儲介質(zhì)包括“計算機(jī)可讀存儲設(shè)備”。除了其他以外,計算機(jī)可讀存儲設(shè)備的示例包括易失性存儲介質(zhì)(諸如RAM)以及非易失性存儲介質(zhì)(諸如硬盤驅(qū)動器、光盤和閃存等)。
在一些情況下,設(shè)備配置有通用處理器和存儲裝置/存儲器。在其他情況下,設(shè)備可以包括片上系統(tǒng)(SOC)類型設(shè)計。在SOC設(shè)計實現(xiàn)中,由設(shè)備提供的功能可以集成在單個SOC或多個耦合的SOC上。一個或多個相關(guān)聯(lián)的處理器可以被配置為與共享資源(諸如存儲器、存儲裝置等)和/或一個或多個專用資源(例如被配置為執(zhí)行某些特定功能的硬件塊)協(xié)調(diào)。因此,如本文中所使用的術(shù)語“處理器”還可以指代適用于在常規(guī)計算架構(gòu)以及SOC設(shè)計中實現(xiàn)的中央處理單元(CPU)、圖形處理單元(GPU)、控制器、微控制器、處理器核心或其他類型的處理設(shè)備。
在一些配置中,建模模塊413和/或控制模塊414可以在設(shè)備的制造期間作為硬件、固件或軟件安裝,或者由準(zhǔn)備將設(shè)備銷售給終端用戶的中介來安裝。在其他情況下,終端用戶可以稍后安裝這些模塊,例如通過下載可執(zhí)行代碼并且在相應(yīng)設(shè)備上安裝可執(zhí)行代碼。
還要注意,設(shè)備通??梢跃哂休斎牒?或輸出功能。例如,計算設(shè)備可以具有各種輸入機(jī)構(gòu),諸如鍵盤、鼠標(biāo)、觸摸板、語音識別等。設(shè)備還可以具有各種輸出機(jī)構(gòu),諸如打印機(jī)、監(jiān)視器等。
還要注意,本文中所描述的設(shè)備可以以獨(dú)立或協(xié)作方式工作以實現(xiàn)所描述的技術(shù)。例如,本文中所討論的方法可以在單個計算設(shè)備上執(zhí)行和/或分布在通過一個或多個網(wǎng)絡(luò)420通信的多個計算設(shè)備上。不受限制地,一個或多個網(wǎng)絡(luò)420可以包括一個或多個局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng)等。
在一些情況下,冷卻管理系統(tǒng)410通過向個體冷卻資源和/或計算設(shè)備發(fā)送指令來操作。例如,冷卻管理系統(tǒng)可以是遠(yuǎn)程定位的計算機(jī),其向每個服務(wù)器設(shè)施發(fā)送冷卻指令以調(diào)節(jié)空氣處理機(jī)、氣流引導(dǎo)器、容器風(fēng)扇、計算設(shè)備風(fēng)扇、泵、閥、通風(fēng)口、百葉窗等。還向個體計算設(shè)備發(fā)送調(diào)度指令以調(diào)節(jié)工作負(fù)荷,如本文中其它地方所討論的。
在其他情況下,冷卻管理系統(tǒng)410本地設(shè)置在每個服務(wù)器設(shè)施中,例如,服務(wù)器設(shè)施300(1)中的一個冷卻管理系統(tǒng),服務(wù)器設(shè)施300(2)中的另一冷卻管理系統(tǒng),以及服務(wù)器設(shè)施300(3)中的另一冷卻管理系統(tǒng)。在一些情況下,冷卻管理系統(tǒng)在如圖3所示的容器之一中的個體計算設(shè)備上執(zhí)行,但在其他情況下位于服務(wù)器設(shè)施中的其他位置,例如在控制室中。
還如上所述,冷卻管理系統(tǒng)410可以被提供作為微控制器或其他專用控制電路(例如,F(xiàn)PGA、ASIC)。在一些情況下,冷卻管理系統(tǒng)可以位于個體計算設(shè)備的母板或背板上,并且僅控制其上的本地計算設(shè)備風(fēng)扇。在其他情況下,冷卻管理系統(tǒng)可以被提供作為多個計算設(shè)備的容器中的專用控制電路,并且從這些計算設(shè)備接收冷卻狀態(tài)數(shù)據(jù)。在這種情況下,冷卻管理系統(tǒng)可以控制本地容器風(fēng)扇,并且在一些情況下,控制針對控制容器中的計算設(shè)備的計算設(shè)備風(fēng)扇。類似地,冷卻管理系統(tǒng)可以被提供作為針對服務(wù)器設(shè)施的個體房間、針對整個服務(wù)器設(shè)施或根據(jù)服務(wù)器設(shè)施的具體布局的其他配置的專用控制電路。
另外的示例
本文中所討論的各種示例可以包括具有硬件處理單元和存儲指令的硬件存儲設(shè)備的第一系統(tǒng)示例。當(dāng)由硬件處理單元執(zhí)行時,第一系統(tǒng)示例的指令可以引起硬件處理單元在各個時間測量與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。計算設(shè)備可以具有硬件資源,該硬件資源包括處理器、存儲器設(shè)備和存儲設(shè)備。指令還可以引起硬件處理單元在各個時間確定計算設(shè)備的硬件利用狀態(tài)。硬件利用狀態(tài)可以包括與處理器相關(guān)聯(lián)的處理器利用狀態(tài)、與存儲器設(shè)備相關(guān)聯(lián)的存儲器利用狀態(tài)、以及與存儲設(shè)備相關(guān)聯(lián)的存儲利用狀態(tài)。指令還可以引起硬件處理單元測量在冷卻狀態(tài)和硬件利用狀態(tài)下的操作對計算設(shè)備的熱影響。指令還可以引起硬件處理單元根據(jù)冷卻狀態(tài)和硬件利用狀態(tài)來建模熱影響。在第二系統(tǒng)示例中,第一系統(tǒng)示例的硬件利用狀態(tài)包括與計算設(shè)備的網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的網(wǎng)絡(luò)利用狀態(tài)。在第三系統(tǒng)示例中,第一或第二系統(tǒng)示例的指令引起硬件處理單元通過以下方式來建模熱影響:采用回歸算法確定針對處理器利用狀態(tài)的第一系數(shù)、針對存儲器利用狀態(tài)的第二系數(shù)、針對存儲利用狀態(tài)的第三系數(shù)、以及針對網(wǎng)絡(luò)利用狀態(tài)的第四系數(shù)。
本文中所討論的各種示例還可以包括具有硬件處理單元和存儲指令的硬件存儲設(shè)備的第一附加系統(tǒng)示例。第一附加系統(tǒng)示例的指令可以引起硬件處理單元確定與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。計算設(shè)備可以具有硬件資源,該硬件資源包括處理器和另一硬件資源。指令還可以引起硬件處理單元確定計算設(shè)備的硬件利用狀態(tài)。硬件利用狀態(tài)可以包括處理器利用狀態(tài)和與另一硬件資源相關(guān)聯(lián)的另一硬件利用狀態(tài)。指令還可以引起硬件處理單元估計在冷卻狀態(tài)和硬件利用狀態(tài)下的操作對計算設(shè)備的熱影響。在第二附加系統(tǒng)示例中,第一附加系統(tǒng)示例的指令可以引起硬件處理單元基于所估計的熱影響來調(diào)節(jié)冷卻資源。在第三附加系統(tǒng)示例中,第二附加系統(tǒng)示例的冷卻資源是本地計算設(shè)備風(fēng)扇。在第四附加系統(tǒng)示例中,第一至第三附加系統(tǒng)示例可以被實現(xiàn)為個體計算設(shè)備上的專用冷卻控制電路或被實現(xiàn)為單獨(dú)的計算設(shè)備。在第五附加系統(tǒng)示例中,第一至第四附加系統(tǒng)示例的另一硬件資源包括存儲器設(shè)備,并且另一硬件使用狀態(tài)反映用于在處理器與存儲器設(shè)備之間通信的存儲器總線上的傳送速率。在第六附加系統(tǒng)示例中,第一至第五附加系統(tǒng)示例的另一硬件資源包括存儲設(shè)備,并且另一硬件使用狀態(tài)反映用于在處理器與存儲設(shè)備之間通信的存儲總線上的傳送速率。在第七附加系統(tǒng)示例中,第一至第六附加系統(tǒng)示例的另一硬件資源包括網(wǎng)絡(luò)設(shè)備,并且另一硬件利用狀態(tài)反映用于在處理器與網(wǎng)絡(luò)設(shè)備之間通信的網(wǎng)絡(luò)總線上的傳送速率。
本文中所討論的各種示例還可以包括第一方法示例,其包括確定與計算設(shè)備相關(guān)聯(lián)的冷卻狀態(tài)。計算設(shè)備可以具有硬件資源,該硬件資源包括處理器以及存儲器設(shè)備、存儲設(shè)備或網(wǎng)絡(luò)設(shè)備中的至少一項。第一方法示例還可以包括標(biāo)識針對計算設(shè)備的程序配置。程序配置可以包括與第二可執(zhí)行程序同時地在計算設(shè)備上運(yùn)行的第一可執(zhí)行程序。第一方法示例還可以包括確定程序配置的硬件利用特性。硬件利用特性可以包括程序配置的處理器利用特性和數(shù)據(jù)傳送特性。數(shù)據(jù)傳送特性可以反映存儲器設(shè)備、存儲設(shè)備或網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)傳送。第一方法示例還可以包括估計當(dāng)計算設(shè)備處于冷卻狀態(tài)時在計算設(shè)備上操作程序配置的熱影響。在第二方法示例中,第一方法示例的處理器包括第一核心和第二核心,并且程序配置包括在第一核心上運(yùn)行的第一可執(zhí)行程序和在第二核心上運(yùn)行的第二可執(zhí)行程序。在第三方法示例中,確定第一或第二方法示例的程序配置的硬件利用特性包括在處理器上一起執(zhí)行第一可執(zhí)行程序和第二可執(zhí)行程序,并且基于當(dāng)?shù)谝豢蓤?zhí)行程序和第二可執(zhí)行程序都在處理器上運(yùn)行時的處理器的平均處理器利用狀態(tài)來確定處理器利用特性。在第四方法示例中,確定第一至第三方法示例的程序配置的硬件利用特性包括在處理器上一起執(zhí)行第一可執(zhí)行程序和第二可執(zhí)行程序,并且基于當(dāng)?shù)谝豢蓤?zhí)行程序和第二可執(zhí)行程序都在處理器上運(yùn)行時的平均存儲器利用狀態(tài)來確定數(shù)據(jù)傳送特性。在第五方法示例中,確定第一至第四方法示例的程序配置的硬件利用特性包括在處理器上一起執(zhí)行第一可執(zhí)行程序和第二可執(zhí)行程序,并且基于當(dāng)?shù)谝豢蓤?zhí)行程序和第二可執(zhí)行程序都在處理器上運(yùn)行時的平均存儲利用狀態(tài)來確定數(shù)據(jù)傳送特性。在第六方法示例中,確定第一至第五方法示例的程序配置的硬件利用特性包括在處理器上一起執(zhí)行第一可執(zhí)行程序和第二可執(zhí)行程序,并且基于當(dāng)?shù)谝豢蓤?zhí)行程序和第二可執(zhí)行程序都在處理器上運(yùn)行時的平均網(wǎng)絡(luò)利用狀態(tài)來確定數(shù)據(jù)傳送特性。在第七方法示例中,第一至第六方法示例包括在計算設(shè)備上執(zhí)行程序配置之前,基于所估計的熱影響來調(diào)節(jié)冷卻資源。在第八方法示例中,第一至第七方法示例的冷卻資源包括個體計算設(shè)備風(fēng)扇、容器風(fēng)扇或空氣處理機(jī)風(fēng)扇。在第九方法示例中,第一至第八方法示例的冷卻資源包括引導(dǎo)流體以冷卻計算設(shè)備的泵或閥。在第十方法示例中,第一至第九方法示例包括通過選擇在計算設(shè)備上運(yùn)行的另一程序配置來調(diào)節(jié)計算設(shè)備上的工作負(fù)荷??梢曰诹硪怀绦蚺渲玫牧硪还烙嫷臒嵊绊憗磉x擇另一程序配置。
結(jié)論
盡管以結(jié)構(gòu)特征和/或方法動作專用的語言描述了主題,但是應(yīng)當(dāng)理解,所附權(quán)利要求中定義的主題不一定限于上述具體特征或動作。相反,上述具體特征和動作被公開作為實現(xiàn)權(quán)利要求的示例形式,并且本領(lǐng)域技術(shù)人員將認(rèn)識到的其他特征和動作旨在落入權(quán)利要求的范圍內(nèi)。