Patent ID: 8572622

Claim:
An article of manufacture having a computer-readable storage device and program instructions stored on the computer-readable storage device that, when executed within a data processing system having multiple nodes that access a global command queue (GCQ) for work, of which at least one node is a high-latency processing node, implements a plurality of functions comprising: establishing a local command/work queue (LCQ) in which multiple work items for execution by local processing units are staged prior to execution; a first local processing unit generating a work request for retrieval of work from the GCQ; retrieving via the work request a larger chunk size of work than can be completed in a normal work completion/execution cycle by the local processing unit, wherein the larger chunk size is larger than a standard chunk size that is retrieved when the processing node is a low latency processing node; storing the larger chunk size of work retrieved in a local command/work queue (LCQ); enabling the first local processing unit to locally schedule and complete portions of the work stored within the LCQ; generating a next work request for transmitting to the GCQ only when all the work within the LCQ has been dispatched by at least the first local processing unit; determining, in real time, a consumption speed at which the high-latency processing node consumes and completes the larger chunk size of work retrieved from the GCQ; and dynamically modifying a local chunk size based on one or more factors, including the consumption speed, wherein said dynamically modifying the local chunk size includes: in response to the consumption speed indicating one or more local processing units will become idle during a request cycle, increasing the local chunk size to request a larger chunk size within a next work request issued from the high-latency processing node, wherein a periodicity of issuing work requests from the high-latency processing node to the GCQ is reduced by increasing the local chunk size to accommodate the consumption speed of the local processing units; and reducing the local chunk size when the consumption speed indicates that the local processing units are not dispatching the larger chunk size timely, relative to the dispatching of similar amounts of work at other processing nodes.