When resource groups are specified at the application level, it means that any sessions serving the application will be allocated resources from the specified resource groups. Sometimes sessions for an application may want to use different resource groups. For example, with a parent/child workload pattern in one application, the parent sessions may only want to use the resource group for which it has 100% ownership, while child session can share resources with other applications. The resource group filter can serve this purpose. Each session can use a resource group filter to narrow down the choices of resource groups specified at the application level.
A resource group filter is a list of resource groups from which the session can use resources. The default value is empty, which means resource groups specified at the application level will be used. Each session has a resource group filter that can narrow down the choices to specific types of resources.
When clients submit workload for sessions with a specified resource group filter, the SSM makes an allocation request to EGO based on the specified requirement. EGO goes through all the resource groups in the resource group filter and tries to satisfy the demand. (The order in which EGO goes through the resource groups is defined by the order that the resource groups appear in the resource plan in the ConsumerTrees.xml file.) After receiving resources from EGO, the SSM assigns resources to its sessions according to the resource group filter for each session.
Resource group filtering at the session level is configured in the SessionTypes element of the application profile using the resourceGroupFilter attribute. The value of resourceGroupFilter must match or be a subset of the resource group name specified at the application level.
The resourceGroupFilter attribute can be configured through the PMC or by manually editing the application profile.