A system and method for adaptive adjustment of thermal caps

By adaptively adjusting the upper limit of thermal load and dynamically detecting changes in operating conditions, the system solves the reliability and performance problems caused by temperature rise in computing systems, achieving a balance between system security and performance.

CN115220553BActive Publication Date: 2026-01-16MEDIATEK INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210203601.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-09-30
Filing Date
2022-03-03
Publication Date
2026-01-16
Estimated Expiration
2042-03-03

AI Technical Summary

Technical Problem

In modern computing systems, the integration of multiple processors and application-specific integrated circuits into a single chip results in limited cooling capacity. Increased chip temperature leads to reduced system reliability, and existing thermal management technologies can affect performance when processor frequency and voltage are reduced.

Method used

By using a system and method that adaptively adjusts the thermal limit, changes in system operation are dynamically detected, and the thermal limit of the computing circuit is adjusted according to changes in power consumption and leakage power consumption to ensure safe system operation with minimal impact on performance.

Benefits of technology

This approach ensures system safety while maintaining the performance of the computing circuit for as long as possible, avoiding system failures caused by temperature rise and reducing unnecessary performance loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115220553B_ABST
    Figure CN115220553B_ABST
Patent Text Reader

Abstract

The application provides a system and method for adaptively adjusting a thermal upper limit. The system comprises a plurality of computing circuits and a thermal management module coupled to the plurality of computing circuits, wherein the thermal management module is configured to: detect a change in operating conditions affecting power consumption in the system; determine an adjustment value for a thermal upper limit of a computing circuit in the plurality of computing circuits when the change in operating conditions is detected; and adjust the thermal upper limit of the computing circuit according to the adjustment value, wherein different operating conditions correspond to different values of the thermal upper limit. Embodiments of the application can adaptively adjust the value of the thermal upper limit according to the operating conditions, thereby ensuring safe operation of the system and having little impact on performance.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application generally relate to thermal management of computing systems, and more particularly, to a system and method for adaptive adjustment of thermal ceiling. BACKGROUND

[0002] Modern computing systems incorporate multiple processors and multiple application specific integrated circuits into a single chip. Systems with limited form factors typically have limited cooling capabilities. The temperature of the chip increases, which results in reduced reliability of the system. Therefore, thermal management becomes a major issue in high power density environments.

[0003] Some systems implement dynamic voltage and frequency scaling (DVFS), which is a technique to automatically adjust the frequency and voltage of processing circuits (e.g., processors) at runtime. One common thermal management technique is to utilize DVFS to perform throttling. When the temperature of a processor rises to a thermal ceiling, throttling is activated to lower the clock frequency and voltage of the processor, thereby reducing power consumption and heat generation. However, lowering the clock frequency and voltage of the processor also reduces the performance of the processor.

[0004] Therefore, there is a need to improve thermal management to ensure safe operation of the system with less impact on performance. SUMMARY

[0005] In view of the above, one of the objects of the present application is to provide a system and method for adaptive adjustment of thermal ceiling to solve the above problems.

[0006] The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce some concepts, highlights, benefits and advantages of the novel and non-obvious technology described herein. Embodiments selected are further described in the following detailed description. Thus, the following summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used to determine the scope of the claimed subject matter.

[0007] In a first aspect, the present application provides a system for adaptive adjustment of thermal ceiling, wherein the system comprises a plurality of computing circuits and a thermal management module coupled to the plurality of computing circuits, and the thermal management module is configured to: detect a change in operating condition that affects power consumption in the system; determine an adjustment value for a thermal ceiling of a computing circuit in the plurality of computing circuits when the change in operating condition is detected; and adjust the thermal ceiling of the computing circuit according to the adjustment value, wherein different operating conditions correspond to different values of the thermal ceiling.

[0008] In some embodiments, the operating condition change includes a change in dynamic power consumption and leakage power consumption.

[0009] In some embodiments, the thermal management module is further configured to detect the operating condition change based on measurements and predictions of power consumption.

[0010] In some embodiments, the prediction of power consumption includes a prediction of dynamic power consumption based on one or more of: voltage, frequency, system configuration, workload, and runtime.

[0011] In some embodiments, the prediction of power consumption includes a prediction of leakage power consumption based on one or more of: voltage, process variation, system configuration, and power gating.

[0012] In some embodiments, the operating condition change includes a change in the number of computing circuits activated in the system.

[0013] In some embodiments, the adjustment value is determined based on a temperature ramp-up slope of the computing circuit.

[0014] In some embodiments, the thermal management module is further configured to compare a current temperature of the computing circuit to the thermal cap to determine whether to limit performance of the computing circuit.

[0015] In some embodiments, the performance of the computing circuit is limited when the temperature of the system rises to a temperature defined by the thermal cap.

[0016] In some embodiments, the thermal cap is dynamically changed as the operating condition changes.

[0017] In a second aspect, the present disclosure provides a method for adaptively adjusting a thermal cap, comprising: detecting an operating condition change that affects power consumption in a system; determining an adjustment value for a thermal cap of a computing circuit in the system when the operating condition change is detected; and adjusting the thermal cap of the computing circuit according to the adjustment value, wherein different operating conditions correspond to different values of the thermal cap.

[0018] In some embodiments, the operating condition change includes a change in dynamic power consumption and leakage power consumption.

[0019] In some embodiments, the detecting of the operating condition change is based on measurements and predictions of power consumption.

[0020] In some embodiments, the prediction of power consumption includes a prediction of dynamic power consumption based on one or more of: voltage, frequency, system configuration, workload, and runtime.

[0021] In some embodiments, the prediction of the power consumption includes a prediction of leakage power consumption based on one or more of: voltage, process variation, system configuration, and power gating.

[0022] In some embodiments, the change in operating condition includes a change in a number of computing circuits activated in the system.

[0023] In some embodiments, the adjustment value is determined based on a temperature ramp-up slope of the computing circuit.

[0024] In some embodiments, the method further includes comparing a current temperature of the computing circuit to the thermal cap to determine whether to limit performance of the computing circuit.

[0025] In some embodiments, the performance of the computing circuit is limited when a temperature of the system rises to a temperature defined by the thermal cap.

[0026] In some embodiments, the thermal cap dynamically changes as a function of a change in operating condition.

[0027] Embodiments of the present application can dynamically / adaptively adjust the value of the thermal cap according to operating conditions (that is, the value of the thermal cap is not fixed), thereby ensuring safe operation of the system and having less impact on performance.

[0028] The summary of the application is provided by way of example, and is not intended to limit the application. Other embodiments and advantages are described in the following detailed description. The application is defined by the claims. These and other objects of the application will be more readily understood from the following detailed description, taken in conjunction with the preferred embodiments, as illustrated in the accompanying drawings. The detailed description will illustrate the principles of the application by reference to the preferred embodiments. BRIEF DESCRIPTION OF DRAWINGS

[0029] The accompanying drawings, in which like numerals represent like components, illustrate embodiments of the present application. The drawings contained herein are included to provide a further understanding of embodiments of the present disclosure and are incorporated in and constitute a part of this disclosure. The drawings illustrate embodiments of the present disclosure and, together with the description, serve to explain principles of the present disclosure. It is understood that the drawings are not necessarily to scale, as some components can be exaggerated or drawn out of proportion to others for clarity of illustration.

[0030] Figure 1 is a schematic diagram of a system according to an embodiment.

[0031] Figure 2 is a schematic diagram of dynamic thermal cap adjustment according to an embodiment.

[0032] Figure 3An example of a thermal cap versus the number of activated processors is shown in accordance with an embodiment.

[0033] Figure 4 A flowchart of a thermal cap adjustment process is shown in accordance with an embodiment.

[0034] Figure 5 A flowchart of a method for adjusting a thermal cap of a computing circuit is shown in accordance with an embodiment.

[0035] In the following detailed description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the application. It will be apparent, however, that one or more embodiments can be practiced without these specific details, different embodiments can be practiced using different techniques, and that different embodiments can be practiced with different levels of detail. For the sake of clarity, details that are useful for a DETAILED DESCRIPTION

[0036] The following description is provided for the purposes of illustrating the general principles of the application, and is not meant to limit the inventive concepts in any way. Various embodiments of the application are described herein with reference to the accompanying drawings. The use of the same reference numerals in different figures indicates similar or identical components. The use of the term "embodiment" or "aspect” means that a particular feature, structure, or characteristic described in connection with the embodiment or aspect is included in at least one embodiment or aspect of the application. The appearances of the term “example” or “exemplary” in various places means that a particular feature, structure, or characteristic is covered by at least one embodiment or aspect of the application. The term “application” or “application” means any one, expected or anticipated, of the embodiments of the application. The terms “comprises”, “comprising”, “including”, “including”, “has”, “having” and the like are open-ended terms that are used to enable the specification to cover a wide and

[0037] Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.

[0038] The terms “substantially” and “approximately” as used herein mean within acceptable ranges for the intended technical result, as would be understood by those skilled in the art. For example, “substantially equal” means within an acceptable range for the intended technical result, as would be understood by those skilled in the art, and can include a certain amount of error as would be understood by those skilled in the art.

[0039] Embodiments of the present disclosure provide a thermal management technique that adaptively adjusts the thermal ceiling of a computing circuit (e.g., a processor) when the runtime condition changes. In one example, the runtime condition is considered to change when the power consumption of the computing circuit and / or system changes during runtime (e.g., the total power consumption changes from a preset interval 1 to fall into a preset interval 2; or, for example, the amount of power consumption change exceeds a default value). Another example of the runtime condition change (also referred to as "change in runtime condition" or "change in runtime condition" in the present disclosure) is when the system turns on or turns off the processor, i.e., the number of processors that are turned on / activated changes (which can also be reflected by the change in power consumption / power accordingly). Another example of the runtime condition change is when the processor starts to draw more current, which can be due to an increase in workload or other reasons (which can also be reflected by the change in power consumption / power accordingly). In one example, when the runtime condition change is detected (e.g., the total power consumption of the system changes from a higher preset interval 2 to fall into a lower preset interval 1, or the total power consumption of the system decreases by a default value, etc.), the thermal ceiling of one or more computing circuits is increased to allow operation at an increased temperature and the same clock frequency. Thus, the performance of the computing circuit can be maintained for a longer period of time. When the thermal ceiling cannot be safely increased (e.g., the thermal ceiling has been adjusted to the maximum allowed value, and the total power consumption is still increasing or the temperature exceeds the current thermal ceiling temperature), the system reduces the performance by lowering the clock frequency and voltage of the computing circuit to reduce power consumption and heat generation. Thus, the thermal management technique described herein is able to protect the system from failure and maintain performance as long as possible in a safe condition.

