Why is the number of resources allocated to my application less than what I expect?
Verify that this is actually the problem you are having:
- From the cluster management console, select .
- Check the number of resources allocated to your application by looking at the
Current allocationvalue for the consumer associated with your application. If your current allocation is not what you expect, continue reading to find out why you may be experiencing this problem. - Check the number of resources your application deserves by looking at the
Guaranteedvalue for the consumer associated with your application. If the Guaranteed value does not match your expectation, you are having a related problem. Refer to Why is the number of guaranteed resources for my application less than what I expect? for more information. - Check the demand for the consumer associated with your application (green bar). This value comes
from the
taskHighWaterMarkvalue within your application profile.TaskHighWaterMarkis a ratio that is used to determine whether more CPU slots need to be requested to meet the service level agreement of the application. It is a ratio of unprocessed tasks to CPU slots. If the ratio of unprocessed tasks to CPU slots exceeds thetaskHighWaterMark, more resources will be requested for the application. By default,taskHighWaterMarkis 1.0 which means that for every 1 unprocessed task, 1 CPU slot is requested. It is a set value that cannot be modified.Note: If your application is pre-started (preStartApplication=truein your application profile), your application’s SSM immediately requestsnumOfPreloadedServicesslots, as defined in your application profile. Any slots required beyondnumOfPreloadedServicesare requested as needed according totaskHighWaterMark. - Check that there are no blocked hosts for your application. If a host is blocked for your application, EGO cannot allocate that host back to your application until it is explicitly unblocked. If a host is blocked, you have no resources or fewer resources than expected serving your application, more tasks in the PENDING state, and workload completes at a slower rate. Refer to Why are there blocked hosts for my application? for more information.
IBM Spectrum Symphony
Note: The remaining section only applies to IBM® Spectrum Symphony grid-mode, and only if you
have explicitly configured resource groups, explicitly modified your resource plan, or modified the
resReq or resourceGroupName string in your application profile. - Check that the resource requirement and resource group are configured correctly for your
application. If the resource requirement and resource group pair are configured incorrectly, EGO may
not be able to find a resource that matches the specified criteria. If EGO cannot satisfy your
resource request, you have no resources or fewer resources than expected serving your application,
more tasks in the PENDING state, and workload completes at a slower rate. There are two areas where
you can specify a resource requirement and a resource group for your application:
- In the SOAM > SSM section of the application profile, which specifies the requirements for the Session Manager host for your application.
- In the Consumer section of the application profile, which specifies the requirements for the compute hosts that run the workload for your application.
- To check and modify your resource requirement and resource group for the Session Manager host:
- In the SOAM > SSM section of the application profile,
make sure the
resReqandresourceGroupNameattributes are configured to the values that you expect. Modify the values, if necessary. The default configuration should work without modification, if you have not made any major changes the cluster. By default:resourceGroupName="ManagementHosts", which specifies that the host should be selected from among those in the "ManagementHosts" resource group.resReq="", which specifies that there is no specific requirement for host selection within the resource group specified in theresourceGroupNameattribute.
- In the SOAM > SSM section of the application profile,
make sure the
- To check and modify your resource requirement and resource group for the compute hosts:
- In the Consumer section of the application profile, make sure the
resReqandresourceGroupNameattributes are configured to the values that you expect. Modify the values, if necessary. The default configuration should work without modification if you have not made any major changes the cluster.resourceGroupName="", which specifies that the host should be selected from any resource group.resReq="select(!mg)", which specifies that only hosts that do not have the resource attribute "mg" should be selected from within the resource group specified in theresourceGroupNameattribute.
- In the Consumer section of the application profile, make sure the
- After you are sure your
resReqandresourceGroupNameattributes are configured to the values that you expect, check that your resource group is correctly configured.- In the cluster management console, select and click on the name of the resource group in question.
- If the Resource Selection Method is Dynamic, make sure that the resource requirement string field contains the appropriate selection criteria for this resource group. Modify the resource requirement string, if necessary.
- If the Resource Selection Method is Static, make sure that the host list contains all of the hosts that you would like in this resource group. Modify this list, if necessary.
- In the cluster management console, select and click on the name of the resource group in question.