Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system
First Claim
1. In a client/server system in which incoming work requests are queued for processing by one or more worker threads of one or more server processes and in which units of work are organized into enclaves with the units of work in each enclave being managed as a single entity by a workload manager, each of said enclaves having a workload manager classification for determining a share of system resources to be given to units of work in that enclave, a method of controlling the assignment of said worker threads to said enclaves, comprising the steps of:
- in response to the receipt of an incoming work request, defining an enclave for said work, request and adding said work request to a queue of incoming work requests to enqueue said request; and
in response to a request from a worker thread for more work, removing a work request from said queue to dequeue said request and associating slid worker thread with the enclave defined for said request; and
providing said worker thread while processing said request from said queue with a share of system resources based on the workload manager classification of said enclave.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for controlling the assignment of units of work to workload enclaves in a client/server system in which units of work are organized into enclaves with the units of work in each enclave being managed as a single entity. Incoming work requests are queued for processing by one or more worker threads of one or more server processes. In response to the receipt of an incoming work request, a putwork() service of the operating system kernel defines an workload enclave for the work request and adds the work request to a queue of incoming work requests to enqueue the request. In response to a request from a worker thread for more work, a getwork() service of the operating system kernel removes a work request from the queue to dequeue the request and associates the worker thread with the enclave defined for the request. If a worker thread must create a new unit of work while processing a work request, it calls an appropriate service of the operating system kernel, which creates the new unit of work and associates the new process with the enclave of the worker thread. The worker thread is disassociated from the enclave upon completion of the work request.
-
Citations
13 Claims
-
1. In a client/server system in which incoming work requests are queued for processing by one or more worker threads of one or more server processes and in which units of work are organized into enclaves with the units of work in each enclave being managed as a single entity by a workload manager, each of said enclaves having a workload manager classification for determining a share of system resources to be given to units of work in that enclave, a method of controlling the assignment of said worker threads to said enclaves, comprising the steps of:
-
in response to the receipt of an incoming work request, defining an enclave for said work, request and adding said work request to a queue of incoming work requests to enqueue said request; and in response to a request from a worker thread for more work, removing a work request from said queue to dequeue said request and associating slid worker thread with the enclave defined for said request; and providing said worker thread while processing said request from said queue with a share of system resources based on the workload manager classification of said enclave. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a client/server system in which incoming work requests are queued for processing by one or more worker threads of one or more server processes and in which units of work are organized into enclaves with the units of work in each enclave being managed as a single entity by a workload manager, each of said enclaves having a workload manager classification for determining a share of system resources to be given to units of work in that enclave, apparatus for controlling the assignment of said worker threads to said enclaves, comprising:
-
enqueuing means responsive to the receipt of an incoming work request for defining an enclave for said work request and adding said work request to a queue of incoming work requests to enqueue said request; and dequeuing means responsive to a request from a worker thread for more work for removing a work request from said queue to dequeue said request and associating said worker thread with the enclave defined for said request; and providing said worker thread while processing said request from said queue with a share of system resources based on the workload manager classification of said enclave. - View Dependent Claims (12, 13)
-
Specification