Methods and apparatus for achieving thermal management using processing task scheduling
First Claim
Patent Images
1. A thermal scheduling method, comprising:
- obtaining program code including a series of operations;
determining thermal attributes associated with one or more of the operations;
determining a thermal threshold for a component;
estimating, with a processor, the thermal attributes by counting the number of tasks to be performed in each of the operations; and
scheduling, with the processor, the operations for execution by the component in accordance with the thermal attributes so that the thermal threshold is not exceeded.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides apparatus and methods to perform thermal management in a computing environment. In one embodiment, thermal attributes are associated with operations and/or processing components, and the operations are scheduled for processing by the components so that a thermal threshold is not exceeded. In another embodiment, hot and cool queues are provided for selected operations, and the processing components can select operations from the appropriate queue so that the thermal threshold is not exceeded.
142 Citations
47 Claims
-
1. A thermal scheduling method, comprising:
-
obtaining program code including a series of operations; determining thermal attributes associated with one or more of the operations; determining a thermal threshold for a component; estimating, with a processor, the thermal attributes by counting the number of tasks to be performed in each of the operations; and scheduling, with the processor, the operations for execution by the component in accordance with the thermal attributes so that the thermal threshold is not exceeded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A processing system, comprising:
-
a first operation having a first thermal attribute exceeding an operating threshold; a second operation having a second thermal attribute not exceeding the operating threshold; a scheduler for managing a plurality of operations comprising the first and second operations based on the thermal attributes; and a plurality of processors for executing the plurality of operations, each of the plurality of processors having a thermal threshold, wherein, if the thermal threshold of a selected one of the plurality of processors is not exceeded, the selected processor is operable to obtain and execute the first operation from a first queue, and if the thermal threshold of the selected processor is exceeded, the selected processor is operable to obtain and execute the second operation from a second queue. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method of performing operations in a computing environment, comprising:
-
storing a first operation based upon a thermal attribute of the first operation; storing a second operation based upon a thermal attribute of the second operation; retrieving, with a processor, at least one of the first and the second operations depending upon a thermal threshold of a processor;
determining a priority of the first operation;determining a priority of the second operation; and providing a plurality of priority queues, each of the priority queues including a first queue and a second queue; wherein the first operation is stored in one of the first queues based upon the priority of the first operation, and the second operation is stored in one of the second queues based upon the priority of the second operation. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A method of performing operations in a computing environment, comprising:
-
determining if a temperature of a processor exceeds a thermal threshold; and (i) if the thermal threshold is not exceeded; determining if a first operation is available, the first operation being likely to maintain or increase the temperature of the processor upon execution; and if the first operation is available, executing the first operation with the processor; (ii) if the thermal threshold is exceeded; determining if a second operation is available, the second operation being likely to decrease the temperature of the processor upon execution; and if the second operation is available, executing the second operation with the processor; determining, with a processing device, a priority level; determining if the first operation is available from a priority queue of the priority level; and if the first operation is not available from the priority queue, determining if the second operation is available from a second priority queue of a second priority level. - View Dependent Claims (23)
-
-
24. A processing apparatus for processing operations associated with thermal attributes, comprising:
-
first and second memories for storing first and second operations, the first operation having a thermal attribute exceeding an operating threshold, and the second operation having a thermal attribute not exceeding the operating threshold; a plurality of processing devices for executing the first and second operations, at least a selected one of the processing devices comprising a processing element, a processing unit or a sub-processing unit, and at least some of the processing devices having a thermal threshold and access to the first and second memories; wherein, if the thermal threshold of the selected processing device is not exceeded, the selected processing device obtains the first operation from either the first memory or the second memory for processing, and if the thermal threshold of the selected processing device is exceeded, the selected processing device obtains the second operation from either the first memory or the second memory for processing.
-
-
25. A processing apparatus for processing operations associated with thermal attributes, comprising:
-
first and second memories for storing first and second sets of the operations, the first memory including a first queue for managing the first set of operations, the second memory including a second queue for managing the second set of operations, the first set of operations having thermal attributes exceeding an operating threshold, and the second set of operations having thermal attributes not exceeding the operating threshold; a plurality of processing devices for executing the first and second sets of operations, at least a selected one of the processing devices comprising a processing element, a processing unit or a sub-processing unit, and at least some of the processing devices having a thermal threshold and access to the first and second memories; wherein, if the thermal threshold of the selected processing device is not exceeded, the selected processing device obtains at least one of the first set of operations for processing, and if the thermal threshold of the selected processing device is exceeded, the selected processing device obtains at least one of the second set of operations for processing.
-
-
26. A method of processing tasks comprising:
-
selecting, with a processor, one of a plurality of tasks for execution by a component based on an attribute, wherein the attribute for each task is related to the temperature of the component after execution of the associated task; and executing the selected task; wherein the tasks are stored in at least two queues in memory, one queue storing tasks whose attributes meet a condition and another queue storing tasks whose attributes do not meet the condition. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A system for processing tasks comprising:
-
memory for storing tasks to be processed; a component that processes the tasks stored in the memory; wherein the tasks are associated with attributes, the attribute for each task is related to the temperature of the component after processing the associated task, and one of the tasks is chosen for processing by the component based on the attribute; wherein the tasks are stored in at least two queues in memory, one queue storing tasks whose attributes meet a condition and another queue storing tasks whose attributes do not meet the condition. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification