Method of mixed workload high performance scheduling
First Claim
1. A method of scheduling in a mixed workload environment on a computing system having a CPU resource and a permanent storage resource, the computing system servicing requests from one or more clients, comprising:
- executing a current process on the CPU resource and the storage resource, the current process having been dispatched to service a current client request;
performing a contention check while executing the current process to determine whether a new client request has a transaction priority that is greater than the transaction priority of the current client request;
if the transaction priority of the new client request is greater than that of the current request, dispatching a process to service the new client request;
If the transaction priority of the new request is not greater than that of the current request, determining whether the transaction priority of the current request is less than a predetermined threshold priority;
if the transaction priority of the current client request is lower than the predetermined threshold priority and there is higher priority I/O activity present on the storage resource;
delaying the servicing of the current client request and forgoing the servicing of any read aheads for the current client request; and
dispatching a process to service the highest priority client request that is available for service; and
if the transaction priority of the current client request is greater than the predetermined threshold or the priority of the current client request is lower than the predetermined threshold and there is no higher priority I/O activity present on the storage resource;
determining whether the current client request requires any read aheads;
dispatching one or more helper processes to service any required read aheads; and
returning to the current process to service the current client request.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of scheduling in a mixed workload environment. A high priority workload requiring bounded response times is executed on the same system with a low priority workload that is capable of tying up the CPU and multiple volume storage resources of the system by causing multiple concurrent I/O operations, thereby increasing the response times of the high priority workload beyond acceptable bounds. The method of scheduling prevents the response times of the high priority workload from increasing beyond the acceptable bounds by deferring the dispatch of processes servicing the current low priority workload for a time that depends on the priority of the low priority work and by not performing concurrent I/O operations that are requested by the current low priority work, when there is sufficient higher priority activity on the storage resource.
-
Citations
13 Claims
-
1. A method of scheduling in a mixed workload environment on a computing system having a CPU resource and a permanent storage resource, the computing system servicing requests from one or more clients, comprising:
-
executing a current process on the CPU resource and the storage resource, the current process having been dispatched to service a current client request;
performing a contention check while executing the current process to determine whether a new client request has a transaction priority that is greater than the transaction priority of the current client request;
if the transaction priority of the new client request is greater than that of the current request, dispatching a process to service the new client request;
If the transaction priority of the new request is not greater than that of the current request, determining whether the transaction priority of the current request is less than a predetermined threshold priority;
if the transaction priority of the current client request is lower than the predetermined threshold priority and there is higher priority I/O activity present on the storage resource;
delaying the servicing of the current client request and forgoing the servicing of any read aheads for the current client request; and
dispatching a process to service the highest priority client request that is available for service; and
if the transaction priority of the current client request is greater than the predetermined threshold or the priority of the current client request is lower than the predetermined threshold and there is no higher priority I/O activity present on the storage resource;
determining whether the current client request requires any read aheads;
dispatching one or more helper processes to service any required read aheads; and
returning to the current process to service the current client request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a central processing unit (“
CPU”
);
an interface coupled to the CPU and adapted to receive client requests, said CPU further adapted to;
execute a current process on the CPU, the current process dispatched to service a current client request;
determine whether a new client request has a transaction priority that is greater than the transaction priority of the current client request;
if the transaction priority of the new client request is greater than that of the current request, to dispatch a process to service the new client request;
if the transaction priority of the new request is not greater than that of the current request, to determine whether the transaction priority of the current request is less than a threshold;
if the transaction priority of the current client request is lower than the threshold and higher priority input/output (“
I/O”
) activity is present on a storage resource, to delay the servicing of the current client request and to dispatch a process to service the highest priority client request that is available for service; and
if the transaction priority of the current client request is grater than the threshold or the priority of the current client request is lower than the threshold and no higher priority I/O activity Is present, to determine whether the current client request requires any read aheads and to dispatch one or more helper processes to service any required read aheads. - View Dependent Claims (10)
-
-
11. A system, comprising:
a central processing unit (CPU) adapted to receive client requests and to;
execute a current process dispatched to service a current client request;
determine whether a new client request has a transaction priority that is greater than the transaction priority of the current client request;
if the transaction priority of the new request is not greater than that of the current request, to determine whether the transaction priority of the current request is less than a threshold; and
if the transaction priority of the current client request is lower than the threshold and higher priority input/output (“
I/O”
) activity is present on a storage resource, to delay the servicing of the current client request and to dispatch a process to service the highest priority client request that is available for service.- View Dependent Claims (12, 13)
Specification