Processor provisioning by a middleware processing system
First Claim
Patent Images
1. A multiprocessor system for efficiently allocating workload in middleware for a plurality of user processing requests among a plurality of processors comprising:
- a computer system including the plurality of processors configured to;
assess a current processing workload for the plurality of user processing requests;
subdivide a processing capability of the multiprocessor system into a plurality of processing units based on the current processing workload;
start one or more processes to service the user processing requests;
generate a processing queue for each of the processing units;
assign a portion of each user processing request to one or more of the processing queues;
service the portion of each user processing request by the one or more processes;
allocate a variable predetermined time interval to each of the processing queues for which portions of the user processing requests assigned to a corresponding processing queue execute for a corresponding allocated time interval, wherein when a corresponding allocated time interval expires, a currently executing user processing request yields execution and signals the next in queue portion of the user processing requests to begin execution, andwhen a currently executing user processing request finishes execution prior to the expiration of the corresponding allocated time interval, determine whether to yield execution of the corresponding allocated time interval or execute an additional portion of the user processing requests during the corresponding allocated time interval.
1 Assignment
0 Petitions
Accused Products
Abstract
A middleware processor provisioning process provisions a plurality of processors in a multi-processor environment. The processors themselves may be subdivided in to one or more partitions or processing instances for which a single processing queue is created and a single kernel thread is started. User processing requests are portioned and dispatched across the plurality of processing queues and are serviced by the corresponding kernel process, thereby efficiently using available processing resources while servicing the user processing requests in a desired manner.
-
Citations
14 Claims
-
1. A multiprocessor system for efficiently allocating workload in middleware for a plurality of user processing requests among a plurality of processors comprising:
-
a computer system including the plurality of processors configured to; assess a current processing workload for the plurality of user processing requests; subdivide a processing capability of the multiprocessor system into a plurality of processing units based on the current processing workload; start one or more processes to service the user processing requests; generate a processing queue for each of the processing units; assign a portion of each user processing request to one or more of the processing queues; service the portion of each user processing request by the one or more processes; allocate a variable predetermined time interval to each of the processing queues for which portions of the user processing requests assigned to a corresponding processing queue execute for a corresponding allocated time interval, wherein when a corresponding allocated time interval expires, a currently executing user processing request yields execution and signals the next in queue portion of the user processing requests to begin execution, and when a currently executing user processing request finishes execution prior to the expiration of the corresponding allocated time interval, determine whether to yield execution of the corresponding allocated time interval or execute an additional portion of the user processing requests during the corresponding allocated time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product for efficiently allocating workload in middleware for a plurality of user processing requests among a plurality of processors in a multiprocessor system comprising:
-
a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to; assess a current processing workload for the plurality of user processing requests; subdivide a processing capability of the multiprocessor system into a plurality of processing units based on the current processing workload; start one or more processes to service the user processing requests; generate a processing queue for each of the processing units; assign a portion of each user processing request to one or more of the processing queues; service the portion of each user processing request by the one or more processes; allocate a variable predetermined time interval to each of the processing queues for which portions of the user processing requests assigned to a corresponding processing queue executed for a corresponding allocated time interval, wherein when a corresponding allocated time interval expires, a currently executing user processing request yields execution and signals the next in queue portion of the user processing requests to begin execution, and when a currently executing user processing request finishes execution prior to the expiration of the corresponding allocated time interval, determine whether to yield, execution of the corresponding allocated time interval or execute an additional portion of the user processing requests during the corresponding allocated time interval. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification