IP Library › Granted Patent US 9,817,697
Granted Patent B2
US 9,817,697 · App. 15/080,689 · Granted Nov 14, 2017

Thermal-and spatial-aware task scheduling

Inventors: Paul W. Coteus (Yorktown, NY); Eun Kyung Lee (Elmsford, NY); Yoonho Park (Chappaqua, NY)
Assignee: International Business Machines Corporation
G06F9/4893G06F9/5094
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,817,697
App. No.
15/080,689
Granted
Nov 14, 2017
Kind
B2
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.

Claims (51)

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=1 h (c*D i n +T i ), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit.

2. The method of claim 1 , wherein each temperature vector comprises temperature values indicative of a difference in temperature between a given hotspot core in the set of hotspot cores and each of the other cores of the central processing unit, and wherein each distance vector comprises distance values indicative of a distance between a given hotspot core in the set of hotspot cores and each of the other cores of the central processing unit.

3. The method of claim 1 , wherein the platform dependent coefficient is at least one of: a scaler value and a vector.

4. The method of claim 2 , wherein each distance vector is predefined based on an architecture of the central processing unit.

5. The method of claim 1 , wherein the temperature information is updated in response to arrival of a task to be scheduled.

6. The method according to claim 1 , wherein each hotspot core in the set of hotspot cores comprises at least one of:

a core having the highest monitored temperature;

a core having a monitored temperature that is higher than adjacent cores; and

a core having a monitored temperature higher than a predefined threshold temperature.

7. 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=1 h (c*D i n +T i ), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit.

8. The apparatus of claim 7 , wherein each temperature vector comprises temperature values indicative of a difference in temperature between a given hotspot core in the set of hotspot cores and each of the other cores of the central processing unit, and wherein each distance vector comprises distance values indicative of a distance between a given hotspot core in the set of hotspot cores and each of the other cores of the central processing unit.

9. The apparatus of claim 7 , wherein the platform dependent coefficient is at least one of: a scaler value and a vector.

10. The apparatus of claim 8 , wherein each distance vector is predefined based on an architecture of the central processing unit.

11. The apparatus of claim 7 , wherein the temperature information is updated in response to arrival of a task to be scheduled.

12. The apparatus according to claim 7 , wherein each hotspot core in the set of hotspot cores comprises at least one of:

a core having the highest monitored temperature;

a core having a monitored temperature that is higher than adjacent cores; and

a core having a monitored temperature higher than a predefined threshold temperature.

13. 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=1 h (c*D i n +T i ), where n is a number greater than zero whose value is related to a thermal conduction of at least the central processing unit.

14. The computer program product of claim 13 , wherein each temperature vector comprises temperature values indicative of a difference in temperature between a given hotspot core in the set of hotspot cores and each of the other cores of the central processing unit, and wherein each distance vector comprises distance values indicative of a distance between a given hotspot core in the set of hotspot cores and each of the other cores of the central processing unit.

15. The computer program product of claim 14 , wherein each distance vector is predefined based on an architecture of the central processing unit.

16. The computer program product of claim 13 , wherein the platform dependent coefficient is at least one of: a scaler value and a vector.

17. The computer program product of claim 13 , wherein the temperature information is updated in response to arrival of a task to be scheduled.

18. The computer program product of claim 13 , wherein each hotspot core in the set of hotspot cores comprises at least one of:

a core having the highest monitored temperature;

a core having a monitored temperature that is higher than adjacent cores; and

a core having a monitored temperature higher than a predefined threshold temperature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2016
From: COTEUS, PAUL W.; LEE, EUN KYUNG; PARK, YOONHO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038098/0988 →
Continuity (1)
Related Publication 20170277564A1 · Sep 28, 2017