Load balancing of adapters on a multi-adapter node
AssigneeInternational Business Machines Corporation
InventorsHung Q. Thai, Hanhong Xue
Life of this patent
Estimating the term…
Abstract
Load balancing of adapters on a multi-adapter node of a communications environment. A task executing on the node selects an adapter resource unit to be used as its primary port for communications. The selection is based on the task's identifier, and facilitates a balancing of the load among the adapter resource units. Using the task's identifier, an index is generated that is used to select a particular adapter resource unit from a list of adapter resource units assigned to the task. The generation of the index is efficient and predictable.
Claims21
A method of facilitating load balancing in a communications environment, said method comprising:
- selecting, by an executing task of a job executing on a node of the communications environment, an adapter resource unit from a plurality of adapter resource units assigned to that task, the plurality of adapter resource units being individually available for selection by the task for use by the task as its primary port, and the plurality of adapter resource units being of one or more adapters of the node, said selecting comprising the task performing one or more calculations using an identifier of the task to obtain a selection indicator to be used in selecting the adapter resource unit for the task, the one or more calculations comprising setting the selection indicator based on a modulo operation using the identifier of the task, wherein the identifier of the task uniquely identifies the task within the job, and wherein the selection indicator obtained from performing the one or more calculations is predictable for the task;
- and
- using, by the task of the job, the selected adapter resource unit as its primary port for sending data, and wherein the selecting facilitates a balancing of the load across adapter resources of the node.
A computer system for facilitating load balancing in a communications environment, said computer system comprising:
- a memory;
- and
- a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising:
- selecting, by an executing task of a job executing on a node of the communications environment, an adapter resource unit from a plurality of adapter resource units assigned to that task, the plurality of adapter resource units being individually available for selection by the task for use by the task as its primary port, and the plurality of adapter resource units being of one or more adapters of the node, said selecting comprising the task performing one or more calculations using an identifier of the task to obtain a selection indicator to be used in selecting the adapter resource unit for the task, the one or more calculations comprising setting the selection indicator based on a modulo operation using the identifier of the task, wherein the identifier of the task uniquely identifies the task within the job, and wherein the selection indicator obtained from performing the one or more calculations is predictable for the task;
- and
- using, by the task of the job, the selected adapter resource unit as its primary port for sending data, and wherein the selecting facilitates a balancing of the load across adapter resources of the node.
A computer program product for facilitating load balancing in a communications environment, said computer program product comprising:
- a non-transitory computer readable storage medium readable by a processor and storing instructions for execution by the processor for performing a method comprising:
- selecting, by an executing task of a job executing on a node of the communications environment, an adapter resource unit from a plurality of adapter resource units assigned to that task, the plurality of adapter resource units being individually available for selection by the task for use by the task as its primary port, and the plurality of adapter resource units being of one or more adapters of the node, said selecting comprising the task performing one or more calculations using an identifier of the task to obtain a selection indicator to be used in selecting the adapter resource unit for the task, the one or more calculations comprising setting the selection indicator based on a modulo operation using the identifier of the task, wherein the identifier of the task uniquely identifies the task within the job, and wherein the selection indicator obtained from performing the one or more calculations is predictable for the task;
- and
- using, by the task of the job, the selected adapter resource unit as its primary port for sending data, and wherein the selecting facilitates a balancing of the load across adapter resources of the node.
Dependencies are inferred from the claim text.