A method, controller, program product and service are provided for more
efficiently managing a resource queue. Two or more queues are configured
to handle workloads of various sizes. Resource elements are allocated
from the top of each queue and returned to the bottom. The size of each
queue may be selected to provide sufficient resource elements to handle a
system's various levels of workload. As the workload increases and all of
the resource elements in the one queue are allocated, new resource
elements are allocated from the top of the next queue and returned to the
bottom. When the workload decreases, resource elements are no longer
allocated from the queues used for higher workloads. Thus, retention of
historical data in the queues is enhanced while efficient cache
utilization is maintained.