METHOD AND APPARATUS FOR FINE GRAIN PERFORMANCE MANAGEMENT OF COMPUTER SYSTEMS
First Claim
1. A method of managing the performance of a processor system comprising:
- creating a list of tasks to be executed by the processor system with each task having an associated task profile that specifies task parameters including a computed start time;
comparing a current real time with the computed start times associated with each of the tasks in the list of tasks;
selecting a task to be scheduled for execution from the list of tasks when the value of the difference between the current real time and the calculated start of a task time meets a threshold criteria and in accordance with the task parameters including a parameter indicating the task is not waiting on one of the occurrence and non-occurrence of an event;
delaying the scheduling of the execution of the task when the value of the difference between the current real time and the calculated start time fails to meet a threshold criteria;
prioritizing the execution schedule of the task based on the task parameters including a configured priority;
monitoring the execution of the task to determine a monitored value related to the amount of work completed for the task; and
comparing the monitored value related to the amount of work completed to a parameter value related to the amount of work to be completed of the task and taking a responsive action when the difference between the monitored value related to the amount of work completed and the parameter value related to the amount of work to be completed meets a first threshold criteria, the amount of work to be completed is a task parameter that determines the expected work to be performed by the task when it is scheduled for execution.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method to control the allocation of processor (or state machine) execution resources to individual tasks executing in computer systems is described. By controlling the allocation of execution resources, to all tasks, each task may be provided with throughput and response time guarantees. This control is accomplished through workload metering shaping which delays the execution of tasks that have used their workload allocation until sufficient time has passed to accumulate credit for execution (accumulate credit over time to perform their allocated work) and workload prioritization which gives preference to tasks based on configured priorities.
-
Citations
37 Claims
-
1. A method of managing the performance of a processor system comprising:
-
creating a list of tasks to be executed by the processor system with each task having an associated task profile that specifies task parameters including a computed start time; comparing a current real time with the computed start times associated with each of the tasks in the list of tasks; selecting a task to be scheduled for execution from the list of tasks when the value of the difference between the current real time and the calculated start of a task time meets a threshold criteria and in accordance with the task parameters including a parameter indicating the task is not waiting on one of the occurrence and non-occurrence of an event; delaying the scheduling of the execution of the task when the value of the difference between the current real time and the calculated start time fails to meet a threshold criteria; prioritizing the execution schedule of the task based on the task parameters including a configured priority; monitoring the execution of the task to determine a monitored value related to the amount of work completed for the task; and comparing the monitored value related to the amount of work completed to a parameter value related to the amount of work to be completed of the task and taking a responsive action when the difference between the monitored value related to the amount of work completed and the parameter value related to the amount of work to be completed meets a first threshold criteria, the amount of work to be completed is a task parameter that determines the expected work to be performed by the task when it is scheduled for execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A processor system of managing the performance of a computer system comprising:
-
a shaper module configured to compare a current real time and a computed start time associated with a task of a plurality of tasks to determine whether to select a task to be scheduled for execution, to select the task to be scheduled for execution when the value of the difference between the current real time and the calculated start time meets a threshold criteria and in accordance with the task parameters including a parameter indicating the task is not waiting on one of the occurrence and non-occurrence of an event, to delay the scheduling of the execution of the task when the value of the difference between the current real time and the calculated start time fails to meet a threshold criteria; a scheduler module configured to prioritize the execution schedule of the plurality of tasks based on the task parameters including a configured priority after the tasks have been selected to be scheduled by the shaper module; and a metering module configured to monitor the execution of tasks being executed by the computer system to determine a monitored value related to the amount of work completed for the task and to compare the monitored value related to the amount of work completed to a parameter value related to the amount of work to be completed of the task so that a responsive action can be taken when the difference between the monitored value related to the amount of work completed and the parameter value related to the amount of work to be completed meets a first threshold criteria, the amount of work to be completed is a task parameter that determines the expected work to be performed by the task when it is scheduled for execution. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A means for managing the performance of a processor system comprising:
-
a means for creating a list of task to be executed by the processor system with each task having an associated task profile that specifies task parameters including a computed start time; a means for comparing a current real time with the computed start times associated with each of the tasks in the list of task; a means for selecting a task to be scheduled for execution from the list of task when the value of the difference between the current real time and the calculated start of a task time meets a threshold criteria and in accordance with the task parameters including a parameter indicating the task is not waiting on one of the occurrence and non-occurrence of an event; a means for delaying the scheduling of the execution of the task when the value of the difference between the current real time and the calculated start time fails to meet a threshold criteria; a means for prioritizing the execution schedule of the task based on the task parameters including a configured priority; a means for monitoring the execution of the task to determine a monitored value related to the amount of work completed for the task; and a means for comparing the monitored value related to the amount of work completed to a parameter value related to the amount of work to be completed of the task and taking a responsive action when the difference between the monitored value related to the amount of work completed and the parameter value related to the amount of work to be completed meets a first threshold criteria, the amount of work to be completed is a task parameter that determines the expected work to be performed by the task when it is scheduled for execution. - View Dependent Claims (34, 35, 36, 37)
-
Specification