[0040] In the systems described herein, a “processor” can be a central processing unit (CPU), a digital signal processor (DSP), a multimedia processor, a graphics processing unit (GPU), a vector processor, or other general purpose / special-purpose processing circuitry. In some systems, a processor can be referred to by the term “core,” “processor core,” or “CPU core” identically, while in some other systems, a processor can include multiple cores. A multi-processor system can also be referred to as a multi-core system.

[0041] Figure 1 is an example of a system 100 according to an embodiment. The system 100 includes a processing unit 131 that further includes processors 130 (e.g., P1, P2,..., Pn) and special-purpose circuits 190 (e.g., C1, C2,..., Cm), where the index n and the index m can be any integer greater than or equal to 1. Each processor 130 can be any computing circuit, such as a general-purpose processor, a graphics processing unit (GPU), a digital signal processor (DSP), a media processor, etc. Each special-purpose circuit 190 can be an application-specific integrated circuit (ASIC), etc. In alternative embodiments, the system 100 can include any combination of processors 130 and / or special-purpose circuits 190. For ease of description, the term “computing circuit 150” is used throughout the specification to refer to any one of the processors 130 and / or any one of the special-purpose circuits 190. The thermal cap adjustment techniques and methods described herein can be applied to any computing circuit 150 that receives voltage and clock signals and generates heat during operation.

[0042] The processors 130 can have the same processor type and / or different processor types. Processors of different processor types have different hardware characteristics, which can be measured by their capabilities (e.g., measured in millions of instructions per second (MIPS)) and / or energy efficiency (e.g., measured in power consumption). Processors of different processor types can share the same instruction set architecture (ISA); that is, they can execute the same programs and software applications. In an embodiment, processors of different processor types can have different microarchitectures to provide different computing performance and different power efficiency.

[0043] In an embodiment, the processing unit 131 includes a plurality of temperature sensors 180 (each denoted as S in the figures) to measure the temperature of each computing circuit 150. Additional temperature sensors can be distributed throughout the system 100 to measure the environmental temperature of the system 100. In an embodiment, the processing unit 131 can be integrated on a single integrated circuit die or on separate dies in a multi-circuit package. In an embodiment, the system 100 can be integrated as a system-on-a-chip (SOC).

[0044] The system 100 also includes a memory 120. The memory 120 can include on-chip and off-chip memory devices, such as dynamic random access memory (DRAM), static RAM (SRAM), flash memory, and other volatile or non-volatile memory devices. The system 100 also includes a power source 171 to provide power and a clock circuit 172 to provide a clock signal to each computing circuit 150. The system 100 can be connected to a network (e.g., a personal area network, a local area network, a wide area network, etc.). It should be understood that Figure 1 Embodiments are simplified diagrams for illustrative purposes. Additional hardware components can be included in other embodiments.

[0045] In one embodiment, the system 100 includes a dynamic voltage frequency scaling (DVFS) controller 170 to control the operating point (e.g., frequency and voltage) of the activated computing circuits 150. The term "activated" is equivalent to "powered on" herein. The DVFS controller 170 can control the clock circuit 172 to individually increase or decrease the clock frequency of the respective computing circuits 150, and can control the power supply 172 to individually increase or decrease the voltage supplied to the respective computing circuits 150.

[0046] In one embodiment, the system 100 includes a monitor module 160. The monitor module 160 communicates with the temperature sensors 180 and other sensors and measurement circuits distributed throughout the processing unit 131 and the system 100. The measurement circuits can measure the dynamic current drawn by each computing circuit 150 during a transition (e.g., heavy load to light load) and the leakage current flowing through each computing circuit 150. The measurements and data provided by the sensors are used as indicators of the dynamic and leakage power consumption of each computing circuit 150. The monitor module 160 also communicates with each computing circuit 150 to collect information about its operating state. The monitor module 160 can communicate with monitors and / or counters implemented in hardware and / or software to monitor the operation of each computing circuit 150. For example, the monitor module 160 can learn the amount of workload, execution time, power on or off conditions, etc. of each computing circuit 150. The information collected by the monitor module 160 is sent to the thermal management (TM) module 110.

[0047] The thermal management (TM) module 110 communicates with the monitor module 160, and can also communicate with the processing unit 131 to obtain the measurements, temperature data provided by the sensors, and the operating state of each computing circuit 150. Based on the obtained information, the thermal management (TM) module 110 detects whether a change in operating condition has occurred and determines a corresponding adjustment, if any, to the thermal ceiling of one or more computing circuits 150.

