System and method for context-aware thermal management and workload scheduling in a portable computing device
AssigneeQUALCOMM Incorporated
InventorsPalkesh Jain, Ronald Alton, Jon Anderson, Mehdi Saeidi
Life of this patent
Estimating the term…
Abstract
Various embodiments of methods and systems context-aware thermal management in a portable computing device (“PCD”) are disclosed. Notably, the environmental context to which a PCD is subjected may have significant impact on the PCD's thermal energy dissipation efficiency. Embodiments of the solution seek to leverage knowledge of a PCD's environmental context to modify or adjust thermal policy parameters applied within a PCD in response to a thermal event within the PCD.
Claims30
A method for context-aware thermal management in a portable computing device (“PCD”), the method comprising:
- defining a context variable set, wherein the context variable set is associated with an external environment to which the PCD is exposed;
- establishing baseline values for the context variable set, wherein the baseline values are associated with a baseline context;
- monitoring a set of context sensors to recognize the baseline values for the context variable set;
- in response to recognizing the baseline values, executing a known workload having a known power envelope;
- generating a baseline thermal map from temperature readings monitored using one or more temperature sensors during execution of the known workload;
- storing the baseline thermal map in association with the baseline values for the context variable set;
- monitoring the set of context sensors to recognize discovered values for the context variable set, wherein the discovered values are different from the baseline values;
- in response to recognizing the discovered values, executing the known workload;
- generating a discovered thermal map from temperature readings monitored using the one or more temperature sensors during execution of the known workload;
- comparing the discovered thermal map with the baseline thermal map to determine a designation of the discovered values for the context variable set as either a “beneficial” context if the discovered thermal map represents more efficient thermal energy dissipation than the baseline thermal map or an “adverse” context if the discovered thermal map represents less efficient thermal energy dissipation than the baseline thermal map, wherein the more efficient thermal energy dissipation comprises a higher thermal energy dissipation rate compared to a thermal energy dissipation rate associated with the baseline thermal map, and the less efficient thermal energy dissipation comprises a lower energy dissipation rate compared to the thermal energy dissipation rate associated with the baseline thermal map;
- storing in a database the discovered values for the context variable set in association with the determined designation;
- monitoring the set of context sensors to recognize a next occurrence of the discovered values, wherein the next occurrence of the discovered values is the same as discovered values stored in the database;
- in response to recognizing the next occurrence of the discovered values is the same as discovered values stored in the database, querying the database to retrieve from the database the designation associated with the discovered values stored in the database;
- and
- based on the designation, modifying a thermal management policy by adjusting a workload allocation among one or more processing components within the PCD;
- when the context designation is “adverse”, then modifying the thermal management policy further by reducing a maximum frequency of the one or more processing components;
- and when the context designation is “beneficial”, then modifying the thermal management policy further by increasing a maximum frequency of the one or more processing components.
A computer system for context-aware thermal management in a portable computing device (“PCD”), the computer system comprising:
- a processing system comprising one or more processors and one or more associated memories, the processing system configured to execute instructions defining a monitor module, a context-aware module, a scheduler and a dynamic voltage and frequency scaling module, collectively configured to:
- define a context variable set, wherein the context variable set is associated with an external environment to which the PCD is exposed;
- establish baseline values for the context variable set, wherein the baseline values are associated with a baseline context;
- monitor a set of context sensors to recognize the baseline values for the context variable set;
- in response to recognizing the baseline values, execute a known workload having a known power envelope;
- generate a baseline thermal map from temperature readings monitored using one or more temperature sensors during execution of the known workload;
- store the baseline thermal map in association with the baseline values for the context variable set;
- monitor the set of context sensors to recognize discovered values for the context variable set, wherein the discovered values are different from the baseline values;
- in response to recognizing the discovered values, execute the known workload;
- generate a discovered thermal map from temperature readings monitored using the one or more temperature sensors during execution of the known workload;
- compare the discovered thermal map with the baseline thermal map to determine a designation of the discovered values for the context variable set as either a “beneficial” context if the discovered thermal map represents more efficient thermal energy dissipation than the baseline thermal map or an “adverse” context if the discovered thermal map represents less efficient thermal energy dissipation than the baseline thermal map, wherein the more efficient thermal energy dissipation comprises a higher thermal energy dissipation rate compared to a thermal energy dissipation rate associated with the baseline thermal map, and the less efficient thermal energy dissipation comprises a lower energy dissipation rate compared to the thermal energy dissipation rate associated with the baseline thermal map;
- store in a database the discovered values for the context variable set in association with the determined designation;
- monitor the set of context sensors to recognize a next occurrence of the discovered values, wherein the next occurrence of the discovered values is the same as discovered values stored in the database;
- in response to recognizing the next occurrence of the discovered values is the same as discovered values stored in the database, query the database to retrieve from the database the designation associated with the discovered values stored in the database;
- and
- based on the designation, modify a thermal management policy by adjusting a workload allocation among one or more processing components within the PCD;
- when the context designation is “adverse”, then modify the thermal management policy further by reducing a maximum frequency of the one or more processing components;
- and when the context designation is “beneficial”, then modify the thermal management policy further by increasing a maximum frequency of the one or more processing components.
A system for context-aware thermal management in a portable computing device (“PCD”), the system comprising:
- means for defining a context variable set, wherein the context variable set is associated with an external environment to which the PCD is exposed;
- means for establishing baseline values for the context variable set, wherein the baseline values are associated with a baseline context;
- means for monitoring a set of context sensors to recognize the baseline values for the context variable set;
- means for executing a known workload having a known power envelope in response to recognizing the baseline values;
- means for generating a baseline thermal map from temperature readings monitored using one or more temperature sensors during execution of the known workload;
- means for storing the baseline thermal map in association with the baseline values for the context variable set;
- means for monitoring the set of context sensors to recognize discovered values for the context variable set, wherein the discovered values are different from the baseline values;
- means for executing the known workload in response to recognizing the discovered values;
- means for generating a discovered thermal map from temperature readings monitored using the one or more temperature sensors during execution of the known workload;
- means for comparing the discovered thermal map with the baseline thermal map to determine a designation of the discovered values for the context variable set as either a “beneficial” context if the discovered thermal map represents more efficient thermal energy dissipation than the baseline thermal map or an “adverse” context if the discovered thermal map represents less efficient thermal energy dissipation than the baseline thermal map, wherein the more efficient thermal energy dissipation comprises a higher thermal energy dissipation rate compared to a thermal energy dissipation rate associated with the baseline thermal map, and the less efficient thermal energy dissipation comprises a lower energy dissipation rate compared to the thermal energy dissipation rate associated with the baseline thermal map;
- means for storing in a database the discovered values for the context variable set in association with the determined designation;
- means for monitoring the set of context sensors to recognize a next occurrence of the discovered values, wherein the next occurrence of the discovered values is the same as discovered values stored in the database;
- means for querying the database to retrieve from the database the designation associated with the discovered values in response to recognizing the next occurrence of the discovered values is the same as discovered values stored in the database;
- and
- means for modifying a thermal management policy based on the designation, the means for modifying adjusting a workload allocation among one or more processing components within the PCD;
- when the context designation is “adverse”, then the means for modifying further reduces a maximum frequency of the one or more processing components;
- and when the context designation is “beneficial”, then the means for modifying further increasing a maximum frequency of the one or more processing components.
A computer program product comprising a computer usable device having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for context-aware thermal management in a portable computing device (“PCD”), said method comprising:
- defining a context variable set, wherein the context variable set is associated with an external environment to which the PCD is exposed;
- establishing baseline values for the context variable set, wherein the baseline values are associated with a baseline context;
- monitoring a set of context sensors to recognize the baseline values for the context variable set;
- in response to recognizing the baseline values, executing a known workload having a known power envelope;
- generating a baseline thermal map from temperature readings monitored using one or more temperature sensors during execution of the known workload;
- storing the baseline thermal map in association with the baseline values for the context variable set;
- monitoring the set of context sensors to recognize discovered values for the context variable set, wherein the discovered values are different from the baseline values;
- in response to recognizing the discovered values, executing the known workload;
- generating a discovered thermal map from temperature readings monitored using the one or more temperature sensors during execution of the known workload;
- comparing the discovered thermal map with the baseline thermal map to determine a designation of the discovered values for the context variable set as either a “beneficial” context if the discovered thermal map represents more efficient thermal energy dissipation than the baseline thermal map or an “adverse” context if the discovered thermal map represents less efficient thermal energy dissipation than the baseline thermal map, wherein the more efficient thermal energy dissipation comprises a higher thermal energy dissipation rate compared to a thermal energy dissipation rate associated with the baseline thermal map, and the less efficient thermal energy dissipation comprises a lower energy dissipation rate compared to the thermal energy dissipation rate associated with the baseline thermal map;
- storing in a database the discovered values for the context variable set in association with the determined designation;
- monitoring the set of context sensors to recognize a next occurrence of the discovered values, wherein the next occurrence of the discovered values is the same as discovered values stored in the database;
- in response to recognizing the next occurrence of the discovered values is the same as discovered values stored in the database, querying the database to retrieve from the database the designation associated with the discovered values stored in the database;
- and
- based on the designation, modifying a thermal management policy by adjusting a workload allocation among one or more processing components within the PCD;
- when the context designation is “adverse”, then modify the thermal management policy further by reducing a maximum frequency of the one or more processing components;
- and when the context designation is “beneficial”, then modify the thermal management policy further by increasing a maximum frequency of the one or more processing components.
Dependencies are inferred from the claim text.