If you log in
with your developerWorks ID, you can leave comments and feedback for the development team.
WebSphere Virtual Enterprise Version 6.1.1
How service policies affect request management by the autonomic request flow manager (ARFM) and provisioning by the application placement controller (APC)
WebSphere Virtual Enterprise virtualizes the middleware environment into a pool of capacity that can be distributed among applications by profiling incoming demand and service policy goals. Every machine that is hosting a node is inspected for the number of processors, processor speed, processor architecture as well as memory. This information is then used to compute a standardized node power, i.e. how much capacity is available on the node for servicing requests. Each request that is released from the ARFM queues has been classified to a particular application, module, deployment target, transaction class and service policy tuple. Let's refer to the unique application/module/deployment target/transaction class/service policy tuple as being the type of the request. As requests of certain types are serviced, they are profiled by the Work Profiler runtime core component to determine how much capacity is consumed for a particular type of request. This metric, called work factor, is then communicated back to ARFM for use in its algorithms.
ARFM is aware of how much capacity is currently available for a request by understanding the current placement of cluster members (i.e. how much capacity is currently available) and subtracting the capacity currently being consumed by requests (known since ARFM is the gateway for requests into the cluster members and tracks the number of outstanding requests being actively serviced and their work factor). This way, when a request arrives in ARFM queues, it understands how much capacity the request would consume if it was to be let out of its queue. ARFM publishes information about how much capacity demand there is for requests of particular types in the form of a demand statistic. This demand statistic is used by Application Placement Controller (APC) to determine if additional capacity needs to be provisioned for a particular application. If it is found that there is more demand than what is currently available for an application, and there is unused capacity in the pool, APC will provision a new dynamic cluster member. If there is not enough unused capacity, APC will make appropriate decisions (based on service policies) for shifting capacity that is currently allocated to applications.
Where do service policies fit in?
Service policies define the importance of applications in relationship to one another and their performance goal. Service policy importance is used when trade-off decisions must be made between applications. For example, when there is not enough capacity to service all incoming requests, importance is used to give priority for capacity to the applications with the highest importance. The performance goal is used as a guideline to the ARFM when computing how long it is acceptable to potentially queue a request before submitting it for servicing (when queuing is necessary). It is a best practice to set the performance goal as the maximum acceptable response time for an application. A baseline service time for the application should be taken when the machine CPU nears the maximum CPU setting that is configured on ARFM. The service policy goal should not be set lower than this service time because WebSphere Virtual Enterprise would not guarantee this performance goal. WebSphere Virtual Enterprise cannot make an application respond faster than it is capable of. For example, an application was profiled to determine its service time was 500 ms at 50% saturation of the machine, and 700 ms at 90% saturation of the machine. If the service policy goal was set to 600 ms, the service policy goal would not be met if the maximum CPU setting for ARFM was kept at its default of 90% (since at 90% saturation the application has a service time of 700 ms - and is not capable of responding in 600 ms). If it was critical to have the service policy of 600 ms be met, max CPU would need to be tuned to 50% (note however that when tuned to 50%, WVE will strive to keep the machine only 50% utilized).
Why is there not a direct relationship between APC and service policies?
Having the application placement controller provision based on capacity demand versus performance goals allows for the environment to be protected from overprovisioning capacity to applications to meet goals that are not obtainable.
Related links
Copyright IBM Corporation 2007,2008,2009. All Rights Reserved.