[0048] In an embodiment, the thermal management (TM) module 110 includes a power measurement module 112 configured to calculate the dynamic power consumption and the leakage power consumption of each computing circuit 150 based on a direct measurement of the operating voltage and the current drawn by each computing circuit 150. For example, the dynamic power consumption refers to the power of the circuit when the clock is on, and the leakage power consumption refers to the power of the circuit when the clock or the power switch is off. The thermal management (TM) module 110 also includes a power predictor module 113 configured to predict the dynamic power consumption and the leakage power consumption of each computing circuit 150 based on information from the monitoring module 160 and the processing unit 131. In an embodiment, the power predictor module 113 can perform a machine learning operation to predict the power consumption based on the physical characteristics of the computing circuit 150 and the past and current operating states of the computing circuit 150. Based on the power / power consumption measurements obtained by the power measurement module 112 and the predictions obtained by the power predictor module 113, the thermal management (TM) module 110 detects whether a change in operating condition has occurred. For example, in a first example embodiment, a change in operating condition is detected by detecting a fall into a range of the total power consumption (e.g., the sum of the dynamic power consumption and the leakage power consumption). In this example embodiment, the possible range of values of the power consumption (e.g., 0 ~ Pmax, where Pmax is the maximum power value allowed for operation of the system) can be pre-set into a plurality of preset ranges (e.g., the possible range of power values 0 ~ Pmax is divided into N preset ranges, N > 1 and is an integer, such as Figure 3corresponding to different thermal upper limit values. For example, the relationship between the preset intervals and the thermal upper limit values can be obtained in advance (e.g., by simulation or modeling). In particular, the present embodiments are not limited thereto, and for example, a default relationship between the default intervals and the temperature rise slope can also be obtained in advance, or can be obtained dynamically. Thus, when a change in the operating condition is detected by the power consumption, the value of the thermal upper limit can be adjusted adaptively according to the preset interval into which the latest measured, predicted, or both, power consumption value (e.g., the total power consumption represented by the sum of the dynamic power consumption and the leakage power consumption) falls (e.g., the thermal upper limit is adjusted from the current value to the thermal upper limit value corresponding to the preset interval into which the latest measured, predicted, or both, power consumption value falls). In the first example embodiment, when it is detected that the temperature exceeds the thermal upper limit temperature value corresponding to the current default interval, the system reduces the clock frequency and voltage of the computing circuit (reduces the performance) to reduce the power consumption and heat generation. In the second example embodiment, whether a change in the operating condition occurs can be detected by determining whether the change in the power consumption of the system exceeds a default value. For example, the system can determine the current power consumption every default time interval, and when the change between the latest obtained power consumption value and the last obtained power consumption value exceeds the default value, it can be considered that a change in the operating condition is detected, and thus, the new thermal upper limit value can be further determined (e.g., by calculating / estimating the temperature rise slope to determine the adjustment value / update value of the thermal upper limit). In the third example embodiment, whether a change in the operating condition occurs can be detected by simply determining the number of processors that are turned on / activated. For example, a relationship between different numbers of turned-on processors and different thermal upper limits can be established in advance, so that the thermal upper limit value is different when the number of turned-on processors is different. However, in the third example embodiment, even if the number of turned-on processors does not change over time, the total power consumption can still increase, because long-time operation can cause poor heat dissipation and thus increase the power consumption. Therefore, in the third example embodiment, even if the number of turned-on processors does not change, whether a change in the operating condition occurs can be further detected based on the total power consumption. In response to the result of the detection, the adjustment module 111 in the thermal management (TM) module 110 determines the adjustment amount (if any) of the thermal upper limit of one or more computing circuits 150 (e.g., activated computing circuits) affected by the change in the operating condition. Optionally, the adjustment module 110 can signal the DVFS controller 170 to adjust the clock frequency and operating voltage of one or more computing circuits 150. When the thermal upper limit of the circuit cannot be increased (e.g., when the increase of the thermal upper limit causes the computing circuit to operate at a temperature that violates the minimum safety margin), the adjustment module 111 determines to reduce the clock frequency and / or operating voltage of the computing circuit 150. More details about the safety margin will be described in connection with the second example embodiment. Figure 2 provided.

[0049] One or more of the DVFS controller 170, monitoring module 160, and thermal management (TM) module 110 may be implemented in hardware circuitry, software executed by the hardware circuitry, or a combination of hardware and software. The hardware circuitry may be dedicated or general-purpose hardware. The software may be stored on any non-transitory, computer-readable medium for use by system 100 or methods executed by system 100. In one embodiment, thermal management (TM) module 110 may be executing software (e.g., a machine learning algorithm for power consumption prediction). Optionally, the software may be executed by one or more computing circuits 150.

[0050] Figure 2 This is a schematic diagram illustrating dynamic thermal limit adjustment according to one embodiment. In this example embodiment, the system can detect changes in operating conditions by determining whether the amount of power consumption change (such as the difference between the currently obtained power consumption and the previously obtained power consumption) exceeds a default value. If a change in operating conditions is detected, it is further determined whether the thermal limit can be safely increased, considering factors such as the temperature rise slope under the current operating conditions. The calculation circuit P (e.g., Figure 1 The temperature of any computing circuit 150 is shown as a solid line, the temperature upper bound of computing circuit P is shown as a dotted dashed line, and the thermal ceiling of computing circuit P is shown as a short dashed line. Understandably, the temperature upper bound refers to the maximum temperature the system can withstand. Typically, during system operation, to avoid crashes, the system temperature is not allowed to actually rise to this temperature upper bound; therefore, a margin is reserved. The thermal ceiling is the temperature upper bound minus this reserved margin. In this embodiment of the invention, this reserved margin can be dynamically adjusted according to changes in operating conditions. For example, the lower the system power consumption, the smaller the reserved margin can be; conversely, the higher the system power consumption, the larger the reserved margin. This is because different power consumptions lead to different rates of temperature rise. Specifically, higher power / power consumption makes it easier for the temperature to rise significantly in a short time, thus requiring a larger margin to avoid estimation errors or delays that could lead to failure. During time period T1, the temperature of the computing circuit P rises to the thermal limit temp0. For example, the thermal limit temp0 can be the system's default thermal limit. As the system operates, the system temperature rises and reaches the thermal limit. At this point, the system detects a change in operating condition (referred to herein as the "first change in operating condition," e.g., power consumption drops to a lower level / range). Upon detecting the first change in operating condition (e.g., it can be determined that the thermal limit can be safely increased at this time), the system (e.g., Figure 1the thermal management (TM) module 110) raises the thermal ceiling of the computing circuit P from tempO to tempi. During time period T2, the temperature of the computing circuit P continues to rise and rises to the new thermal ceiling tempi. At this time, the system detects another change in operating condition ("second change in operating condition"). The first and second changes in operating condition can have the same or different underlying causes (e.g., an increase in workload, an extension of the running time, etc.). Upon detecting the second change in operating condition (e.g., it can be determined that the thermal ceiling at this time cannot be safely increased), the system 100 throttles the performance of the computing circuit P by reducing the clock frequency of the computing circuit P. As a result, the temperature of the computing circuit P decreases during time period T3. Note that the temperature of the computing circuit P never reaches the temperature ceiling (tmax) at any time, otherwise the computing circuit P would fail. In another example embodiment, each preset interval can have a corresponding thermal ceiling. In the example of detecting the change in operating condition by the number of processors turned on, if the operating condition is 4 cores (e.g., all 4 CPUs are activated) full on, the temperature rise is steep (e.g., 20°C / 5ms) and can cause the thermal ceiling to need to be grabbed with a large margin, thus the thermal ceiling can be set to a relatively small tempO (e.g., 85°C). If the operating condition is only 1 core (e.g., only 1 CPU is activated), the temperature rise is mild and the thermal ceiling can be adjusted up to a tempi (e.g., 100°C) that is close to the temperature ceiling (e.g., 107°C).

[0051] The decision whether to increase the thermal ceiling or throttle the performance depends on the amount of safety margin in which the computing circuit can safely operate. When increasing the thermal ceiling still maintains a sufficient safety margin from the temperature ceiling, the thermal management (TM) module 110 Figure 1 ) can raise the thermal ceiling of the computing circuit P. When the minimum safety margin cannot be maintained, the thermal management (TM) module 110 does not increase the thermal ceiling. The minimum safety margin of the computing circuit P depends on factors such as the rate or slope of the temperature rise of the computing circuit P. For example, the temperature rise slope (also referred to as the temperature rise speed / rate) depends on the number of computing circuits (i.e., turned on) in the system. When there are more computing circuits turned on in the system, more current will flow through the system, and each computing circuit turned on will experience a faster temperature rise speed.

[0052] In Figure 2In the example of FIG. 1, the safety margin during time period Tl is Ml and the safety margin during time period T2 is M2, where Ml > M2. When the second operating condition change is detected, the system can determine that M2 is the minimum safety margin for the computing circuit P for the given operating condition; that is, any decrease in M2 will cause the computing circuit P to fail. Thus, the system decides to throttle the performance of the computing circuit P rather than further increasing the thermal ceiling of P. The safety margin provides a margin for error in the temperature measurement. For example, if a temperature measurement is provided to the thermal management (TM) module 110 once every 5 milliseconds (ms), the minimum safety margin can be set to the temperature rise estimate over at least 5 ms. For example, the estimated amount of temperature rise of the computing circuit over 5 ms or more.

[0053] When increasing the thermal ceiling would violate the minimum safety margin, the clock frequency and / or voltage of the computing circuit is throttled so that the temperature is thereby reduced. When the temperature of the computing circuit is reduced to a certain level (e.g., below temp 1 or at temp 0), the system can restore the clock frequency and / or voltage.

[0054] Figure 3 An example of the thermal ceiling and the number of activated processors is shown according to an embodiment. The thermal ceiling dynamically changes as the operating condition changes. In this example embodiment, the possible values of the power consumption can be pre-set into a plurality of preset intervals (and / or, a plurality of levels are pre-set according to different numbers of turned-on / activated processors, for example, Figure 3 The example of FIG. 2 illustrates the number of intervals / levels with the total number of processors as an example, but the present disclosure is not limited to this example), where each preset interval / level corresponds to a different temperature rise slope (e.g., Imax corresponding to each interval / level is different, so the speed of temperature rise is also different) and / or a thermal ceiling value. It should be noted that, Figure 3 This is only one example description, not a limitation of the present disclosure. In Figure 3 In the example of FIG. 2, Imax refers to the maximum current of the processor at the moment Figure 3 The current values in the table shown in FIG. 2 are only examples). Alternatively, the temperature rise slope and / or the thermal ceiling value corresponding to each preset interval / level can also be dynamically determined / estimated during operation. Specifically, the present disclosure is not limited, but for ease of illustration and understanding, Figure 3 A pre-set example is shown. For example, the system can detect the operating condition change by determining whether the current power consumption falls into another preset interval and / or whether the number of turned-on processors changes. The following is described with the number of turned-on / activated processors as an example. Although processors are used in this example, it should be understood that this example is applicable to Figure 1any of the computing circuits 150. In this example, the number of activated processors is monitored as a running condition. When the number of activated processors decreases (i.e., the number of powered-on processors decreases), less current is consumed, and therefore the temperature increase is slowed. In response to the decrease in activated processors, the system can increase the thermal upper bound of the activated processor(s) to maintain their clock frequency and performance. In this example, the temperature upper bound is 107 degrees Celsius (°C). The temperature increase slope measured in degrees Celsius every 5 milliseconds is a pre-calibrated parameter of the system. The minimum safety margin is calculated as the sum of the temperature increase slope over 5 milliseconds (which can be estimated by simulation or obtained from early experiments, optionally, it can also be obtained dynamically during operation, specifically, embodiments of the present application do not make any limitation) and a fudge factor (e.g., 2 degrees Celsius). The default thermal upper bound is 85 degrees Celsius. When one or more processors are turned off (which can indicate a change in running condition), the thermal upper bound of each activated processor can be increased from the current thermal upper bound value (e.g., 85 degrees Celsius) to an amount equal to the temperature upper bound minus the minimum safety margin. In Figure 3 the example, the thermal upper bounds of 1, 2, and 3 activated processors can be increased to 100, 95, and 90 degrees Celsius, respectively. In conventional techniques, the thermal upper bound value is constant, which can result in unnecessary throttling. In embodiments of the present application, the thermal upper bound value is dynamically changed according to the running condition. For example, for a running condition with higher total power consumption, the thermal upper bound value is smaller. For example, in the example of Figure 3 P1 < P2 < P3 < P4 < Pmax (Pmax is the maximum power allowed for the system to operate), when the power of the system is detected to be in the interval P0 ~ P1 (e.g., corresponding to the first running condition), the thermal upper bound value is 100 °C, in which case, if the temperature exceeds / reaches the thermal upper bound, the system needs to be cooled by throttling its performance. For another example, if the power of the system is detected to be in the interval P4 ~ Pmax (e.g., corresponding to the fourth running condition), the thermal upper bound value is adaptively adjusted to 85 °C.

