CN117707997A - 计算系统及计算系统进行部分高速缓存去激活的方法 - Google Patents
计算系统及计算系统进行部分高速缓存去激活的方法 Download PDFInfo
- Publication number
- CN117707997A CN117707997A CN202311108702.7A CN202311108702A CN117707997A CN 117707997 A CN117707997 A CN 117707997A CN 202311108702 A CN202311108702 A CN 202311108702A CN 117707997 A CN117707997 A CN 117707997A
- Authority
- CN
- China
- Prior art keywords
- cache
- computing system
- power
- deactivation
- memory hierarchy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009849 deactivation Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000036961 partial effect Effects 0.000 title claims abstract description 33
- 230000008859 change Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 102100034032 Cytohesin-3 Human genes 0.000 description 1
- 101710160297 Cytohesin-3 Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 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
- 230000002829 reductive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供计算系统及计算系统进行部分高速缓存去激活的方法,可平衡性能和功耗。在一个实施例中,本发明提供一种计算系统进行部分高速缓存去激活的方法,包括:基于包括电压和温度的高速缓存的操作条件来估计高速缓存的泄漏功率;基于高速缓存命中计数将该高速缓存的一个或多个区域识别为去激活的候选区域;和基于该泄漏功率和位于该计算系统的存储器层级结构中的高速缓存的下一级的存储器层级结构设备的带宽来调整该高速缓存的去激活区域的大小。
Description
技术领域
本发明的实施例涉及计算机系统;更具体地,涉及计算机系统中的共享高速缓存(shared cache)的管理以平衡性能和功耗。
背景技术
现代计算机系统通常包括由多级(level)高速缓存组成的高速缓存层级结构以提高性能。高速缓存(cache)是小型且快速的存储器单元,充当中央处理单元(CPU)和主存储器之间的中介。高速缓存通常使用静态随机存取存储器(SRAM)来实现。高速缓存存储被频繁地访问的数据和指令的子集,以减少平均访问时间。缓存级别(L1、L2、L3等)旨在提供不同程度的容量、延迟和成本。更靠近CPU的更小、更快的高速缓存存储经常被访问的数据,从而减少平均访问时间。随着级别的增加,存储容量和访问延迟也增加,但硬件成本变得更便宜。
在计算机系统中,高速缓存的层级结构是存储器层级结构的一部分。主存储器用于存储当前不在高速缓存中但CPU仍需要的数据和指令。主存储器提供比高速缓存更大的容量,但访问延迟更高。
总而言之,高速缓存和存储器层级结构是现代计算机体系结构的重要组成部分。需要有效的高速缓存和存储器管理办法来提高计算机系统的性能和功耗。
发明内容
本发明提供计算系统及计算系统进行共享高速缓存分配的方法,可平衡性能和功耗。
在一个实施例中,本发明提供一种计算系统进行部分高速缓存去激活的方法,包括:基于包括电压和温度的高速缓存的操作条件来估计高速缓存的泄漏功率;基于高速缓存命中计数将该高速缓存的一个或多个区域识别为去激活的候选区域;和基于该泄漏功率和位于该计算系统的存储器层级结构中的高速缓存的下一级的存储器层级结构设备的带宽来调整该高速缓存的去激活区域的大小。
在另一个实施例中,本发明提供用于执行部分高速缓存去激活的计算系统,包括:一个或多个处理器;热传感器;电压传感器;高速缓存;和位于该计算系统的存储器层级结构中的该高速缓存的下一级的存储器层级结构设备,其中该计算系统可操作以:基于包括由该电压传感器检测到的电压和由该热传感器检测到的温度的该高速缓存的操作条件来估计该高速缓存的泄漏功率;基于高速缓存命中计数将该高速缓存的一个或多个区域识别为去激活的候选区域;和基于该泄漏功率和该存储器层级结构设备的带宽来调整该高速缓存的去激活区域的大小。
附图说明
图1示出基于一个实施例的用于分配共享高速缓存的系统100的示例图。
图2示出了基于一个实施例的共享高速缓存分配的过程200。
图3示出基于一个实施例的管理部分高速缓存去激活的系统300的框图。
图4示出了基于一个实施例的部分高速缓存去激活的过程400。
图5示出基于一个实施例的部分断电策略450的框图。
图6示出基于一个实施例的共享高速缓存的管理的策略的框图。
图7示出基于一个实施例的用于降低功率的共享高速缓存管理的图。
图8示出基于一个实施例的用于共享高速缓存分配的方法800的流程图。
图9示出基于一个实施例的用于部分地去激活共享高速缓存的方法900的流程图。
具体实施方式
在下面的描述中,阐述了许多具体细节。然而,应当理解的是,在没有这些具体细节的情况下也可以实践本发明的实施例。在其他情况下,未详细示出众所周知的电路、结构和技术,以免模糊对本描述的理解。然而,本领域技术人员应当理解,无需这些具体细节也可以实践本发明。通过所包含的描述,本领域普通技术人员将能够实现适当的功能而无需过度实验。
本发明的实施例在考虑性能和功率的情况下管理共享高速缓存的使用。高速缓存由计算系统(可互换地称为“计算机系统”)中的处理器执行的多个任务共享。基于受下一级(next-level)存储器层级结构(Memory Hierarchy,MH)设备的带宽约束的任务的优先级,为任务分配共享高速缓存的资源。下一级MH设备的示例包括下一级高速缓存或下一级存储器(例如主存储器)。带宽表示从计算系统的处理器到下一级MH设备的数据访问速率(例如,平均速率)。可以在执行任务期间测量或获取带宽。带宽的增加表明对下一级MH设备的数据访问变多,这反过来又表明共享高速缓存中的刷新和重新填充操作增加。可以基于功率模型将带宽转换为动态功率。动态功率是指访问下一级MH设备所消耗的功率。带宽的增加意味着动态功率的增加。动态功率的变化可以作为功率和性能权衡的指示(indicator)。共享高速缓存分配遵循使用动态功率变化作为输入的分配策略。分配策略旨在将动态功率或动态功率的变化维持在预定阈值内,同时跟踪对共享高速缓存的性能的影响。
此外或替代地,共享高速缓存的管理遵循部分断电(partial power-down)策略来激活(active)和去激活(deactivate)共享高速缓存的低效区域。去激活高速缓存区域意味着将该区域置于断电状态或深度睡眠模式,这样泄漏(leakage)功率被抑制或减少。低效高速缓存区域的一个示例是发生大量高速缓存未命中(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的流程图示出了由本发明的某些实施例执行的操作的特定顺序,但是应当理解,这样的顺序是示例性的(例如,替代实施例可以以不同的顺序执行操作、组合某些操作、重叠某些操作等)。
从前述内容可以理解,本文已经出于说明的目的描述了本公开的各种实施方式,并且在不脱离本公开的范围和精神的情况下可以进行各种修改。因此,本文公开的各种实施方式不旨在是限制性的,真正的范围和精神由所附申请专利范围指示。
Claims (20)
1.一种计算系统进行部分高速缓存去激活的方法,其特征在于,包括:
基于包括电压和温度的高速缓存的操作条件来估计高速缓存的泄漏功率;
基于高速缓存命中计数将该高速缓存的一个或多个区域识别为去激活的候选区域;和
基于该泄漏功率和位于该计算系统的存储器层级结构中的该高速缓存的下一级的存储器层级结构设备的带宽来调整该高速缓存的去激活区域的大小。
2.如权利要求1所述的方法,其特征在于,还包括:
当该电压和该温度中至少一项改变时,调整该高速缓存的该去激活区域的大小。
3.如权利要求1所述的方法,其特征在于,调整去激活区域的大小包括:
基于该存储器层级结构设备的带宽估计动态功率;和
计算该高速缓存的去激活区域在去激活之前和之后泄漏功率和动态功率的组合变化。
4.如权利要求3所述的方法,其特征在于,还包括:
如果该组合变化指示功率增加超过阈值,则重新激活该去激活区域的至少一部分。
5.如权利要求1所述的方法,其特征在于,调整去激活区域的大小包括:
基于该存储器层级结构设备的带宽估计动态功率;和
基于该泄漏功率和该估计的动态功率,最小化由该部分高速缓存去激活引起的功率增加。
6.如权利要求1所述的方法,其特征在于,还包括:
周期性地检测该高速缓存的该电压和该温度;和
基于检测到的该电压和检测到的该温度来调整该泄漏功率的估计值。
7.如权利要求1所述的方法,其特征在于,使用专门为用作该高速缓存的芯片构建的泄漏功率模型来估计该泄漏功率。
8.如权利要求1所述的方法,其特征在于,该带宽指示从该计算系统的处理器到该存储器层级结构设备的数据访问速率。
9.如权利要求1所述的方法,其特征在于,该存储器层级结构设备是比该高速缓存具有更高容量和更低速度的更高级的高速缓存。
10.如权利要求1所述的方法,其特征在于,该存储器层级结构设备是该计算系统的主存储器。
11.一种用于执行部分高速缓存去激活的计算系统,其特征在于,包括:
一个或多个处理器;
热传感器;
电压传感器;
高速缓存;和
位于该计算系统的存储器层级结构中的该高速缓存的下一级的存储器层级结构设备,其中该计算系统可操作以:
基于包括由该电压传感器检测到的电压和由该热传感器检测到的温度的该高速缓存的操作条件来估计该高速缓存的泄漏功率;
基于高速缓存命中计数将该高速缓存的一个或多个区域识别为去激活的候选区域;和
基于该泄漏功率和该存储器层级结构设备的带宽来调整该高速缓存的去激活区域的大小。
12.如权利要求11所述的计算系统,其特征在于,该计算系统进一步操作用于:
当该电压和该温度中至少一项改变时,调整该高速缓存的该去激活区域的大小。
13.如权利要求11所述的计算系统,其特征在于,该计算系统在调整调整该高速缓存的该去激活区域的大小时进一步操作用于:
基于该存储器层级结构设备的带宽估计动态功率;和
计算该高速缓存的去激活区域在去激活之前和之后泄漏功率和动态功率的组合变化。
14.如权利要求13所述的计算系统,其特征在于,该计算系统进一步操作用于:
如果该组合变化指示功率增加超过阈值,则重新激活该去激活区域的至少一部分。
15.如权利要求11所述的计算系统,其特征在于,该计算系统在调整调整该高速缓存的该去激活区域的大小时进一步操作用于:
基于该存储器层级结构设备的带宽估计动态功率;和
基于该泄漏功率和该估计的动态功率,最小化由该部分高速缓存去激活引起的功率增加。
16.如权利要求13所述的计算系统,其特征在于,该计算系统进一步操作用于:
周期性地检测该高速缓存的该电压和该温度;和
基于检测到的该电压和检测到的该温度来调整该泄漏功率的估计值。
17.如权利要求11所述的计算系统,其特征在于,使用专门为用作该高速缓存的芯片构建的泄漏功率模型来估计该泄漏功率。
18.如权利要求11所述的计算系统,其特征在于,该带宽指示从该计算系统的处理器到该存储器层级结构设备的数据访问速率。
19.如权利要求11所述的计算系统,其特征在于,该存储器层级结构设备是比该高速缓存具有更高容量和更低速度的更高级的高速缓存。
20.如权利要求11所述的计算系统,其特征在于,该存储器层级结构设备是该计算系统的主存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/375,701 | 2022-09-15 | ||
US18/451,775 US20240095177A1 (en) | 2022-09-15 | 2023-08-17 | Performance and Power Balanced Cache Partial Power Down Policy |
US18/451,775 | 2023-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707997A true CN117707997A (zh) | 2024-03-15 |
Family
ID=90157647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311108702.7A Pending CN117707997A (zh) | 2022-09-15 | 2023-08-30 | 计算系统及计算系统进行部分高速缓存去激活的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707997A (zh) |
-
2023
- 2023-08-30 CN CN202311108702.7A patent/CN117707997A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715397B2 (en) | Methods and apparatuses for controlling thread contention | |
US7155623B2 (en) | Method and system for power management including local bounding of device group power consumption | |
US8683476B2 (en) | Method and system for event-based management of hardware resources using a power state of the hardware resources | |
US7788461B2 (en) | System and method for reclaiming allocated memory to reduce power in a data processing system | |
US8140868B2 (en) | Performance conserving power consumption reduction in a server system | |
EP3436959B1 (en) | Power-reducing memory subsystem having a system cache and local resource management | |
US20050125702A1 (en) | Method and system for power management including device controller-based device use evaluation and power-state control | |
US20080250415A1 (en) | Priority based throttling for power/performance Quality of Service | |
JP2013510376A (ja) | プローブアクティビティレベルの追跡による性能状態の制御 | |
US20110113200A1 (en) | Methods and apparatuses for controlling cache occupancy rates | |
US10216414B2 (en) | Frame choosing during storage constraint condition | |
US20210157725A1 (en) | Method and apparatus for dynamically adapting cache size based on estimated cache performance | |
US10185384B2 (en) | Reducing power by vacating subsets of CPUs and memory | |
WO2014042749A1 (en) | Distributing power to heterogenous compute elements of a processor | |
US20210019258A1 (en) | Performance Telemetry Aided Processing Scheme | |
CN117707997A (zh) | 计算系统及计算系统进行部分高速缓存去激活的方法 | |
US20240095168A1 (en) | Dynamic Cache Resource Allocation for Quality of Service and System Power Reduction | |
CN117707996A (zh) | 计算系统及计算系统进行共享高速缓存分配的方法 | |
US20240095177A1 (en) | Performance and Power Balanced Cache Partial Power Down Policy | |
KR101863578B1 (ko) | 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법 | |
JP2024525376A (ja) | サイクル当たりの命令の低減を介してマルチプロセッサコアシステムにおける電流供給を制御するためのシステム及び方法 | |
EP3436956B1 (en) | Power-reducing memory subsystem having a system cache and local resource management | |
KR100656353B1 (ko) | 메모리 전력 소모를 줄이는 방법 | |
KR101024073B1 (ko) | 공유 2차 캐시의 누설 에너지 관리 방법 및 장치 | |
WO2024006019A1 (en) | Platform efficiency tracker |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |