Scheduling threads on different processor cores based on memory temperature
First Claim
1. A method of scheduling execution of a thread in a computer system, the method comprising:
- receiving a request to execute the thread;
scheduling the thread to be executed according to a first schedule on a first core;
obtaining a measurement of a temperature of a memory bank in the computer system;
determining whether the temperature of the memory bank exceeds a threshold temperature;
determining whether the thread includes a request for data stored in the memory bank; and
in response to the determination that the temperature of the memory bank exceeds the threshold temperature and in response to the determination that the thread includes a request for data stored in the memory bank, scheduling execution of the thread on a second core different from the first core and according to a second schedule with a delayed execution for the thread relative to the first schedule.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for scheduling a thread running in a computer system are disclosed. Example computer systems may include but are not limited to a multiprocessor having first and second cores, an operating system, and a memory bank for storing data. The example methods may include but are not limited to measuring a temperature of the memory bank and determining whether the thread includes a request for data stored in the memory bank, if the temperature of the memory bank exceeds a predetermined temperature. The methods may further include but are not limited to slowing down the execution of the thread upon determining if the thread includes a request for data.
63 Citations
20 Claims
-
1. A method of scheduling execution of a thread in a computer system, the method comprising:
-
receiving a request to execute the thread; scheduling the thread to be executed according to a first schedule on a first core; obtaining a measurement of a temperature of a memory bank in the computer system; determining whether the temperature of the memory bank exceeds a threshold temperature; determining whether the thread includes a request for data stored in the memory bank; and in response to the determination that the temperature of the memory bank exceeds the threshold temperature and in response to the determination that the thread includes a request for data stored in the memory bank, scheduling execution of the thread on a second core different from the first core and according to a second schedule with a delayed execution for the thread relative to the first schedule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer program product comprising software encoded in computer-readable media, to schedule running of a thread in a computer system, the software comprising instructions, operable when executed, to:
-
schedule a thread to be executed according to a first schedule on a first core; obtain a measurement of a temperature of a memory bank in a computer system; determine whether the temperature of the memory bank exceeds a threshold temperature; determine whether the thread includes a request for data stored in the memory bank; and in response to the determination that the temperature of the memory bank exceeds the threshold temperature and in response to the determination that the thread includes a request for data stored in the memory bank, schedule execution of the thread on a second core different from the first core and according to a second schedule with a delayed execution for the thread relative to the first schedule. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer system, comprising:
-
first and second cores, a memory bank, operably coupled to the first and second cores, computer-readable media, operably coupled to the first and second cores, wherein the computer-readable media includes computer executable instructions which when executed by the computer system configure the computer system to; schedule a thread to be executed according to a first schedule on the first core; obtain a measurement of a temperature of the memory bank; determine whether the temperature of the memory bank exceeds a threshold temperature; determine whether the thread includes a request for data stored in the memory bank; and in response to the determination that the temperature of the memory bank exceeds the threshold temperature and in response to the determination that the thread includes a request for data stored in the memory bank, schedule execution of the thread on the second core and according to a second schedule with a delayed execution for the thread relative to the first schedule. - View Dependent Claims (19, 20)
-
Specification