[0055] Figure 4 is a flowchart of a process 400 of thermal upper bound adjustment according to an embodiment. The process 400 can be performed by a system, e.g., the system 100 in Figure 1 , or any system of one or more computing circuits.

[0056] The system monitors operational status; for example, the dynamic power consumption and leakage power consumption of each computing circuit or system. In step 410, the system detects changes in system operation (e.g., power changes exceeding default values, or the latest obtained power value falling into another preset range, or changes in the number of active processors, etc.). This detection considers many factors, including but not limited to: dynamic power measurement 411, leakage power measurement 412, dynamic power prediction 413, and leakage power prediction 414.

[0057] In one embodiment, upon detecting a change in operating conditions, the system calculates the thermal limit for one or more computing circuits (e.g., the activated / connected processor P) affected by the change (step 420). This calculation considers the temperature rise slope of computing circuit P (which can be dynamically obtained or pre-obtained, and the invention is not limited thereto). For example, the thermal limit is calculated by subtracting a safety margin (also referred to as a safety boundary) from the thermal limit, where the safety margin is equal to the sum of the temperature rise slope (e.g., the amount of temperature increase per 5 ms) and a tolerance factor (e.g., 2 °C). For example, in... Figure 3 In the example shown, taking a number of active processors / computing circuits of 3 as an example, the estimated safety margin is 17 (15+2=17), thus determining that the thermal limit can be adjusted to 90°C (107-17=90). In some embodiments, the calculation result may indicate that the thermal limit should remain unchanged; for example, increasing the thermal limit would violate the minimum safety margin. If the calculation result indicates that the thermal limit can be adjusted, the thermal limit of P is adjusted to the calculated value (step 430). At step 440 (if the thermal limit cannot be adjusted), the current temperature of computing circuit P is compared with the thermal limit. If the current temperature exceeds the thermal limit, the system suppresses the performance of computing circuit P by reducing its voltage and frequency (step 450). If the current temperature does not exceed the new thermal limit, process 400 returns to step 410, in which the system continues to monitor and detect changes in operating conditions.

[0058] In one embodiment, the dynamic power measurement 411 and the leakage power measurement 412 can be obtained through direct measurements of dynamic current and leakage current, respectively. The dynamic power prediction 413 can be obtained / performed based on one or more of a plurality of factors, including but not limited to: voltage, frequency, system configuration (e.g., number of computing circuits activated in the system), workload (e.g., measured by averaged number of instructions per cycle (IPC)), runtime of computing circuits actively performing tasks, etc. The leakage power prediction 414 can be performed based on one or more of a plurality of factors, including but not limited to: voltage, process variation caused by manufacturing process, system configuration (e.g., number of computing circuits activated in the system), power gating (e.g., number of circuits powered on or off in the computing circuits), etc. In one embodiment, some or all of the factors based on which the dynamic power prediction 413 and the leakage power prediction 414 are performed can be collected or monitored by the monitoring module 160 Figure 1

[0059] In a system with multiple computing circuits, the system can adjust the thermal ceiling of each computing circuit independently from each other. The dynamic power measurement 411, the leakage power measurement 412, the dynamic power prediction 413, and the leakage power prediction 414 can be performed on each computing circuit based on physical characteristics (e.g., process variation, etc.) and operating conditions (e.g., voltage, workload, power gating, etc.) of each computing circuit. Factors common to the multiple computing circuits, such as number of computing circuits activated in the system, can also be used to determine the thermal ceiling adjustment of the multiple computing circuits.

[0060] Figure 5 FIG. 5 is a flowchart illustrating a method 500 for adjusting the thermal ceiling of a computing circuit, according to one embodiment. The method 500 can be performed by a computing system, such as the system 100 in Figure 1 FIG. 1 or a system with one or more computing circuits. In step 510, the system detects a change in operating condition that affects power consumption in the system. In step 520, when the change in operating condition is detected, the system determines an adjustment value for the thermal ceiling of a computing circuit in the system, as shown in Figure 3 FIG. 2. The change in operating condition can be detected by monitoring power consumption and / or number of computing circuits turned on / activated, and the adjustment value for the thermal ceiling can be determined based on a pre-determined relationship between each operating condition and a corresponding thermal ceiling, where the corresponding thermal ceiling is given with reference to a temperature ramp-up slope under the corresponding operating condition, and different operating conditions correspond to different thermal ceiling values, Figure 3 ​The illustrated operating condition in FIG. 5 is 4, which is merely exemplary and should not be construed as limiting. In step 530, the system adaptively adjusts the thermal ceiling of the computing circuit according to the determined adjustment value, wherein the thermal ceiling value is different for different operating conditions. For example, assume that the system detects a change from the first operating condition (CASE 1) to the third operating condition (CASE 3), the thermal ceiling can be adjusted / decreased from 100°C to 90°C. Next, if the system detects a change from the third operating condition to the second operating condition (CASE 2), the thermal ceiling can be adjusted / increased from 90°C to 95°C. It should be noted that, Figure 3 This is merely an example. For example, in a specific implementation, the change of operating condition can be detected based on whether the power variation exceeds a default value. If a change of operating condition is detected, the temperature ramp-up slope can be calculated / estimated to determine the adjustment value of the thermal ceiling.

[0061] In an embodiment, the change of operating condition includes a change in dynamic power consumption and leakage power consumption. The change of operating condition can include a change in the number of computing circuits activated in the system. The detection of the change of operating condition can be based on a measurement and a prediction of power consumption. The prediction of power consumption can include a prediction of dynamic power consumption based on one or more of the following: voltage, frequency, system configuration, workload, and runtime. The prediction of power consumption can include a prediction of leakage power consumption based on one or more of the following: voltage, process variation, system configuration, and power gating.

[0062] In an embodiment, the adjustment of the thermal ceiling is determined based on a temperature ramp-up slope of the computing circuit. The system compares the current temperature of the computing circuit to the thermal ceiling of the computing circuit to determine whether to throttle the performance of the computing circuit. The throttled temperature can be dynamically changed during operation. The thermal ceiling is dynamically changed as the operating condition changes.

[0063] Figure 4 and Figure 5 The operations of the flowcharts of FIGS. 1-4 have been described with reference to the exemplary embodiments of FIGS. 1-4. However, it should be understood that the operations of the flowcharts of FIGS. 1-4 can be performed by other embodiments of the present application other than the embodiments of FIGS. 1-4 and, Figure 1 The operations of the flowcharts of FIGS. 1-4 have been described with reference to the exemplary embodiments of FIGS. 1-4. However, it should be understood that the operations of the flowcharts of FIGS. 1-4 can be performed by other embodiments of the present application other than the embodiments of FIGS. 1-4 and, Figure 4 The operations of the flowcharts of FIGS. 1-4 have been described with reference to the exemplary embodiments of FIGS. 1-4. However, it should be understood that the operations of the flowcharts of FIGS. 1-4 can be performed by other embodiments of the present application other than the embodiments of FIGS. 1-4 and, Figure 5 The operations of the flowcharts of FIGS. 1-4 have been described with reference to the exemplary embodiments of FIGS. 1-4. However, it should be understood that the operations of the flowcharts of FIGS. 1-4 can be performed by other embodiments of the present application other than the embodiments of FIGS. 1-4 and, Figure 1 The operations of the flowcharts of FIGS. 1-4 have been described with reference to the exemplary embodiments of FIGS. 1-4. However, it should be understood that the operations of the flowcharts of FIGS. 1-4 can be performed by other embodiments of the present application other than the embodiments of FIGS. 1-4 and, Figure 1 The embodiments of FIGS. 1-4 can perform operations different than those discussed with reference to the flowcharts. Although Figure 4 The embodiments of FIGS. 1-4 can perform operations different than those discussed with reference to the flowcharts. Although Figure 5The flowchart illustrates a particular order of operations performed by certain embodiments of the present application, but it should be understood that this order is exemplary (e.g., alternative embodiments can perform the operations in a different order, combine certain operations, overlap certain operations, etc.). It should be noted that the terms "power" and "power consumption" are used interchangeably in embodiments of the present application, as will be understood by one of ordinary skill in the art.

