Scheduling threads on different processor cores based on memory temperature
AssigneeEmpire Technology Development LLC
InventorsGokhan Memik, Seda Ogrenci Memik, Bill Mangione-Smith
Life of this patent
Estimating the term…
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.
Claims20
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.
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.
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.
Dependencies are inferred from the claim text.