Low-redistribution load balancing
AssigneeMicrosoft Technology Licensing, LLC
InventorStephan Lagerholm
Life of this patent
Estimating the term…
Abstract
A load-balancing computing device receives a load-balance request for a processing of a workload request associated with a workload. The load-balancing computing device selects a member node of a distributed computing system to process the workload request. The member node is selected from amongst a pool of member nodes of the distributed computing system. The selecting includes: determining a member node for a baseline assignment for the workload; and selecting a member node based on an outcome of a mathematical operation performed on an identifier of the workload, the baseline cardinality of member nodes, and on the cardinality of member nodes in the pool. Next, the processing of the workload request is assigned to the selected member node.
Claims20
A method for load balancing, comprising:
- receiving, by a load-balancing computing device, a load-balance request for a processing of a workload request associated with a workload;
- selecting, by the load-balancing computing device, a member node of a distributed computing system to process the workload request, such that the member node is selected from amongst a pool of member nodes of the distributed computing system, and such that the selecting includes:
- determining a member node for a baseline assignment for the workload using a baseline function such that the member node determined for the baseline assignment for the workload corresponds to the member node selected upon a cardinality of member nodes in the pool being equal to a baseline cardinality of member nodes;
- and
- selecting a member node based on an outcome of a mathematical operation performed on an identifier of the workload, on the baseline cardinality of member nodes, and on the cardinality of member nodes in the pool, such that, if the cardinality of member nodes in the pool is less than the baseline cardinality of member nodes and the baseline assignment of the workload is to one of the member nodes in the pool, the member node assigned with the baseline assignment to the workload is selected, wherein the mathematical operation is based, at least in part, on the baseline assignment for the workload;
- and
- assigning the processing of the workload request to the selected member node.
A method for load balancing, comprising:
- receiving, by a load-balancing computing device, a load-balance request for a processing of a workload request associated with a workload;
- selecting, by the load-balancing computing device, a member node of a distributed computing system to process the workload request, such that the member node is selected from amongst a pool of member nodes of the distributed computing system, and such that the selecting includes:
- determining a member node for a baseline assignment for the workload using a baseline function such that the member node determined for the baseline assignment for the workload corresponds to the member node selected upon a cardinality of member nodes in the pool being equal to a baseline cardinality of member nodes;
- and
- selecting a member node based on an outcome of an iterative function performed on an identifier of the workload, on the baseline cardinality of member nodes, and on the cardinality of member nodes in the pool greater than the baseline cardinality of member nodes in response to the cardinality of member nodes in the pool being greater than the baseline cardinality of member nodes, wherein the function is iterated a quantity of times defined by the cardinality of member nodes in the member pool minus the baseline cardinality of member nodes, wherein the mathematical operation is based, at least in part, on the baseline assignment for the workload;
- and
- assigning the processing of the workload request to the selected member node.
A computing device, comprising:
- an operating memory adapted to store run-time data for the computing device;
- and
- at least one storage memory and at least one processor that are respectively adapted to store and execute processor-executable code that, in response to execution, enables the computing device to perform actions, including:
- receiving a load-balance request for a processing of a workload request associated with a workload;
- selecting a member node of a distributed computing system to process the workload request, such that the member node is selected from amongst a pool of member nodes of the distributed computing system, and such that the selecting includes:
- determining a member node for a baseline assignment for the workload using a baseline function such that the member node determined for the baseline assignment for the workload corresponds to the member node selected upon a cardinality of member nodes in the pool being equal to a baseline cardinality of member nodes;
- and
- selecting a member node based on an outcome of a mathematical operation performed on an identifier of the workload, on the baseline cardinality of member nodes, and on the cardinality of member nodes in the pool, such that, if the cardinality of member nodes in the pool is less than the baseline cardinality of member nodes and the baseline assignment of the workload is to one of the member nodes in the pool, the member node assigned with the baseline assignment to the workload is selected, wherein the mathematical operation is based, at least in part, on the baseline assignment for the workload;
- and
- assigning the processing of the workload request to the selected member node.
Dependencies are inferred from the claim text.