[0064] Various functional components, blocks, or modules have been described herein. As will be understood by one of ordinary skill in the art, functional blocks or modules can be implemented by circuitry (e.g., special-purpose circuitry or general-purpose circuitry operating under control of encoded instructions), which typically includes transistors configured to control operation of the circuitry according to the functions and operations described herein.

[0065] The use of ordinal terms such as "first", "second", "third", etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another, or of executing the method actions in a temporal sequence, but is used merely as labels to identify elements of the claim with like

[0066] While the present application has been described by way of example and in terms of preferred embodiments, it is to be understood that the application is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and equivalent structures (as would be apparent to one of ordinary skill in the art) and combinations thereof, for example, the various features of the different embodiments. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures.

Claims

1. A system for adaptively adjusting a thermal upper limit, characterized in that, The system includes a plurality of computing circuits and a thermal management module coupled to the plurality of computing circuits, wherein the thermal management module is configured to: detect a change in operating conditions that affects power consumption in the system; determine whether to adjust a thermal ceiling of a computing circuit in the plurality of computing circuits when the change in operating conditions is detected, wherein the determination of the adjustment comprises: determining a safety margin based on a temperature ramp rate of the computing circuit; subtracting the safety margin from the thermal ceiling of the computing circuit to obtain a computed thermal ceiling value; increasing the thermal ceiling to the computed thermal ceiling value if the thermal ceiling is less than the computed thermal ceiling value; and maintaining the thermal ceiling if increasing the thermal ceiling violates the safety margin.

2. The system of claim 1, wherein, The change in operating conditions includes changes in dynamic power consumption and leakage power consumption.

3. The system of claim 1, wherein, The thermal management module is further configured to detect the change in operating conditions based on measurements and predictions of power consumption.

4. The system of claim 3, wherein, The predictions of power consumption include predictions of dynamic power consumption based on one or more of: voltage, frequency, system configuration, workload, and runtime.

5. The system of claim 3, wherein, The predictions of power consumption include predictions of leakage power consumption based on one or more of: voltage, process variation, system configuration, and power gating.

6. The system of claim 1, wherein, The change in operating conditions includes a change in a number of computing circuits in the system that are activated.

7. The system of claim 1, wherein, The adjustment is determined based on a temperature ramp slope of the computing circuit.

8. The system of claim 1, wherein, The thermal management module is further configured to compare a current temperature of the computing circuit to the thermal ceiling to determine whether to limit performance of the computing circuit.

9. The system of claim 8, wherein, The performance of the computing circuit is limited when a temperature of the system rises to a temperature defined by the thermal ceiling.

10. The system of claim 1, wherein, The thermal ceiling is dynamically changed as the operating conditions change.

11. A method for adaptive adjustment of a thermal cap, the method comprising: The method includes: detecting a change in operating conditions that affects power consumption in the system; determining whether to adjust a thermal ceiling of a computing circuit in the system when the change in operating conditions is detected, wherein the determination of the adjustment comprises: determining a safety margin based on a temperature ramp rate of the computing circuit; subtracting the safety margin from the thermal ceiling of the computing circuit to obtain a computed thermal ceiling value; increasing the thermal ceiling to the computed thermal ceiling value if the thermal ceiling is less than the computed thermal ceiling value; and maintaining the thermal ceiling if increasing the thermal ceiling violates the safety margin.

12. The method of claim 11, wherein, The change in operating conditions includes changes in dynamic power consumption and leakage power consumption.

13. The method of claim 11, wherein, The detecting of the change in operating conditions is based on measurements and predictions of power consumption.

14. The method of claim 13, wherein, The predictions of power consumption include predictions of dynamic power consumption based on one or more of: voltage, frequency, system configuration, workload, and runtime.

15. The method of claim 13, wherein, The predictions of power consumption include predictions of leakage power consumption based on one or more of: voltage, process variation, system configuration, and power gating.

16. The method of claim 11, wherein, The change in operating conditions includes a change in a number of computing circuits in the system that are activated.

17. The method of claim 11, wherein, The adjustment is determined based on a temperature ramp slope of the computing circuit.

18. The method of claim 11, wherein, The method further includes: comparing a current temperature of the computing circuit to the thermal ceiling to determine whether to limit performance of the computing circuit.

19. The method of claim 18, wherein, The performance of the computing circuit is limited when a temperature of the system rises to a temperature defined by the thermal ceiling.

20. The method of claim 11, wherein, The thermal ceiling is dynamically changed as the operating conditions change.

Citation Information

Patent Citations

  • Minimizing Aggregate Cooling and Leakage Power

    US20110231030A1

  • Method and apparatus for controlling hot plug operation of CPU in mobile terminal

    US20180203494A1

  • Dynamic chip control

    US7917772B1