CN114647609A - 平衡高能量事件 - Google Patents
平衡高能量事件 Download PDFInfo
- Publication number
- CN114647609A CN114647609A CN202111510316.1A CN202111510316A CN114647609A CN 114647609 A CN114647609 A CN 114647609A CN 202111510316 A CN202111510316 A CN 202111510316A CN 114647609 A CN114647609 A CN 114647609A
- Authority
- CN
- China
- Prior art keywords
- high energy
- processor circuits
- processor
- circuit
- data processing
- 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
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 41
- 230000008569 process Effects 0.000 description 22
- 238000005265 energy consumption Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 208000009624 holoprosencephaly Diseases 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- 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)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
本发明题为“平衡高能量事件”。本发明公开了一种数据处理装置,该数据处理装置包括多个处理器电路,该多个处理器电路用于处理包括一个或多个高能量事件的事件流。该多个处理器电路中的每个处理器电路从同一功率轨汲取功率。功率管理电路通过控制到该功率轨的电压供应和提供给该多个处理器电路的时钟信号的频率来执行功率消耗管理。状态分析电路获得这些处理器电路中的每个处理器电路的单独处理负载的状态,并且限制电路对该多个处理器电路中的每个处理器电路执行高能量事件限制。该功率消耗管理和该高能量事件限制两者都基于该多个处理器电路中的每个处理器电路的单独处理负载,并且这些处理器电路中的每个处理器电路能够独立于这些处理器电路中的其他处理器电路而被该限制电路限制。
Description
技术领域
本公开涉及功率管理。例如,本技术可用于与对具有多个处理器的数据处理装置的功率管理有关的操作。
背景技术
具有多个处理器电路的数据处理装置可能不具有提供足以使得整个设备以满负载运行的能量的能力。具体地,高能量事件可能导致辅助电路被激活,这会消耗大量的能量。当此类事件未被调节并且当处理器电路同时请求更高电压和频率时,所提供的电源可能无法维持。在这些情况下,可以调节或限制高能量事件或降低处理器电压和频率。然而,当所有处理器电路共享处理器时钟信号和功率轨时,问题变得更加困难。例如,如果一个处理器内核正在处理大量高能量事件,但是其他内核没有,则每个处理器内核可能对于降低能量消耗具有不同的要求。使这种情况进一步复杂化的是:每个处理器的电压、频率和限制量的可能配置的数量可能很容易变成在其中搜索良好解决方案的巨大空间。因此,即使是搜索满足所有可能冲突的要求的可能配置,也可能是耗时且耗费能量的。
发明内容
从第一示例性配置来看,本发明提供了一种数据处理装置,所述数据处理装置包括:多个处理器电路,所述多个处理器电路用于处理包括一个或多个高能量事件的事件流,其中所述多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;功率管理电路,所述功率管理电路用于通过控制到所述功率轨的电压供应和提供给所述多个处理器电路的时钟信号的频率来执行功率消耗管理;状态分析电路,所述状态分析电路用于获得所述处理器电路中的每个处理器电路的单独处理负载的状态;和限制电路,所述限制电路用于对所述多个处理器电路中的每个处理器电路执行高能量事件限制,其中所述功率消耗管理和所述高能量事件限制两者都基于所述多个处理器电路中的每个处理器电路的所述单独处理负载;并且所述处理器电路中的每个处理器电路能够独立于所述处理器电路中的其他处理器电路而被所述限制电路限制。
从第二示例性配置来看,本发明提供了一种方法,所述方法包括:使用多个处理器电路处理包括一个或多个高能量事件的事件流,其中所述多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;通过控制到所述功率轨的电压供应和提供给所述多个处理器电路的时钟信号的频率来执行功率消耗管理;获得所述处理器电路中的每个处理器电路的单独处理负载的状态;以及对所述多个处理器电路中的每个处理器电路执行高能量事件限制,其中所述功率消耗管理和所述高能量事件限制两者都基于所述多个处理器电路中的每个处理器电路的所述单独处理负载;并且所述处理器电路中的每个处理器电路能够独立于所述处理器电路中的其他处理器电路而被所述限制电路限制。
从第三示例性配置来看,本发明提供了一种数据处理装置,所述数据处理装置包括:用于使用多个处理器电路处理包括一个或多个高能量事件的事件流的装置,其中所述多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;用于通过控制到所述功率轨的电压供应和提供给所述多个处理器电路的时钟信号的频率来执行功率消耗管理的装置;用于获得所述处理器电路中的每个处理器电路的单独处理负载的状态的装置;和用于对所述多个处理器电路中的每个处理器电路执行高能量事件限制的装置,其中所述功率消耗管理和所述高能量事件限制两者都基于所述多个处理器电路中的每个处理器电路的所述单独处理负载;并且所述处理器电路中的每个处理器电路能够独立于所述处理器电路中的其他处理器电路而被所述限制电路限制。
附图说明
将参考如附图所示的本发明的实施方案,仅以举例的方式进一步描述本发明,其中:
图1示意性地示出了在一些实施方案中可以使用的处理器内核;
图2示出了微间隔和宏间隔之间的关系,这指示用于高能量事件的计数器可如何递增;
图3示意性地示出了根据一些实施方案的数据处理装置;
图4A和图4B提供了可如何建立第一节流阈值/限制的示例;
图5示出了来自管理系统诸如操作系统的请求可如何影响所选择的节流阈值;
图6给出了不同配置元组的示例;
图7示出了示出根据一些实施方案的配置可如何被选择用于数据处理装置的流程图;并且
图8示出了根据一些实施方案的流程图。
具体实施方式
在参考附图讨论实施方案之前,提供了对实施方案的以下描述。
根据第一示例性配置,本发明提供了一种数据处理装置,该数据处理装置包括:多个处理器电路,该多个处理器电路用于处理包括一个或多个高能量事件的事件流,其中该多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;功率管理电路,该功率管理电路用于通过控制到该功率轨的电压供应和提供给该多个处理器电路的时钟信号的频率来执行功率消耗管理;状态分析电路,该状态分析电路用于获得这些处理器电路中的每个处理器电路的单独处理负载的状态;和限制电路,该限制电路用于对该多个处理器电路中的每个处理器电路执行高能量事件限制,其中该功率消耗管理和该高能量事件限制两者都基于该多个处理器电路中的每个处理器电路的该单独处理负载;并且这些处理器电路中的每个处理器电路能够独立于这些处理器电路中的其他处理器电路而被该限制电路限制。
事件流包含使用比低能量事件显著更多能量的多个高能量事件(HEE)。此类高能量事件可例如涉及(除了常规指令的激活之外的)附加电路的激活(这因此增加了能量消耗),或者可能涉及长时间使用电路(这使平均能量使用显著增加)。这些高能量事件可能在事件流进程中聚集突发。数据处理装置包括共享公共功率轨的多个处理器电路(例如,处理器内核)。这些处理器电路中的一个或多个处理器电路处理高能量事件。另外,将相同的时钟信号发送给处理器电路,使得发送给处理器电路的电压和频率是相同的。在这种情况下,存在可减少能量消耗的两种不同方式。一种方式是降低供应给处理器电路的频率/电压。然而,这继而减小了处理器电路操作的时钟速度,并且意味着指令更缓慢执行。另一个选项(可以组合方式采用)是影响(例如,节流)高能量事件被处理的速率。然而,该操作的结果是将花费更长时间来清除流中的一组高能量事件。以类似的方式,如果消耗能量来增大电压/频率,则该能量也不能用于更快速地处理高能量事件。因此,必须考虑折衷。该问题由于处理器电路共享轨和时钟频率而变得复杂。因此,对电压/频率的调整影响所有处理器电路。所考虑的工作负荷不仅包括HEE,而且包括非HEE(这可能由于用于增大时钟频率的管理系统请求而发生)。
在一些实施方案中,功率管理电路不能在不存在高能量事件限制的情况下同时向所有多个处理器电路供应最大请求的电压供应和最大请求的时钟信号两者。例如,电流递送受到限制并且不能被同时提供给所有处理器电路—这通过调整电压/频率来控制。在这些实施方案中,处理电路可能够在许多不同电压和时钟信号下操作。然而,在这些示例中不可能提供最大电压供应和最大时钟频率/信号两者,当没有对高能量事件的处理施加限制时,由于该操作将需要的电流,所有处理器电路可能同时需要最大电压供应和最大时钟频率/信号。也就是说,所有处理器电路都不可能同时在最大电压、频率和高能量事件执行下操作。这是数据处理装置中的常见情况,其中能量供应可能不足以使得操作电路中的每个操作电路(始终或在一段时间内)在满负载下操作。在这些示例中,执行某种类型的节流(对高能量事件的节流或处理器电压/频率的减小)。因此,可通过能量供应来满足能量需要。
在一些示例中,高能量事件的分布在多个处理器电路上是不相等的;并且该多个处理器电路中的每个处理器电路的单独处理负载的状态包括高能量事件在该多个处理器电路上的分布。在这些示例中,事件流包含分散在低能量事件之间的多个高能量事件。考虑处理器电路中的每个处理器电路的单独处理负载的状态的动作涉及考虑高能量事件在多个处理器电路上的分布。
在一些示例中,状态分析电路和限制电路中的至少一者被配置为在每个周期重新评估电压供应、时钟信号的频率和高能量事件限制中的至少一者;并且在该周期期间,该多个处理器电路中的一个处理器电路接收比组合的该多个处理器电路中的所有其他处理器电路更多的高能量事件。存在能量事件可不相等地分布的多种方式。然而,在这些示例中,定义了一个周期,在该周期期间,处理器电路中的一个处理器电路接收比组合的所有其他处理器电路更多的高能量事件。所讨论的周期可被定义为重新考虑功率管理和高能量事件限制之后的时间段。在这种情况下,对能量配置的选择变得复杂,因为使得高能量事件负载处理电路能够快速地处理高能量事件可能需要减小处理器电压/频率,这将影响其他处理器电路的电压/频率。
在一些示例中,数据处理装置包括:用于存储多个配置元组的存储电路,其中每个配置元组包括指定频率、指定电压和指定限制量,其中功率管理电路被配置为从这些配置元组中的一个配置元组选择该指定频率作为时钟信号的频率,并且从这些配置元组中的一个配置元组选择该指定电压作为到功率轨的电压供应;并且限制电路被配置为从这些配置元组中的一个配置元组选择该指定限制量作为要执行的高能量事件限制的量。每个配置元组提供单独的指定频率、电压和高能量事件限制量。
在一些示例中,该指定限制量指示针对处理器电路中的每个处理器电路单独进行对高能量事件的限制的程度。在这些实施方案中,每个配置元组为处理器电路中的每个处理器电路指定处理高能量事件方面的单独限制。例如,对于共享功率轨的所有处理器电路,处理器电路中的一个处理器电路可比另一个处理器电路在处理高能量事件方面受到更大程度的限制。
在一些示例中,针对处理器电路的可能限制量的每个组合在存储电路中提供至多一次。存储电路可包含大量此类元组。然而,应当理解,随着存储电路中的元组的数量增加,存储电路的存储容量增加并且因此其功率消耗也增加。此外,存储电路使用的空间也将增加,并且使用存储的信息所需的处理工作增加。然而,不包括每种组合的不同排列。因此,处理器电路上的可能的高能量事件限制量的每个组合在存储电路上提供至多一次。这认识到,一般来讲(例如,在处理器电路均匀的情况下),精确地哪个处理器电路被给予哪个限制量与总体能量消耗极限的问题无关。因此,并非所有排列都需要包括在存储电路中,并且因此与所有排列被存储为单独的元组的情况相比,可减少对存储电路的存储要求。这减小了电路尺寸、功率消耗,并提高了可选择配置元组的速度。
在一些示例中,存储在存储电路中的配置元组的数量对应于处理器电路能够操作的可能频率的数量。发明人已经认识到,对于处理器电路能够操作的每个可能频率,通常存在针对处理器电路中的每个处理器电路的一个最佳或至少适当的高能量事件限制组合。在这些实施方案中排除高能量事件限制的其他组合,因此可进一步减少对存储电路的存储要求。具体地,应当理解,如果要实现特定时钟频率/电压,则在高能量事件的处理中进行不必要的限制通常几乎没有价值(反之亦然)。因此,包括次最佳解决方案几乎没有益处。需注意,在一些示例中,可通过排除可由处理器电路实现的可能处理器频率的子集来进一步限制该数量。例如,可去除过低并且将导致不可接受的性能下降的频率。类似地,由于增大处理器频率所需的能量是非线性的,因此增大处理器频率的回报递减。因此,可从配置中排除最高频率。
在一些示例中,存储电路存储针对处理器电路中的不同数量的活动处理器电路的配置元组的多个集合。以此方式,可根据多个活动的处理器电路以不同方式使用能量预算,使得如果处理器电路被去激活,那些去激活的处理器电路未使用的能量可用于活动的处理器。
在一些示例中,最初基于每个处理器电路上的高能量事件的计数来确定针对处理器电路的高能量事件限制。尽管存在确定在每个处理器电路上应该发生高能量事件限制的程度的多种方式,但是这些实施方案将每个处理器电路上的高能量事件的计数用作起点。例如,这可在先前的时间窗口内确定。例如,如果已经很大程度地发生了高能量事件节流,则可以得出结论,应该减少节流以便使得高能量事件被清除。类似地,如果不发生高能量节流,则这表明提供给处理器电路的高能量事件的数量非常少,由此使得可以增大限制而不会对处理器电路造成不利影响。例如,计数可以是高能量事件的数量已经超过特定数量的时间窗口的数量的计数。在一些示例中,计数指示高能量事件的数量已经超过不同数量的时间窗口的数量。
在一些示例中,根据来自每个处理器电路的管理系统的请求来修改针对处理器电路的高能量事件限制。管理系统可请求改变处理器电路的处理能力。可在需要突发活动的情况下(例如,在要执行紧急处理的情况下)产生改变硬件的处理能力的请求。这种管理系统可采取例如在处理器电路上执行的操作系统的形式。在其他示例中,管理系统可包括能够检测在处理器电路上执行的负载的硬件单元。在这些示例中,当确定在处理器电路上高能量事件将被限制的程度时,可考虑来自这种管理系统的请求。
在一些示例中,该请求用于增大时钟信号的频率。通常,管理系统将需要增大时钟频率,以便更快速地处理指令。由于需要高水平的功率并产生热量,因此通常不维持此类频率。因此,管理系统(诸如操作系统)倾向于请求增大,以便更快速地处理紧急指令。
在一些示例中,当满足另一个条件时,响应于请求是增大时钟信号的频率的请求,减小时钟信号的频率。在这些示例中,管理系统请求增大时钟信号的频率。这可能由于管理系统需要更高的时钟频率信号以快速处理大量指令而发生。在这种情况下,当满足另一个条件时,实际上减小了时钟信号的频率。也就是说,与管理系统的请求相反,时钟信号不增大但减小,从而使得可处理指令的水平降低并降低能量消耗。在这些示例中的一些示例中,该另一个条件是请求是从共享功率轨的处理器电路中的最高能量事件负载处理器电路接收的。在那些示例中的一些示例中,该另一个条件还可包括所有处理器电路请求改变时钟信号的频率的要求,该处理器电路是请求最高时钟频率的处理器电路。在任一种情况下,这种情况认识到,在这种情况下,具有最高高功率事件负载的处理器上的工作负荷可能比其他处理器电路具有更重要的工作负荷,其中该工作负荷也是高能量事件密集型的。在这种情况下,管理系统可通过要求增大时钟信号以便清除高能量事件来作出反应。在当前实施方案中,由于已知处理器电路也充斥着高能量事件,因此反而减小时钟信号的频率是合适的。这使得可减少高能量事件的节流,因此允许高能量事件被更快速地清除(尽管时钟频率减小)。因此,在这种情况下,尽管管理系统请求增大时钟信号,但是处理器电路实际上通过减小时钟信号并使用能量预算来替代地减少高能量事件的节流而得到更好的服务。应当理解,在一些情况下,可能存在几个最高高能量事件负载处理器电路。在这些情况下,如果那些处理器电路中的每个处理器电路要求增大时钟信号的频率,则减小时钟信号的频率并减少对那些处理器电路的高能量事件限制。
在一些示例中,基于针对每个处理器电路的高能量事件限制来确定要供应给功率轨的电压供应和提供给该多个处理器电路的时钟信号的频率。因此,在这些示例中,对频率和电压的选择由针对处理器电路中的每个处理器电路确定的高能量事件限制量决定。在已确定高能量事件将被限制的程度之后,参阅存储在存储电路中的配置元组,以便确定可使用那些限制来实现的最高频率/电压。
在一些实施方案中,高能量事件流包括高能量指令流;并且该一个或多个高能量事件包括一个或多个高能量指令。因此,HEE可由处理电路执行的特定指令引起。HEE的另一个示例可包括数据高速缓存活动,诸如硬件预获取。
在一些实施方案中,该一个或多个高能量事件消耗比事件流中的其他事件的平均功率消耗更多的功率。存在定义HEE的多种方式。然而,在这些实施方案中,HEE被定义为消耗比所有事件的平均功率消耗更多的能量的那些事件。在一些实施方案中,HEE可包括由处理电路处理的所有事件中的前x%的能量消耗事件,而不是与平均值进行比较。在一些其他实施方案中,HEE被定义为比所有事件的平均功率消耗更大(比平均功率消耗大某个裕度,诸如25%或50%或100%)的事件。
在一些实施方案中,该一个或多个高能量事件包括指令类型的子集。数据处理装置的架构师可选择此类指令类型,以涵盖已知与其他类型的指令相比为高能量消耗品的特定指令类别。例如,在一些实施方案中,指令类型的子集包括矢量指令,同时排除至少一些标量指令。矢量指令是同时对大量数据值执行单个操作的指令。这可通过提供多个处理电路以及通过将每个数据值传递到其自身的处理电路来实现,其中相同指令(或控制信号)被传递到每个处理电路以对数据值中的每个数据值执行相同操作。这被称为单指令多数据(SIMD)并行。由于并行操作的大量处理电路,因此与非矢量(标量)指令(其中可能仅一个处理电路处于活动状态)相比,在执行此类指令时消耗的能量通常显著更高。此外,能量可在短时间段内消耗,从而导致高功率消耗。矢量指令的一个示例是可扩展矢量指令,其中由指令提供的数据值的数量可在指令之间有所不同。可被认为是高能量事件的另一个指令类型是大型存储器加载/存储,其中大量数据从存储器设备加载或存储到存储器设备。
现在将参考附图描述具体实施方案。
图1示意性地示出了处理器内核100,该处理器内核是所要求保护的处理器电路的示例。处理器内核100接收可采取指令流的形式的事件流105。该指令流由获取器110从指令高速缓存或主存储器获取。在该示例中,获取器110基于指令的类型HEE或非HEE将这些指令划分为两个部分。存在可进行这种分类的许多方式,但是在这些实施方案中,矢量指令被认为是HEE,而标量指令说明被认为是非HEE。其他实施方案可能认为HEE包括涉及能量消耗较高的电路(诸如使用宽数据通道或矢量指令的电路)的激活的指令。确定指令是否与HEE对应将显然取决于如何定义HEE,但是可通过分析指令操作码来实现。
非HEE指令130经由管道传递到在其中执行指令的处理电路135。
HEE指令115被传递到节流阀125和计数器120两者。该节流阀控制HEE指令115经由管道135传递到处理电路的速率。这使得可以减慢处理HEE指令115的速率,或者在多个处理器周期内扩展这些指令的执行。计数器120计数在微间隔内接收的HEE指令115的数量(提供给数据处理装置100的时钟信号的多个嘀嗒声)。然后通过多个比较器155、160、165将该更新的计数120与阈值Z1、Z2、Z3进行比较。在一些实施方案中,可根据讨论中的事件将计数器加权不同的量。
比较器155、160、165中的每个比较器将当前计数值120与阈值Z1、Z2、Z3中的一者进行比较,并且如果该比较指示当前计数较高,则增加对应的计数器值170、175、180。因此,计数器170、175、180指示在当前宏间隔中阈值Z1、Z2、Z3中的每一者都被超过的微间隔的数量。阈值彼此不同,使得可确定HEE的水平。计数器可被认为是用于单个处理器电路/内核的所要求保护的状态分析电路的一部分的示例。
计数器170、175、180中的值中的每个值都被考虑,并且基于这些值而导致发生功率管理。具体地,可改变供应给处理器内核100的电压或时钟频率。另外,节流阀125使得可基于来自限制电路的信号来限制HEE指令115被执行的程度。以这种方式,基于遇到的HEE指令的数量,可控制HEE指令的电压、频率和节流,以便实现指令执行的总体高通量,同时限制数据处理装置100的功率消耗。
在一些其他实施方案中,可由固件元件读取计数器,并且可由该元件执行功率管理,而不是完全使用硬件比较。
图2示出了微间隔和宏观间隔之间的关系,以及计数器170、175、180如何递增。在该示例中,满足Z1阈值的微间隔的数量由第一低计数器TC0 170存储,并且满足Z2阈值的微间隔的数量由中间计数器TC1 175计数。低计数器TC0 170的初始值是k,而中间计数器TC1175的初始值是x。在该示例中,每个宏间隔由四个微间隔构成。根据图2的综述,应注意,在第一宏间隔期间,存在其中HPE指令的数量超过Z1的三个微间隔。这些微间隔被编号为0、1和3。因此,在下一个宏间隔处,低计数器170的值从k增加到k+3。在相同的第一宏间隔期间,存在其中HPE指令的数量超过Z2的一个微间隔。这是编号为1的微间隔。因此,在下一个宏间隔处,中间计数器175的值从x增加到x+1。在第二宏间隔期间,不存在其中Z1或Z2被超过的微间隔。因此,接下来的宏间隔中的低计数器170和中间计数器175的值分别保持为k+3和x+1。在第三宏间隔期间,存在Z1被超过的三个微间隔(9、10和11),并且存在Z2被超过的两个微间隔(9和10)。因此,在第四宏间隔期间,低计数器170从k+3增加到k+6,并且中间计数器175从x+1增加到x+3。在第四宏间隔期间,同样没有其中HPE指令的数量超过Z1或Z2的微间隔,并且因此在第五宏间隔期间,低计数器170和中间计数器175的值保持不变。在第五宏间隔期间,存在其中HPE的数量超过Z1的四个微间隔(16、17、18和19)。不存在Z2被超过的微间隔。因此,尽管图3中未示出,但用于接下来的宏间隔的低计数器170的值将从k+6增加到k+10。同时,中间计数器175的值将保持在x+3。
图3示出了根据一些实施方案的数据处理装置。在这些实施方案中,多个处理器内核100A、100B、100C、100D各自共享由电压调节器320控制的功率轨310。内核100A、100B、100C、100D中的每一者还接收由频率发生器330产生的相同时钟信号。以此方式,内核100A、100B、100C、100D中的每一者的时钟速度和电压是相同的。限制电路340使得可以单独地向每个处理器内核的节流电路125提供限制信号,使得可单独控制在每个内核上HEE被限制的程度。例如,这使得可以很大程度地限制内核中的一些内核,而不限制其他内核。提供存储电路350以便存储多个“配置元组”。每个元组指示内核100A、100B、100C、100D的电压和频率的配置,以及针对内核100A、100B、100C、100D中的每个内核的HEE的处理的单独限制量。
在该示例中,关于要使用的电压和频率以及限制HEE的量的决策取决于从处理器内核中的每个处理器内核上的计数器140获得的信息。也就是说,给予所有内核的频率和电压以及给予每个处理器内核100A、100B、100C、100D的HEE限制取决于所有内核100A、100B、100C、100D的状态。这会产生一些困难,因为内核100A、100B、100C、100D中的每一者可能具有不同的考虑因素。例如,如果内核中的一个内核具有大量HEE,则可能期望低限制率的HEE,使得该内核可更快速地处理它们。然而,这将消耗能量,这继而可能需要所有内核100A、100B、100C、100D以较低频率和电压进行操作。这将导致其他内核更缓慢地操作,这也可能是不期望的。进一步使问题复杂化的是,可能存在限制量、电压和频率的大量不同的组合。检查每种可能性以找到理想(或甚至良好)的解决方案可能是非常耗时的。该操作本身可能导致高能量消耗,并且可能需要大型的电路来解决。下文所述的其余图示出了可用来快速找到合适的“折中办法”的过程。
此处描述的过程是三步过程:
1.确定处理器内核/电路中的每个处理器内核/电路的基础限制量
2.根据来自用于处理器内核/电路中的每个处理器内核/电路的任何管理系统(诸如操作系统)的请求进行调整
3.从配置元组中选择指示给定频率、电压和限制量的合适配置
图4A和图4B示出了确定处理器内核中的每个处理器内核的基础限制量的示例。该过程考虑了基础节流计数(BTC),该BTC是朝向HEE的较高或较低节流的系统限定偏差。实际上,该值指示是应优选还是避免HEE的节流,并且因此系统设计者(或用户)可根据由处理器内核执行的工作的性质来设置该值。如果HEE是非关键的和/或稀有的,则可能期望高节流,从而产生高BTC。如果HEE是关键的和/或常见的,则可能不期望节流,并且因此可将BTC设置为较低。
在图4A中,BTC被设置为15,这在该示例中指示轻微趋向于或期望节流。该过程考虑了计数器170、175、180中的每一者的值自上次进行节流水平决策以来的变化。计数器中的每个计数器具有与其相关联的相关联限制量(节流阈值)。节流阈值是将发生HEE的节流的阈值。
较高计数器(例如,TC2而不是TC1或TC0)指示其中HEE的数量高于较高数量的多个微间隔。也就是说,虽然TC1对其中HEE的数量高于X的微间隔的数量进行计数,但是TC2对其中HEE的数量高于X+K的微间隔的数量进行计数(其中X和K两者都是正整数并且K大于0)。较高计数器通常具有与其相关联的较高节流阈值,使得在应用节流之前的微间隔内出现较多数量的HEE。这意味着在存在大量HEE的情况下,节流受到限制,使得可以快速清除HEE。
选择过程对计数器(例如,按降序)进行排序,然后考虑其值刚刚大于BTC的计数器(即,最接近的最高值)。选择与该计数器相关联的节流阈值用于处理电路。就图4A而言,与TBC最接近的最高计数器是TC1。因此,选择对应的限制量/节流阈值TT1用于该处理器电路,该处理器电路预期为中等节流水平。
在图4B的示例中,BTC被设置为高值(在这种情况下)35,指示强烈趋向于或期望节流。此处,不存在具有大于BTC的值的计数器Δ。因此,选择最接近的计数器(TC0)。使用该计数器所指的节流阈值(TT0)。因此应用发生节流或限制的低阈值(即,高限制量)。
在所有计数器为零的情况下,选择默认节流阈值作为例如低节流阈值。在其他情况下,这种决策可留给管理系统诸如操作系统来做。
以此方式,可针对每个处理器确定基础节流计数。在此阶段,该过程仅考虑为其考虑节流阈值的处理器本身的工作负荷。因此,每个处理器能够提供关于应该应用的节流阈值水平的输入。
图5示出了关于考虑来自管理系统的请求的第二步骤的过程。例如,可采取操作系统或与操作系统执行类似功能的硬件单元的形式的管理系统可由于管理系统正在管理的处理器内核上的工作负荷而请求增大时钟频率。通常,这在处理器电路具有大量工作要处理并且需要更快的时钟频率以便完成工作时发生。响应于来自管理系统的请求,两种情况中的一种情况可能发生:
如果请求源自具有在针对所有核100A、100B、100C、100D选择的节流阈值中的(联合)最高节流阈值(限制量)的处理器内核,则这表明与其他内核相比,工作负荷不仅是HEE密集的而且非常重要。如果用于该处理器内核的所请求的时钟频率高于所有其他所请求的时钟频率,则该内核的节流阈值增大,使得可在较短的时间空间中处理更多的HEE。该条件在图5的示例中得到满足,其中针对内核100A的节流阈值(TT1)使得该请求高于其他内核100B、100C、100D的节流阈值(TT0)。通常,这将导致频率/电压减小—与管理系统的请求相反。然而,应当理解,来自管理系统的增大时钟频率的请求并非具体是增大时钟频率的请求,而是帮助清除当前工作负荷的需求。本示例认识到,在这种情况下,更有效的是减小频率/电压,并且因此减少了HEE的节流,而不是增大频率并使HEE更缓慢地执行。实际上,在该示例中,请求较高时钟频率的内核100A比组合的所有其他内核100B、100C、100D具有更多的HEE。与减小HEE处理限制相比,时钟频率的增大不太可能有效清除该内核100A的工作负荷。
在请求不源自具有在针对所有内核100A、100B、100C、100D选择的节流阈值中的(联合)最高节流阈值的处理器内核的情况下,或者在请求确实源自这种处理器内核,但其他处理器内核的管理系统正在请求更高的时钟频率的情况下,那么这被解释为内核上的HEE的优先级不是非常高。因此,与以上示例相反,节流阈值/限制量保持不变,并且时钟频率不会增大。
针对处理器内核中的每个处理器内核执行上述过程。
然后,图6示出了第三步骤,该第三步骤是根据针对处理器内核中的每个处理器内核的指定节流阈值来选择配置元组。尽管先前的步骤是基于每内核来执行的,但是第三步骤考虑所有处理器内核。首先,节流阈值按数值顺序布置。该布置方式可以是升序或降序,但是此处所述的示例假设这些节流阈值按降序进行排序。因此,如果由处理器内核给出的节流阈值是“1”、“4”、“3”、“3”,则经修改的排序是4331。精确地识别哪个内核被分配哪个节流阈值对于这个步骤而言不重要。然后搜索存储在存储电路350中的配置元组以获得适当的匹配。每个元组的特征在于具有表示一组节流阈值的相关联的位图,以及表示处理器频率/电压的性能水平。使用经修改的排序来进行搜索。如果发生了与位图中的一个位图的精确匹配,则选择指定的频率/电压。否则,使用下一个最低条目。
需注意,由于节流阈值按特定顺序布置,因此不考虑节流阈值的排列。使用以上示例,不针对位图3314或1334提供条目,因为这些是有效条目4331的排列。这样做是为了减少要存储在存储电路350中的元组的数量。一旦已经确定了配置,就可以确定被分配每个限制量的处理器内核的精确排列。
需注意的另一种情况是,在许多实施方案中,针对每个能够允许的时钟频率/电压仅提供一个位图。这是因为,对于给定频率/电压,存在针对处理器内核的特定量(通常是理想的量)的HEE限制。其他限制量将简单地导致不必要的处理器限制,因此不需要考虑。
可针对每种数量的活动的处理器内核提供不同的配置元组集合。例如,如果处理器内核中的一个处理器内核被去激活,则更多能量可供其他处理器内核使用,并且因此可能需要不同的元组。
图6示出了针对四个活动的内核和针对三个活动的内核的示例性元组集合。在存在四个活动的内核并且指定节流阈值(降序)为“2222”的情况下,存在精确匹配,并且因此处理器频率被设置为2500Hz(2.5GHz),电压为1.8V。如果指节流阈值为“2221”,则不存在条目,并且因此下一个最低阈值被视为“2110”。这种情况使用3000HZ(3.0GHz)的频率和2V的电压。
图6还示出了当四个内核中的三个内核处于活动状态时的元组。此处,相同的能量预算分布在少数量的内核上,从而允许每个内核消耗更多量的能量。因此,对于类似节流阈值“222”,可实现3000Hz(3.0GHz)的频率以及2V的电压。
对于两个或更少的活动内核,不提供元组。在该示例中,这意味着内核可以最大频率、电压来运行并且在不具有HEE的节流的情况下运行。换句话说,由于两个内核的去激活而节省的能量很多以至于不需要应用进一步的限制。
需注意,通过针对每个“能够允许”频率包括一个配置并且不包括排列,可大幅减少条目的数量。在没有这些限制的情况下,可能的配置的数量可能是巨大的。例如,在具有120个内核和四个不同的限制水平和六个不同的电压/频率选项的情况下,能量配置的可能排列的数量将大约是4120×6。在当前示例中,仅需要六个不同条目。
图7示出了流程图700的形式的决策制定过程。在步骤705处,节流阈值按升序布置。然后,针对每个处理器,计算阈值计数器Δ(例如,自上次进行关于功率配置的决策以来的计数器值差异)。在步骤710处,确定最接近BTC的Δ值,该Δ值高于BTC。如果找到了该值,则在步骤715处,选择找到的阈值用于处理器内核,并且过程前进到步骤740。否则,在步骤720处,所有阈值计数器小于BTC,因此采用最低节流阈值。如果在步骤725处阈值计数器等于0,则在步骤730处采用默认(例如,最低)节流阈值。否则,在步骤735处,采用该阈值作为与具有最高值的计数器相关联的节流阈值。
在步骤740处,确定具有最高节流阈值的处理器内核是否也是做出最高处理器频率请求的处理器内核。如果是,则在步骤745处,将节流阈值增大到下一个最高水平(例如,TT1变为TT2,从而减小对HEE的限制),并且过程前进到步骤750。在步骤750处,节流阈值按降序布置为位图。在步骤755处,根据位图和在线内核的数量来选择频率极限。最后,在步骤760处,应用节流阈值、电压和频率。通常,请求最高节流阈值的处理器被分配来自计算配置的最高阈值,并且请求第二最高节流阈值的处理器被分配来自计算配置的第二最高阈值,等等。
该过程周期性地(例如,每个宏间隔或一组宏间隔)重复。
以上示例示出了如何可以将节流阈值、频率和电压分配给共享时钟频率信号和功率轨的处理器内核中的每个处理器内核。所描述的过程是有效的,因为不是存储大量可能的配置,而是实际上仅存储和检查实用的那些配置。另外,所描述的过程能够考虑操作系统请求,同时还平衡对多个处理器内核的需要与潜在冲突要求。
图8示出了流程图800的形式的根据一些示例进行数据处理的过程。在步骤810处,获得处理器电路的状态。这可例如经由计数器140来进行。在步骤820处,对作为整体的内核执行相对于电压/频率的功率消耗管理。然后,在步骤830处,对各个内核执行高能量事件限制。针对每个内核选择的高能量事件限制和针对所有内核(作为整体)选择的电压/频率选自配置元组中的一个配置元组。应当理解,在一些实施方案中,这些步骤中的一些可按不同的顺序完成。例如,一旦已选择配置元组,则如果要增大频率/电压,则首先增大对HEE的限制。另选地,如果要减小频率/电压,则该减小发生在HEE限制减小之前。
在本申请中,字词“被配置为...”用于意指装置的元件具有能够执行所限定的操作的配置。在该上下文中,“配置”意指硬件或软件的互连的布置或方式。例如,该装置可具有提供所限定的操作的专用硬件,或者可对处理器或其他处理设备进行编程以执行该功能。“被配置为”并不意味着装置元件需要以任何方式改变以便提供所限定的操作。
虽然本文已结合附图详细描述了本发明的示例性实施方案,但应当理解,本发明并不限于那些精确的实施方案,并且在不脱离所附权利要求书所限定的本发明的范围和实质的前提下,本领域的技术人员可在其中实现各种变化、增加和修改。例如,在不脱离本发明的范围的情况下,从属权利要求的特征可与独立权利要求的特征一起进行各种组合。
Claims (20)
1.一种数据处理装置,所述数据处理装置包括:
多个处理器电路,所述多个处理器电路用于处理包括一个或多个高能量事件的事件流,其中所述多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;
功率管理电路,所述功率管理电路用于通过控制到所述功率轨的电压供应和提供给所述多个处理器电路的时钟信号的频率来执行功率消耗管理;
状态分析电路,所述状态分析电路用于获得所述处理器电路中的每个处理器电路的单独处理负载的状态;和
限制电路,所述限制电路用于对所述多个处理器电路中的每个处理器电路执行高能量事件限制,其中:
所述功率消耗管理和所述高能量事件限制两者都基于所述多个处理器电路中的每个处理器电路的所述单独处理负载;并且
所述处理器电路中的每个处理器电路能够独立于所述处理器电路中的其他处理器电路而被所述限制电路限制。
2.根据权利要求1所述的数据处理装置,其中:
所述功率管理电路不能在不存在所述高能量事件限制的情况下同时向所有所述多个处理器电路供应最大请求的电压供应和最大请求的时钟信号两者。
3.根据权利要求1所述的数据处理装置,其中:
所述高能量事件的分布在所述多个处理器电路上是不相等的;并且
所述多个处理器电路中的每个处理器电路的所述单独处理负载的所述状态包括所述高能量事件在所述多个处理器电路上的所述分布。
4.根据权利要求1所述的数据处理装置,其中:
所述状态分析电路和所述限制电路中的至少一者被配置为在每个周期重新评估所述电压供应、所述时钟信号的所述频率和所述高能量事件限制中的至少一者;并且
在所述周期期间,所述多个处理器电路中的一个处理器电路接收比组合的所述多个处理器电路中的所有其他处理器电路更多的所述高能量事件。
5.根据权利要求1所述的数据处理装置,包括:
存储电路,所述存储电路用于存储多个配置元组,其中每个配置元组包括指定频率、指定电压和指定限制量,其中:
所述功率管理电路被配置为从所述配置元组中的一个配置元组选择所述指定频率作为所述时钟信号的所述频率,并且从所述配置元组中的所述一个配置元组选择所述指定电压作为到所述功率轨的所述电压供应;并且
所述限制电路被配置为从所述配置元组中的所述一个配置元组选择所述指定限制量作为要执行的所述高能量事件限制的量。
6.根据权利要求5所述的数据处理装置,其中:
所述指定限制量指示针对所述处理器电路中的每个处理器电路单独进行对所述高能量事件的限制的程度。
7.根据权利要求6所述的数据处理装置,其中:
针对所述处理器电路的可能限制量的每个组合在所述存储电路中提供至多一次。
8.根据权利要求6所述的数据处理装置,其中:
存储在所述存储电路中的所述配置元组的数量对应于所述处理器电路能够操作的可能频率的数量。
9.根据权利要求1所述的数据处理装置,其中:
最初基于每个处理器电路上的所述高能量事件的计数来确定针对所述处理器电路的所述高能量事件限制。
10.根据权利要求9所述的数据处理装置,其中:
根据来自每个处理器电路的管理系统的请求来修改针对所述处理器电路的所述高能量事件限制。
11.根据权利要求10所述的数据处理装置,其中:
所述请求用于增大所述时钟信号的所述频率。
12.根据权利要求10所述的数据处理装置,其中:
在满足另一个条件时,响应于所述请求是增大所述时钟信号的所述频率的请求,减小所述时钟信号的所述频率。
13.根据权利要求12所述的数据处理装置,其中:
所述另一个条件是所述请求是从所述处理器电路中的最高高能量事件负载处理器电路接收的。
14.根据权利要求9所述的数据处理装置,其中:
基于针对每个处理器电路的所述高能量事件限制来确定要供应给所述功率轨的所述电压供应和提供给所述多个处理器电路的所述时钟信号的所述频率。
15.根据权利要求1所述的数据处理装置,其中:
所述高能量事件流包括高能量指令流;并且
所述一个或多个高能量事件包括一个或多个高能指令。
16.根据权利要求4所述的数据处理装置,其中:
所述一个或多个高能量事件消耗比所述事件流中的其他事件的平均功率消耗更多的功率。
17.根据权利要求4所述的数据处理装置,其中:
所述一个或多个高能量事件包括指令类型的子集。
18.根据权利要求4所述的数据处理装置,其中:
所述指令类型的子集包括矢量指令,并且排除至少一些标量指令。
19.一种方法,所述方法包括:
使用多个处理器电路处理包括一个或多个高能量事件的事件流,其中所述多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;
通过控制到所述功率轨的电压供应和提供给所述多个处理器电路的时钟信号的频率来执行功率消耗管理;
获得所述处理器电路中的每个处理器电路的单独处理负载的状态;以及
对所述多个处理器电路中的每个处理器电路执行高能量事件限制,其中:
所述功率消耗管理和所述高能量事件限制两者都基于所述多个处理器电路中的每个处理器电路的所述单独处理负载;并且
所述处理器电路中的每个处理器电路能够独立于所述处理器电路中的其他处理器电路而被所述限制电路限制。
20.一种数据处理装置,所述数据处理装置包括:
用于使用多个处理器电路处理包括一个或多个高能量事件的事件流的装置,其中所述多个处理器电路中的每个处理器电路被配置为从同一功率轨汲取功率;
用于通过控制到所述功率轨的电压供应和提供给所述多个处理器电路的时钟信号的频率来执行功率消耗管理的装置;
用于获得所述处理器电路中的每个处理器电路的单独处理负载的状态的装置;和
用于对所述多个处理器电路中的每个处理器电路执行高能量事件限制的装置,其中:
所述功率消耗管理和所述高能量事件限制两者都基于所述多个处理器电路中的每个处理器电路的所述单独处理负载;并且
所述处理器电路中的每个处理器电路能够独立于所述处理器电路中的其他处理器电路而被所述限制电路限制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/126,849 US11397458B2 (en) | 2019-05-23 | 2020-12-18 | Balancing high energy events |
US17/126,849 | 2020-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647609A true CN114647609A (zh) | 2022-06-21 |
Family
ID=79270116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111510316.1A Pending CN114647609A (zh) | 2020-12-18 | 2021-12-10 | 平衡高能量事件 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114647609A (zh) |
GB (1) | GB2604981B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
US9430242B2 (en) * | 2012-04-02 | 2016-08-30 | Nvidia Corporation | Throttling instruction issue rate based on updated moving average to avoid surges in DI/DT |
US9304573B2 (en) * | 2013-06-21 | 2016-04-05 | Apple Inc. | Dynamic voltage and frequency management based on active processors |
US11054882B2 (en) * | 2019-02-21 | 2021-07-06 | Apple Inc. | Externally-triggered throttling |
-
2021
- 2021-12-02 GB GB2117394.3A patent/GB2604981B/en active Active
- 2021-12-10 CN CN202111510316.1A patent/CN114647609A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
GB202117394D0 (en) | 2022-01-19 |
GB2604981A (en) | 2022-09-21 |
GB2604981B (en) | 2023-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8397236B2 (en) | Credit based performance managment of computer systems | |
US7401240B2 (en) | Method for dynamically managing power in microprocessor chips according to present processing demands | |
US10444812B2 (en) | Power shifting in multicore platforms by varying SMT levels | |
EP1564638B1 (en) | A method of reassigning objects to processing units | |
KR20130061747A (ko) | 코어 마다의 전압 및 주파수 제어 제공 | |
US20130125116A1 (en) | Method and Device for Adjusting Virtual Resource and Computer Readable Storage Medium | |
WO2021099891A1 (en) | Determining an optimum number of threads per core in a multi-core processor complex | |
US20140325520A1 (en) | Application thread to cache assignment | |
US10558500B2 (en) | Scheduling heterogenous processors | |
US8769201B2 (en) | Technique for controlling computing resources | |
CN101819459A (zh) | 一种基于异构对象存储系统的功耗控制方法 | |
US10942850B2 (en) | Performance telemetry aided processing scheme | |
US11397458B2 (en) | Balancing high energy events | |
JP2010108300A (ja) | 情報処理システム、及び情報処理システムにおけるi/oのパスへの割り当て方法 | |
CN112181498B (zh) | 并发控制方法、装置和设备 | |
CN114647609A (zh) | 平衡高能量事件 | |
KR20140005808A (ko) | 프로세싱 유닛에 대한 전력 관리 시스템 및 방법 | |
US20160011962A1 (en) | Allocating memory usage based on voltage regulator efficiency | |
KR102468286B1 (ko) | 대칭형 다중 처리 시스템에서의 전력 제한 장치 및 방법 | |
US8108871B2 (en) | Controlling computer resource utilization | |
US11409349B2 (en) | Power management | |
Li et al. | Extended efficiency and soft-fairness multiresource allocation in a cloud computing system | |
US8607245B2 (en) | Dynamic processor-set management | |
US10528387B2 (en) | Computer processing system with resource optimization and associated methods | |
CN110427217B (zh) | 基于内容的发布订阅系统匹配算法轻量级并行方法和系统 |
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 |