FINE GRAIN PERFORMANCE RESOURCE MANAGEMENT OF COMPUTER SYSTEMS
First Claim
1. A method comprising:
- monitoring execution of a plurality of tasks by a processor system;
identifying, based on the monitoring, tasks requiring adjustment of performance resources by calculating at least one of a progress error and a progress limit error for each task; and
adjusting performance resources of the processor system allocated to each identified task;
wherein adjusting the performance resources comprise one or more of;
adjusting a clock rate of at least one processor in the processor system executing the task;
adjusting an amount of cache and/or buffers to be utilized by the task;
oradjusting an amount of input/output (I/O) bandwidth to be utilized by the task.
1 Assignment
0 Petitions
Accused Products
Abstract
Execution of a plurality of tasks by a processor system are monitored. Based on this monitoring, tasks requiring adjustment of performance resources are identified by calculating at least one of a progress error or a progress limit error for each task. Thereafter, performance resources of the processor system allocated to each identified task are adjusted. Such adjustment can comprise: adjusting a clock rate of at least one processor in the processor system executing the task, adjusting an amount of cache and/or buffers to be utilized by the task, and/or adjusting an amount of input/output (I/O) bandwidth to be utilized by the task. Related systems, apparatus, methods and articles are also described.
-
Citations
37 Claims
-
1. A method comprising:
-
monitoring execution of a plurality of tasks by a processor system; identifying, based on the monitoring, tasks requiring adjustment of performance resources by calculating at least one of a progress error and a progress limit error for each task; and adjusting performance resources of the processor system allocated to each identified task; wherein adjusting the performance resources comprise one or more of; adjusting a clock rate of at least one processor in the processor system executing the task; adjusting an amount of cache and/or buffers to be utilized by the task;
oradjusting an amount of input/output (I/O) bandwidth to be utilized by the task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method comprising:
-
monitoring execution of a plurality of tasks by a processor system to determine at least one monitored value for each of the tasks, the at least one monitored value characterizing at least one factor affecting performance of the corresponding task by the processor system, each task having an associated task performance profile that specifies at least one performance parameter; and comparing, for each of the tasks, the corresponding monitored value with the corresponding at least one performance parameter specified in the associated task performance profile; determining, for each of the tasks based on the comparing, whether performance resources utilized for the execution of the task should be adjusted or whether performance resources utilized for the execution of the task should be maintained; and adjusting performance resources by modifying a processor clock rate for each of the tasks for which it was determined that performance resources allocated to such task should be adjusted and maintaining performance resources for each of the tasks for which it was determined that performance resources allocated to the task should be maintained. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A processor system comprising:
-
at least one processor; a plurality of buffers; a scheduler module to schedule a plurality of tasks to be executed by the at least one processor; a metering module to monitor execution of the plurality of tasks and to identify tasks that require additional processing resources; an adaptive clock manager module to selectively adjust a clock rate of the at least one processor when executing a task; a cache occupancy manager module to selectively adjust a maximum amount of cache and/or buffers to be utilized by a task; and an input/output bandwidth manager module to selectively adjust a maximum amount of input/output (I/O) bandwidth to be utilized by a task.
-
Specification