TW202414188A - 計算系統及計算系統進行部分高速緩存去激活的方法 - Google Patents
計算系統及計算系統進行部分高速緩存去激活的方法 Download PDFInfo
- Publication number
- TW202414188A TW202414188A TW112133303A TW112133303A TW202414188A TW 202414188 A TW202414188 A TW 202414188A TW 112133303 A TW112133303 A TW 112133303A TW 112133303 A TW112133303 A TW 112133303A TW 202414188 A TW202414188 A TW 202414188A
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- computing system
- power
- deactivation
- memory hierarchy
- Prior art date
Links
- 230000009849 deactivation Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000036961 partial effect Effects 0.000 title claims abstract description 26
- 230000008859 change Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 102100034032 Cytohesin-3 Human genes 0.000 description 5
- 101710160297 Cytohesin-3 Proteins 0.000 description 5
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 4
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
一種計算系統進行部分高速緩存去激活的方法,包括:基於包括電壓和溫度的高速緩存的操作條件來估計高速緩存的洩漏功率;基於高速緩存命中計數將該高速緩存的一個或多個區域識別為去激活的候選區域;和基於該洩漏功率和位於該計算系統的記憶體層級結構中的高速緩存的下一級的記憶體層級結構設備的帶寬來調整該高速緩存的去激活區域的大小。
Description
本發明的實施例涉及計算機系統;更具體地,涉及計算機系統中的共享高速緩存(shared cache)的管理以平衡性能和功耗。
現代計算機系統通常包括由多級(level)高速緩存組成的高速緩存層級結構以提高性能。高速緩存(cache)是小型且快速的記憶體單元,充當中央處理單元(CPU)和主記憶體之間的中介。高速緩存通常使用靜態隨機存取記憶體(SRAM)來實現。高速緩存存儲被頻繁地訪問的資料和指令的子集,以減少平均訪問時間。緩存級別(L1、L2、L3 等)旨在提供不同程度的容量、延遲和成本。更靠近 CPU 的更小、更快的高速緩存存儲經常被訪問的資料,從而減少平均訪問時間。隨著級別的增加,存儲容量和訪問延遲也增加,但硬體成本變得更便宜。
在計算機系統中,高速緩存的層級結構是記憶體層級結構的一部分。 主記憶體用於存儲當前不在高速緩存中但CPU仍需要的資料和指令。主記憶體提供比高速緩存更大的容量,但訪問延遲更高。
總而言之,高速緩存和記憶體層級結構是現代計算機體系結構的重要組成部分。需要有效的高速緩存和記憶體管理辦法來提高計算機系統的性能和功耗。
本發明提供計算系統及計算系統進行部分高速緩存去激活的方法,可平衡性能和功耗。
在一個實施例中,本發明提供一種計算系統進行部分高速緩存去激活的方法,包括:基於包括電壓和溫度的高速緩存的操作條件來估計高速緩存的洩漏功率;基於高速緩存命中計數將該高速緩存的一個或多個區域識別為去激活的候選區域;和基於該洩漏功率和位於該計算系統的記憶體層級結構中的高速緩存的下一級的記憶體層級結構設備的帶寬來調整該高速緩存的去激活區域的大小。
在另一個實施例中,本發明提供用於執行部分高速緩存去激活的計算系統,包括:一個或多個處理器;熱傳感器;電壓傳感器;高速緩存;和位於該計算系統的記憶體層級結構中的該高速緩存的下一級的記憶體層級結構設備,其中該計算系統可操作以:基於包括由該電壓傳感器檢測到的電壓和由該熱傳感器檢測到的溫度的該高速緩存的操作條件來估計該高速緩存的洩漏功率;
基於高速緩存命中計數將該高速緩存的一個或多個區域識別為去激活的候選區域;和基於該洩漏功率和該記憶體層級結構設備的帶寬來調整該高速緩存的去激活區域的大小。
在下面的描述中,闡述了許多具體細節。然而,應當理解的是,在沒有這些具體細節的情況下也可以實踐本發明的實施例。在其他情況下,未詳細示出眾所周知的電路、結構和技術,以免模糊對本描述的理解。然而,本領域技術人員應當理解,無需這些具體細節也可以實踐本發明。通過所包含的描述,本領域普通技術人員將能夠實現適當的功能而無需過度實驗。
本發明的實施例在考慮性能和功率的情況下管理共享高速緩存的使用。高速緩存由計算系統(可互換地稱為“計算機系統”)中的處理器執行的多個任務共享。基於受下一級(next-level)記憶體層級結構(Memory Hierarchy,MH)設備的帶寬約束的任務的優先級,為任務分配共享高速緩存的資源。下一級MH設備的示例包括下一級高速緩存或下一級記憶體(例如主記憶體)。帶寬表示從計算系統的處理器到下一級MH設備的資料訪問速率(例如,平均速率)。可以在執行任務期間測量或獲取帶寬。 帶寬的增加表明對下一級 MH 設備的資料訪問變多,這反過來又表明共享高速緩存中的刷新和重新填充操作增加。可以基於功率模型將帶寬轉換為動態功率。 動態功率是指訪問下一級MH設備所消耗的功率。帶寬的增加意味著動態功率的增加。動態功率的變化可以作為功率和性能權衡的指示(indicator)。共享高速緩存分配遵循使用動態功率變化作為輸入的分配策略。分配策略旨在將動態功率或動態功率的變化維持在預定閾值內,同時跟踪對共享高速緩存的性能的影響。
此外或替代地,共享高速緩存的管理遵循部分斷電(partial power-down)策略來激活(active)和去激活(deactivate)共享高速緩存的低效區域。去激活高速緩存區域意味著將該區域置於斷電狀態或深度睡眠模式,這樣洩漏功率被抑製或減少。低效高速緩存區域的一個示例是發生大量高速緩存未命中(cache miss)的區域。高速緩存區域可以在組合功率降低的約束下被去激活,組合功率是洩漏功率和動態功率的組合。洩漏功率使用基於共享高速緩存處測量的電壓和溫度的IC特定功率模型來計算或估計。當共享高速緩存部分地(partially)被去激活時,洩漏功率可能會降低,但下一級 MH 設備處的動態功率可能會增加。僅當存在功率增益時,也就是說,當洩漏功率的減少超過動態功率的增加時,系統才去激活高速緩存區域或維持高速緩存區域的去激活。
圖1示出基於一個實施例的用於分配共享高速緩存的系統100的示例圖。系統100包括處理硬體112,處理硬體112進一步包括多個處理器110。每個處理器110可以是包括多個核的中央處理單元(CPU)。或者,每個處理器110可以是諸如CPU、圖形處理單元(GPU)、數位信號處理器(DSP)、網絡處理單元(NPU)、人工智能(AI)處理單元等處理單元中的核(core)。處理器110在軟體執行環境140中執行包括關鍵事務(Critical Transaction,CT)和非關鍵事務(Non-Critical Transaction,NCT)的事務(transaction)。一個任務可以包括一個或多個事務。關鍵事務的示例包括時間緊迫事務, 例如,設想其吞吐量影響執行事務的任務的性能,例如以用戶為中心的幀渲染任務的渲染線程的資料事務。關鍵任務中的所有事務都是關鍵事務。在一些實施例中,提供界面供用戶將任何任務設置為關鍵任務。
關鍵事務通常對服務質量(QoS)有更嚴格的要求,並且比非關鍵事務具有更高的優先級。事務(CT和NCT)共享高速緩存120(例如被配置作為高速緩存的靜態隨機存取記憶體(SRAM)設備)的使用。在一個實施例中,高速緩存設備120可以是與處理器110共存(co-located)的片上高速緩存;或者,高速緩存120可以是片外高速緩存。系統100包括具有層級結構的記憶體結構,其中高速緩存120佔據記憶體層級結構的一級並且耦合到下一級記憶體層級結構(MH)設備130。下一級MH設備130佔據記憶體層級結構的更高級別並且具有的容量比高速緩存120大。此外,下一級MH設備130在訪問速度方面通常比高速緩存120慢。在一個實施例中,下一級MH設備130可以是高速緩存;或者,下一級MH設備130可以是系統的一部分或主記憶體,例如,動態隨機存取記憶體(DRAM)設備或另一易失性或非易失性記憶體設備。
系統100還包括控制器150,用於管理高速緩存120的分配。控制器150可以由硬體電路來實現;或者,控制器150可以被實現為由處理硬體112執行的軟體。處理器110執行包括關鍵和/或非關鍵事務的任務。可以基於QoS要求或其他特性為任務組、任務和/或事務分配優先級。具有相同優先級的任務/事務形成一個組(也稱為“優先級組”)。同一組中的任務/事務具有相同的優先級,不同組中的任務/事務具有不同的優先級。應當理解,本文所使用的術語“組”(在圖1中示出為“Grp”)可以是一組任務或一組具有相同優先級的事務。控制器150基於組的優先級向組分配高速緩存的資源,使得較高優先級的組可以比較低優先級的組分配有更多的資源。
同時參考圖2,控制器150基於分配策略250來分配高速緩存的資源,該分配策略250考慮性能指示和動態功率的使用情況。可以通過監視到下一級MH設備130的輸入帶寬來估計動態功率的使用情況,該下一級MH設備130是高速緩存120的下游(downstream)。在一個實施例中,系統100還包括帶寬(BW)監視器160以監視並獲得下一級MH設備130的帶寬。可以按組監視和測量帶寬;每組帶寬可以用作該組的性能指示(例如,高速緩存未命中的指示)。動態功率估計器170通過使用功率模型將帶寬轉換成動態功率。更高的帶寬對應更高的動態功率。
控制器150可以通過將更多高速緩存的資源分配給用於向下一級MH設備130生成更高資料流量的組來降低動態功率。在一個實施例中,控制器150可以通過增加分配給第一組的高速緩存容量,該第一組用於生成更高下游流量,並減少分配給第二組的高速緩存容量,該第二組用於生成較低下游流量,來調整高速緩存分配。該調整可以不考慮組的優先級;例如,第一組可以具有比第二組更高或更低的優先級。即,組是一個資源分配單元。可以將組設置為任意優先級,並且可以將不同的分配策略應用於不同的組。如果分配增加了用於訪問下一級MH設備130的下游帶寬,則可以進一步調整高速緩存分配,因此將動態功率增加到預定閾值以上。當需要犧牲任務性能以實現動態功耗時,也可以調整高速緩存分配。
圖2示出了基於一個實施例的共享高速緩存分配的過程200。同時參考圖1,系統100可以在循環(loop)中連續且重複地執行過程200;例如,過程200在後台進程中與任務的執行同時進行。過程200可以開始於步驟210,在該步驟控制器150基於分配策略250分配高速緩存的資源。如前所述,分配策略250考慮性能(例如,事務的QoS要求)和功率(例如,動態功率)。在步驟220,帶寬監視器160監視並檢測下游帶寬(即,下一級MH設備130的帶寬)的任何變化。可以在後台連續執行下游帶寬的監視。在步驟230,當檢測到下游帶寬的變化時,動態功率估計器170計算動態功率的相應變化。如果動態功率的增加超過閾值,則過程200返回到步驟210以調整高速緩存分配以降低動態功率。如果動態功率增加是由限制給定優先級組的先前分配引起的,則控制器150可以增加對給定優先級組的高速緩存的資源分配。此外,還監視關鍵事務的性能。在一個實施例中,當任何關鍵事務的性能低於閾值時,控制器150還可以調整高速緩存分配。
在一個實施例中,控制器150基於高速緩存的大小(size)(即高速緩存存儲容量)來分配高速緩存的資源。在一些實施例中,高速緩存分配的粒度(granularity)是可配置的。例如,高速緩存120可以被劃分為具有相同大小的多個分區(例如,1兆位元組(1-megabyte)分區或2兆位元組(2-megabyte)分區等)。控制器150確定要分配給優先級組的分區的比率。在圖1的例子中, Grp1和Grp2之間的分配比例為2:1。每個分區可以是高速緩存120的連續區域或不連續區域,例如一高速緩存路(cache way)。高速緩存120可以被規劃為多組(set)和多路(way)(即,“高速緩存路”),例如以N路組關聯高速緩存的方式。在一些實施例中,高速緩存分配可以與高速緩存大小、高速緩存路、高速緩存替換策略的優先級、高速緩存帶寬(針對到高速緩存的輸入資料流量)等有關。在一些實施例中,可以通過限制非關鍵事務對高速緩存的使用來實現對高速緩存分配的調整。例如,高速緩存120可以是N路高速緩存,並且關鍵事務可以被分配所有N路,而非關鍵事務被分配N路的子集。或者,關鍵事務可以被分配高速緩存120的X路,非關鍵事務可以被分配高速緩存120的Y路,其中X+Y=N。分配給關鍵事務和非關鍵事務的路數可以在運行時調整以將動態功率保持在預定閾值內。
圖3示出基於一個實施例的管理部分高速緩存去激活的系統300的框圖。相同的附圖標記指代圖1中相同的元件。在該實施例中,除了分配策略250(圖2)之外,控制器150還基於部分斷電策略450(圖4)來管理高速緩存120。為了減少高速緩存120中的洩漏功率,高速緩存120的一個或多個區域可以被斷電(也稱為“去激活”)。去激活可以使高速緩存區域進入深度睡眠模式,該模式消耗最小可忽略不計的電量。當需要增加高速緩存120的容量時(例如,為了減少高速緩存未命中的數量),可以快速激活去激活區域使其變得可操作。
系統300基於在高速緩存120處測量的電壓和溫度來估計高速緩存120的洩漏功率。在一個實施例中,系統300包括電壓傳感器181和熱傳感器182以分別獲得高速緩存120的操作電壓和溫度。系統300還包括洩漏功率估計器180,用於基於針對高速緩存120的特定硬體特性的洩漏功率模型來估計高速緩存120中的洩漏功率。洩漏功率模型考慮高速緩存120的操作電壓和溫度。在該實施例中,控制器150基於來自洩漏功率估計器180和動態功率估計器170的輸入來控制高速緩存120的使用。
圖4示出了基於一個實施例的部分高速緩存去激活的過程400。同時參考圖3,系統300可以在循環中連續且重複地執行過程400。過程400可以開始於步驟410,在該步驟控制器150基於部分斷電策略450去激活高速緩存120的一部分或一個區域。高速緩存120的去激活的部分可以是最少被訪問的區域,即發生最多高速緩存未命中的區域,或高速緩存120的被去激活的部分由另一標準確定。在步驟420,系統300監視高速緩存120的動態功率和洩漏功率。如前面圖2所示,可以基於下游帶寬來估計動態功率。可基於高速緩存120的溫度和電壓來估計洩漏功率。當高速緩存120的一部分被去激活時,洩漏功率可能會降低,但由於高速緩存容量較小,動態功率可能會增加。在步驟430,系統300計算包括洩漏功率的變化和動態功率的變化的組合功率變化。在步驟440,如果組合功率變化指示與部分高速緩存去激活之前相比功率降低,則部分高速緩存去激活保持並且過程400返回到步驟420以繼續監視高速緩存120的洩漏功率和動態功率,而如果組合功率變化指示功率未降低,則系統300可以在步驟410調整部分高速緩存去激活;例如,通過重新激活高速緩存120的部分或全部去激活部分。
在一個實施例中,帶寬監視器160、動態功率估計器170和洩漏功率估計器180中的一者或多者可以由硬體電路來實現或由處理硬體112執行的軟體來實現。
圖5示出基於一個實施例的部分斷電策略450的框圖。如上面參考圖3和圖4所述,控制器150基於部分斷電策略450管理高速緩存120的去激活。部分斷電策略450的輸入可以來自高速緩存命中(hit)/未命中(miss)監視器510和洩漏功率估計器180。高速緩存命中/未命中監視器510計數高速緩存120的多個區域中的高速緩存未命中的數量。高速緩存命中/未命中監視器510提供指示信息(例如,高速緩存命中計數),該指示信息指示高速緩存120的區域是否可以是去激活的候選的。例如,具有很少高速緩存命中(例如,低於閾值)的高速緩存線(line)或區域指示利用不足,並且因此可在對性能影響可以忽略不計的情況下被去激活。在一個實施例中,可以基於高速緩存未命中計數重新激活高速緩存線或區域,高速緩存未命中計數是功耗增加和性能下降的指示。在一個實施例中,如將參考圖2描述的,可以基於洩漏功率和動態功率來確定高速緩存去激活和重新激活。洩漏功率估計器180在包括電壓(由電壓傳感器181測量)和溫度(由熱傳感器182測量)的操作條件下估計高速緩存120的洩漏功率。部分斷電策略450的使用可以減少高速緩存120的洩漏功率,同時滿足對高速緩存未命中的約束。
圖6示出基於一個實施例的共享高速緩存的管理的策略的框圖。如上面參考圖1-圖5所述,控制器150可以基於分配策略250和部分斷電策略450之一或兩者來管理高速緩存120的資源。分配策略250的輸入可以來自關鍵事務(CT)高速緩存命中/未命中監視器520和動態功率估計器170。CT高速緩存命中/未命中監視器520對執行關鍵事務和包含關鍵事務的任務時的高速緩存命中和/或未命中的數量進行計數。CT高速緩存命中/未命中監視器520提供關鍵事務的性能指示。在一個實施例中,CT高速緩存命中/未命中監視器520可以為每個優先級組提供高速緩存未命中計數和/或高速緩存命中計數。
動態功率估計器170估計由對下一級MH設備130的資料訪問引起的動態功率。可以基於帶寬監視器160測量的下游帶寬來估計動態功率。在一個實施例中,動態功率估計器170可以估計每個優先組消耗的動態功率。例如,如果Grp1的動態功率與總動態功率的比值超過預定值,則可以為Grp1分配更多的高速緩存的資源。如果Grp1的動態功率與總動態功率的比值低於預定值,則可以向Grp1分配更少的高速緩存的資源。因此,基於分配策略250的共享高速緩存分配可以平衡關鍵事務的性能與訪問下一級MH設備130所消耗的功率。
上面已經參考圖5描述了基於部分斷電策略450的共享高速緩存管理。利用分配策略250和部分斷電策略450兩者,系統可以在控制共享高速緩存時平衡洩漏功率與動態功率。如前面圖3所示,諸如系統300的系統可以遵循部分斷電策略450以去激活高速緩存120的一部分以及遵循分配策略250以將高速緩存120的激活部分分配給任務組。部分斷電策略450可以減少緩存洩漏功率;分配策略250可以降低動態功率。
圖7示出基於一個實施例的用於降低功率的共享高速緩存管理的圖。 已經參照圖1描述了處理器110、高速緩存120和下一級MH設備130。在圖7左側示出下一級MH設備130的帶寬為S1,高速緩存帶寬為S2,其中S1和S2為正值。動態功耗為Dyn_pwr(S1),洩漏功率為LKG。如圖7右側所示,在對高速緩存120的區域進行部分斷電(例如,去激活)之後,下一級MH設備130的帶寬增加到(S1+S3),並且高速緩存帶寬減少到(S2-S3),其中S3是正值。動態功耗變為Dyn_pwr(S1+S3),洩漏功率變為LKG’。如果 Dyn_Pwr(S1)+ LKG > Dyn_Pwr(S1+S3)+ LKG’+閾值,則保持高速緩存去激活;否則,可以調整去激活的高速緩存大小。閾值可以是零或正數。例如,如果變化指示功率增加超過閾值,則可以重新激活緩存區域的一部分或全部。
圖8示出基於一個實施例的用於共享高速緩存分配的方法800的流程圖。在一個實施例中,方法800可以由諸如圖1中的系統100或圖3中的系統300的計算系統來執行。
方法800開始於步驟810,在該步驟計算系統分配由在計算系統中執行的多個任務組共享的高速緩存的資源。在步驟820,計算系統監視位於計算系統的記憶體層級結構中的高速緩存的下一級的記憶體層級設備處的帶寬。在步驟830,計算系統基於分配資源之前和之後帶寬的相應變化來估計動態功率的變化。在步驟840,計算系統基於分配策略調整該資源的分配,該分配策略接收的輸入包括該估計的動態功率的變化和執行任務的性能指示。
在一個實施例中,帶寬指示從計算系統的處理器到下一級記憶體層級設備的資料訪問速率。在一個實施例中,計算系統在執行多個任務組的同時執行監視、估計和調整的操作。在一個實施例中,下一級記憶體層級結構設備是比該高速緩存具有更高的容量和更低的速度的更高級的高速緩存。在替代實施例中,下一級記憶體層級結構設備是計算系統的主記憶體。
在一個實施例中,計算系統基於該多個任務組各自的優先級將該資源分配給該多個任務組;和調整該資源的分配,使得該動態功率在預定閾值內。被分配的資源可以包括高速緩存的分區、高速緩存帶寬(其指示從計算系統的處理器到高速緩存的資料訪問速率)和/或高速緩存替換的優先級。在一個實施例中,計算系統將第一數量的高速緩存路分配給關鍵事務,並將第二數量的高速緩存路分配給非關鍵事務。關鍵事務比非關鍵事務具有更高的性能要求。計算系統可以調整第一數量和第二數量使得動態功率在預定閾值內。在一個實施例中,當分配給給定任務組的資源減少時,計算系統檢測到帶寬的增加。響應於確定該增加大於閾值,計算系統增加分配給給定任務組的資源。
圖9示出基於一個實施例的用於部分地去激活共享高速緩存的方法900的流程圖。在一個實施例中,方法900可以由諸如圖3中的系統300的計算系統來執行。
方法900開始於步驟910,在該步驟中計算系統基於高速緩存的操作條件(包括電壓和溫度)來估計高速緩存的洩漏功率。在步驟920,計算系統基於高速緩存命中計數將高速緩存的一個或多個區域識別為去激活的候選區域。在步驟930,計算系統基於洩漏功率和記憶體層級結構設備的帶寬來調整去激活區域的大小。在計算系統的記憶體層級結構中,該記憶體層級結構設備位於高速緩存的下一級。
在一個實施例中,當電壓和溫度中的至少一項改變時,計算系統調整高速緩存的去激活區域的大小。在一個實施例中,計算系統基於記憶體層級結構設備的帶寬來估計動態功率,並且計算高速緩存的去激活區域在去激活之前和之後洩漏功率和動態功率的組合變化。如果組合變化指示功率增加超過閾值,則計算系統重新激活該去激活區域的至少一部分。在一個實施例中,計算系統基於洩漏功率和估計的動態功率的來最小化由部分高速緩存去激活引起的功率增加。
在一個實施例中,計算系統週期性地檢測高速緩存的電壓和溫度,並且基於檢測到的電壓和檢測到的溫度來調整洩漏功率的估計值。可以使用專門為用作高速緩存的晶片構建的洩漏功率模型來估計洩漏功率。
在一個實施例中,帶寬指示從計算系統的處理器到記憶體層級結構設備的資料訪問速率。在一個實施例中,記憶體層級結構設備是比高速緩存具有更高容量和更低速度的更高級的高速緩存。在替代實施例中,記憶體層級結構設備是計算系統的主記憶體。
已經參照圖8和圖3的示例性實施例描述了圖8和圖9的流程圖的操作。但是,應當理解,圖8和圖9的操作可以由除了圖1和圖3的實施例之外的本發明的實施例來執行。且圖1和圖3的實施例可以執行與參考流程圖討論的操作不同的操作。儘管圖8和圖9的流程圖示出了由本發明的某些實施例執行的操作的特定順序,但是應當理解,這樣的順序是示例性的(例如,替代實施例可以以不同的順序執行操作、組合某些操作、重疊某些操作等)。
從前述內容可以理解,本文已經出於說明的目的描述了本公開的各種實施方式,並且在不脫離本公開的範圍和精神的情況下可以進行各種修改。因此,本文公開的各種實施方式不旨在是限制性的,真正的範圍和精神由所附申請專利範圍指示。
100,300:系統
140:軟體執行環境
112:處理硬體
110:處理器
120:高速緩存
150:控制器
170:動態功率估計器
160:帶寬監視器
130:下一級MH設備
200,400:過程
210,220,230,410,420,430,440,810,820,830,840,910,920,930:步驟
250:分配策略
181:電壓傳感器
182:熱傳感器
180:洩漏功率估計器
450:部分斷電策略
510:高速緩存命中/未命中監視器
520:CT高速緩存命中/未命中監視器
800,900:方法
圖1示出基於一個實施例的用於分配共享高速緩存的系統100的示例圖。
圖2示出了基於一個實施例的共享高速緩存分配的過程200。
圖3示出基於一個實施例的管理部分高速緩存去激活的系統300的框圖。
圖4示出了基於一個實施例的部分高速緩存去激活的過程400。
圖5示出基於一個實施例的部分斷電策略450的框圖。
圖6示出基於一個實施例的共享高速緩存的管理的策略的框圖。
圖7示出基於一個實施例的用於降低功率的共享高速緩存管理的圖。
圖8示出基於一個實施例的用於共享高速緩存分配的方法800的流程圖。
圖9示出基於一個實施例的用於部分地去激活共享高速緩存的方法900的流程圖。
900:方法
910,920,930:步驟
Claims (20)
- 一種計算系統進行部分高速緩存去激活的方法,包括: 基於包括電壓和溫度的高速緩存的操作條件來估計高速緩存的洩漏功率; 基於高速緩存命中計數將該高速緩存的一個或多個區域識別為去激活的候選區域;和 基於該洩漏功率和位於該計算系統的記憶體層級結構中的該高速緩存的下一級的記憶體層級結構設備的帶寬來調整該高速緩存的去激活區域的大小。
- 如請求項1所述的方法,還包括: 當該電壓和該溫度中至少一項改變時,調整該高速緩存的該去激活區域的大小。
- 如請求項1所述的方法,其中調整去激活區域的大小包括: 基於該記憶體層級結構設備的帶寬估計動態功率;和 計算該高速緩存的去激活區域在去激活之前和之後洩漏功率和動態功率的組合變化。
- 如請求項3所述的方法,還包括: 如果該組合變化指示功率增加超過閾值,則重新激活該去激活區域的至少一部分。
- 如請求項1所述的方法,其中調整去激活區域的大小包括: 基於該記憶體層級結構設備的帶寬估計動態功率;和 基於該洩漏功率和該估計的動態功率,最小化由該部分高速緩存去激活引起的功率增加。
- 如請求項1所述的方法,還包括: 週期性地檢測該高速緩存的該電壓和該溫度;和 基於檢測到的該電壓和檢測到的該溫度來調整該洩漏功率的估計值。
- 如請求項1所述的方法,其中使用專門為用作該高速緩存的晶片構建的洩漏功率模型來估計該洩漏功率。
- 如請求項1所述的方法,其中該帶寬指示從該計算系統的處理器到該記憶體層級結構設備的資料訪問速率。
- 如請求項1所述的方法,其中該記憶體層級結構設備是比該高速緩存具有更高容量和更低速度的更高級的高速緩存。
- 如請求項1所述的方法,其中該記憶體層級結構設備是該計算系統的主記憶體。
- 一種用於執行部分高速緩存去激活的計算系統,包括: 一個或多個處理器; 熱傳感器; 電壓傳感器; 高速緩存;和 位於該計算系統的記憶體層級結構中的該高速緩存的下一級的記憶體層級結構設備,其中該計算系統可操作以: 基於包括由該電壓傳感器檢測到的電壓和由該熱傳感器檢測到的溫度的該高速緩存的操作條件來估計該高速緩存的洩漏功率; 基於高速緩存命中計數將該高速緩存的一個或多個區域識別為去激活的候選區域;和 基於該洩漏功率和該記憶體層級結構設備的帶寬來調整該高速緩存的去激活區域的大小。
- 如請求項11所述的計算系統,其中該計算系統進一步操作用於: 當該電壓和該溫度中至少一項改變時,調整該高速緩存的該去激活區域的大小。
- 如請求項11所述的計算系統,其中該計算系統在調整調整該高速緩存的該去激活區域的大小時進一步操作用於: 基於該記憶體層級結構設備的帶寬估計動態功率;和 計算該高速緩存的去激活區域在去激活之前和之後洩漏功率和動態功率的組合變化。
- 如請求項13所述的計算系統,其中該計算系統進一步操作用於: 如果該組合變化指示功率增加超過閾值,則重新激活該去激活區域的至少一部分。
- 如請求項11所述的計算系統,其中該計算系統在調整調整該高速緩存的該去激活區域的大小時進一步操作用於: 基於該記憶體層級結構設備的帶寬估計動態功率;和 基於該洩漏功率和該估計的動態功率,最小化由該部分高速緩存去激活引起的功率增加。
- 如請求項13所述的計算系統,其中該計算系統進一步操作用於: 週期性地檢測該高速緩存的該電壓和該溫度;和 基於檢測到的該電壓和檢測到的該溫度來調整該洩漏功率的估計值。
- 如請求項11所述的計算系統,其中使用專門為用作該高速緩存的晶片構建的洩漏功率模型來估計該洩漏功率。
- 如請求項11所述的計算系統,其中該帶寬指示從該計算系統的處理器到該記憶體層級結構設備的資料訪問速率。
- 如請求項11所述的計算系統,其中該記憶體層級結構設備是比該高速緩存具有更高容量和更低速度的更高級的高速緩存。
- 如請求項11所述的計算系統,其中該記憶體層級結構設備是該計算系統的主記憶體。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/375,701 | 2022-09-15 | ||
US18/451,775 | 2023-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202414188A true TW202414188A (zh) | 2024-04-01 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8683476B2 (en) | Method and system for event-based management of hardware resources using a power state of the hardware resources | |
US9715397B2 (en) | Methods and apparatuses for controlling thread contention | |
US7752470B2 (en) | Method and system for power management including device controller-based device use evaluation and power-state control | |
US8140868B2 (en) | Performance conserving power consumption reduction in a server system | |
US7155623B2 (en) | Method and system for power management including local bounding of device group power consumption | |
US7971074B2 (en) | Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system | |
US9021209B2 (en) | Cache flush based on idle prediction and probe activity level | |
US8799902B2 (en) | Priority based throttling for power/performance quality of service | |
JP5564564B2 (ja) | 計算ユニットの性能を性能感度に従い不均等に変化させる方法及び装置 | |
US20050125701A1 (en) | Method and system for energy management via energy-aware process scheduling | |
WO2019182733A1 (en) | Prefetcher based speculative dynamic random-access memory read request technique | |
US7246205B2 (en) | Software controlled dynamic push cache | |
US9075609B2 (en) | Power controller, processor and method of power management | |
US10942850B2 (en) | Performance telemetry aided processing scheme | |
TW201027357A (en) | Technique for controlling computing resources | |
TW202414188A (zh) | 計算系統及計算系統進行部分高速緩存去激活的方法 | |
TW202414219A (zh) | 計算系統及計算系統進行共享高速緩存分配的方法 | |
US20240095177A1 (en) | Performance and Power Balanced Cache Partial Power Down Policy | |
US20240095168A1 (en) | Dynamic Cache Resource Allocation for Quality of Service and System Power Reduction | |
CN117707997A (zh) | 计算系统及计算系统进行部分高速缓存去激活的方法 | |
CN117707996A (zh) | 计算系统及计算系统进行共享高速缓存分配的方法 | |
JP2024501834A (ja) | 集積回路内の非計算ユニット電力制御を提供するための方法及び装置 | |
US20230409393A1 (en) | Systems and methods for autoscaling in datacenters | |
KR100656353B1 (ko) | 메모리 전력 소모를 줄이는 방법 | |
US20240103730A1 (en) | Reduction of Parallel Memory Operation Messages |