THERMALLY ADAPTIVE QUALITY-OF-SERVICE
First Claim
1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to manage a thermal profile of a device, the method comprising:
- monitoring thermal level of the thermal profile of the device, wherein the device is executing a plurality of tasks that utilize a plurality of processing cores of the device;
if the thermal level of the device exceeds a thermal threshold,identifying one of the plurality tasks as a historically high energy consuming task, andthrottling the historically high energy consuming task by setting a force idle execution time for the historically high energy consuming task; and
executing the plurality of tasks.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus of a device that manages a thermal profile of a device by selectively throttling central processing unit operations of the device is described. The device manages a thermal profile of the device by adjusting a throttling a central processing unit execution of a historically high energy consuming task. In this embodiment, the device monitors thermal level of the thermal profile of the device, the device is executing a plurality of tasks that utilize a plurality of processing cores of the device. If the thermal level of the device exceeds a thermal threshold, the device identifies one of the plurality tasks as a historically high energy consuming task, and throttles this historically high energy consuming task by setting a force idle execution time for the historically high energy consuming task. The device further executes the plurality of tasks.
27 Citations
20 Claims
-
1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to manage a thermal profile of a device, the method comprising:
-
monitoring thermal level of the thermal profile of the device, wherein the device is executing a plurality of tasks that utilize a plurality of processing cores of the device; if the thermal level of the device exceeds a thermal threshold, identifying one of the plurality tasks as a historically high energy consuming task, and throttling the historically high energy consuming task by setting a force idle execution time for the historically high energy consuming task; and executing the plurality of tasks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to manage a thermal profile of a device, the method comprising:
-
monitoring thermal level of the thermal profile of the device, wherein the device is executing a plurality of tasks that utilize a plurality of processing cores of the device; scheduling the plurality of tasks to be executed on the plurality of processing cores during an execution window; setting a processing frequency for each of the plurality of processing cores based one of the plurality of tasks scheduled to be executed on that processing core and the thermal level of the device; and executing each of the plurality of tasks using the plurality of the processing cores with the corresponding processing frequency. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method to manage a thermal profile of a device, the method comprising:
-
monitoring thermal level of the thermal profile of the device, wherein the device is executing a plurality of tasks that utilize a plurality of processing cores of the device; if the thermal level of the device exceeds a thermal threshold, identifying one of the plurality tasks as a historically high energy consuming task, and throttling the historically high energy consuming task by setting a force idle execution time for the historically high energy consuming task; and executing the plurality of tasks. - View Dependent Claims (17, 18, 19)
-
-
20. A method to manage a thermal profile of a device, the method comprising:
-
monitoring thermal level of the thermal profile of the device, wherein the device is executing a plurality of tasks that utilize a plurality of processing cores of the device; scheduling the plurality of tasks to be executed on the plurality of processing cores during an execution window; setting a processing frequency for each of the plurality of processing cores based one of the plurality of tasks scheduled to be executed on that processing core and the thermal level of the device; and executing each of the plurality of tasks using the plurality of the processing cores with the corresponding processing frequency.
-
Specification