The GRA scheduler tracks resource usage to ensure that each resource group receives its minimum allocation of resources when all groups are actively using the system. The measurement of how well a group receives its configured resource allocation is called compliance.
Compliance is measured by measuring the work statistics for each job that is completed on the system. The GRA scheduler tracks the work statistics for each resource group and divides the amount of resources used by a resource group over the total amount of resources used by all of the resource groups during that time. The GRA scheduler uses the resulting actual use percentage to determine whether a group is in compliance or whether it is overserved or underserved. The resource percentage is the amount of resources that a group is allocated, based on its minimum and maximum resource settings and the activity of other resource groups on the system.
- An overserved group is one that receives more resources than its allowed percentage. This often happens when one group is busy but the others are not. Because of the volume of the activity when other groups are idle, the group receives more than its allowed share of the resources.
- An underserved group is one that has receives less than its allowed percentage. Typically, this occurs because a group is idle. If users are not submitting any work, the group does not require or use the resources apportioned to it.
The GRA scheduler uses the compliance values to rank the groups from very underserved to very overserved. If a group is underserved, the GRA scheduler chooses the underserved group's work ahead of an overserved group's work.
The GRA scheduler calculates compliance over a horizon value; the horizon is 60 minutes by default. The horizon is a moving time window of the last hour's activity to show compliance. Netezza Performance Server moves the window every 1/60th of the horizon (every minute for GRA, and every 10 seconds for the snippet scheduler).