Thermal-And Spatial-Aware Task Scheduling
First Claim
1. A method comprising:
- monitoring a temperature for each core of a central processing unit having a plurality of cores;
determining, from the monitoring, a set of hotspot cores from the plurality of cores;
determining temperature information and distance information for each hotspot core in the set of hotspot cores relative to each of the other cores on the central processing unit;
calculating a placement metric for each core of the central processing unit based at least on the determined distance information and the determined temperature information; and
scheduling a task by allocating the task to one or more cores of the central processing unit according to the placement metric;
wherein the temperature information comprises a temperature vector, T, for each hotspot core in the set of hotspot cores and wherein the distance information comprises a distance vector, D, for each hotspot core in the set of hotspot cores, wherein calculating the placement metric is based on a platform dependent coefficient, c, indicative of heat conduction of the central processing unit, and wherein the number of hotspot cores in the set of hotspot cores, h, is user defined, and the placement metric is calculated by;
Σ
i=1h(c*Din+Ti), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer program product are provided for thermal- and spatial-aware task scheduling. The method may include monitoring a temperature for each core of a central processing unit having a plurality of cores; determining, from the monitoring, a set of hotspot cores from the plurality of cores determining temperature information and distance information for each hotspot core in the set of hotspot cores relative to each of the other cores on the central processing unit; calculating a placement metric for each core of the central processing unit based at least on the determined distance information and the determined temperature information; and scheduling a task by allocating the task to one or more cores of the central processing unit according to the placement metric.
-
Citations
25 Claims
-
1. A method comprising:
-
monitoring a temperature for each core of a central processing unit having a plurality of cores; determining, from the monitoring, a set of hotspot cores from the plurality of cores; determining temperature information and distance information for each hotspot core in the set of hotspot cores relative to each of the other cores on the central processing unit; calculating a placement metric for each core of the central processing unit based at least on the determined distance information and the determined temperature information; and scheduling a task by allocating the task to one or more cores of the central processing unit according to the placement metric; wherein the temperature information comprises a temperature vector, T, for each hotspot core in the set of hotspot cores and wherein the distance information comprises a distance vector, D, for each hotspot core in the set of hotspot cores, wherein calculating the placement metric is based on a platform dependent coefficient, c, indicative of heat conduction of the central processing unit, and wherein the number of hotspot cores in the set of hotspot cores, h, is user defined, and the placement metric is calculated by; Σ
i=1h(c*Din+Ti), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit. - View Dependent Claims (3, 6, 7, 8, 9)
-
-
2. (canceled)
-
4-5. -5. (canceled)
-
10. An apparatus comprising:
-
at least one processor; and at least one non-transitory memory including computer program code; the at least one memory and the computer program code may be configured to, with the at least one processor, cause the apparatus to; monitor a temperature for each core of a central processing unit having a plurality of cores; determine, from the monitoring, a set of hotspot cores from the plurality of cores; determine temperature information and distance information for each respective hotspot core in the set of hotspot cores relative to each of the other cores on the central processing unit; calculate a placement metric for each core of the central processing unit based at least on the determined distance information and the determined temperature information; and schedule a task by allocating the task to one or more cores of the central processing unit according to the placement metric; wherein the temperature information comprises a temperature vector, T, for each hotspot core in the set of hotspot cores and wherein the distance information comprises a distance vector, D, for each hotspot core in the set of hotspot cores, wherein calculation of the placement metric is based on a platform dependent coefficient, c, indicative of heat conduction of the central processing unit, and wherein the number of hotspot cores in the set of hotspot cores, h, is user defined, and the placement metric is calculated by; Σ
i=1h(c*Din+Ti), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit. - View Dependent Claims (12, 15, 16, 17, 18)
-
-
11. (canceled)
-
13-14. -14. (canceled)
-
19. A computer program product for scheduling tasks, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:
-
monitor a temperature for each core of a central processing unit having a plurality of cores; determine, from the monitoring, a set of hotspot cores from the plurality of cores; determine temperature information and distance information for each respective hotspot core in the set of hotspot cores relative to each of the other cores on the central processing unit; calculate a placement metric for each core of the central processing unit based at least on the determined distance information and the determined temperature information; and schedule a task by allocating the task to one or more cores of the central processing unit according to the placement metric, wherein the temperature information comprises a temperature vector, T, for each hotspot core in the set of hotspot cores and wherein the distance information comprises a distance vector, D, for each hotspot core in the set of hotspot cores, wherein calculation of the placement metric is based on a platform dependent coefficient, c, indicative of heat conduction of the central processing unit, and wherein the number of hotspot cores in the set of hotspot cores, h, is user defined, and the placement metric is calculated by; Σ
i=1h(c*Din+Ti), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
20. (canceled)
Specification