Load balancing in cluster storage systems
First Claim
1. A method for load balancing in a cluster storage system, comprising:
- identifying a plurality of source nodes as hot spots within the cluster storage system from which to move a plurality of data objects, wherein a hot spot comprises a node with a total load exceeding a threshold value;
dividing the plurality of source nodes into a plurality of sets of source nodes, wherein each of the plurality of sets of source nodes comprises one source node or a small subset of source nodes with overlapping search radii;
selecting the plurality of data objects to move from each of the plurality of sets of source nodes, wherein the plurality of data objects are chosen in each node such that the total load of each source node no longer exceeds the threshold value;
determining a plurality of target nodes within a specific search radius from each of the plurality of sets of source nodes;
concurrently moving the plurality of data objects from each of the plurality of sets of source nodes to the plurality of target nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for load balancing in a cluster storage system are disclosed herein. The method includes identifying a source node within the cluster storage system from which to move a number of data objects, wherein the source node includes a node with a total load exceeding a threshold value. The method also includes selecting the data objects to move from the source node, wherein the data objects are chosen such that the total load of the source node no longer exceeds the threshold value. The method further includes determining a target node within the cluster storage system based on a proximity to the source node and the total load of the target node and moving the data objects from the source node to the target node.
-
Citations
17 Claims
-
1. A method for load balancing in a cluster storage system, comprising:
-
identifying a plurality of source nodes as hot spots within the cluster storage system from which to move a plurality of data objects, wherein a hot spot comprises a node with a total load exceeding a threshold value; dividing the plurality of source nodes into a plurality of sets of source nodes, wherein each of the plurality of sets of source nodes comprises one source node or a small subset of source nodes with overlapping search radii; selecting the plurality of data objects to move from each of the plurality of sets of source nodes, wherein the plurality of data objects are chosen in each node such that the total load of each source node no longer exceeds the threshold value; determining a plurality of target nodes within a specific search radius from each of the plurality of sets of source nodes; concurrently moving the plurality of data objects from each of the plurality of sets of source nodes to the plurality of target nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for load balancing in a cluster storage system, comprising:
-
a plurality of source nodes, wherein each source node comprises a hot spot node within the cluster storage system with a first total load exceeding a threshold value, wherein the plurality of source nodes are divided into a plurality of sets of source nodes, wherein each of the plurality of sets of source nodes comprises one source node or a small subset of source nodes with overlapping search radii; a plurality of target nodes, wherein each of the plurality of target nodes comprises a node within the cluster storage system with a second total load not exceeding the threshold value, and wherein each of the plurality the target nodes is within a specific search radius from each of the plurality of sets of source nodes; a load balancing system configured to; identify each of the plurality of target nodes by incrementally increasing the specific radius until the target node is identified; select a plurality of data objects to move from each of the plurality of sets of source nodes to an associated target node, wherein the plurality of data objects are chosen such that the first total load of the source node no longer exceeds the threshold value; and concurrently move the plurality of data objects from each of the plurality of sets of source nodes to the plurality of target nodes. - View Dependent Claims (12, 13, 14, 15)
-
-
16. One or more non-transitory, computer-readable storage media for storing computer-readable instructions, the computer-readable instructions providing a load balancing system when executed by one or more processing devices, the computer-readable instructions comprising code configured to:
-
identify a plurality of source nodes from which to move a plurality of data objects, wherein the plurality of source nodes each comprise a hot spot; divide the plurality of source nodes into a plurality of sets of source nodes, wherein each of the plurality of sets of source nodes comprises one source node or a small subset of source nodes with overlapping search radii; select the plurality of data objects to move from each of the plurality of sets of source nodes, wherein the plurality of data objects are chosen such that the source node is no longer the hot spot; determine a plurality of target nodes within a specific search radius from each of the plurality of sets of source nodes, wherein the target node does not comprise a hot spot; concurrently move the plurality of data objects from each of the plurality of sets of source nodes to the plurality of target nodes. - View Dependent Claims (17)
-
Specification