Load balancing method, apparatus, and system
US-2023164080-A1 · May 25, 2023 · US
US12118408B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12118408-B2 |
| Application number | US-202017137988-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 30, 2020 |
| Priority date | Dec 30, 2020 |
| Publication date | Oct 15, 2024 |
| Grant date | Oct 15, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Rebalancing the workload of logical devices across multiple nodes may include dynamically modifying preferred paths for one or more logical devices in order to rebalance the I/O workload of the logical devices among the nodes of the data storage system. Determining whether to rebalance the I/O workload between the two nodes may be performed in accordance with one or more criteria. Processing may include monitoring the current workloads of both nodes over time and periodically evaluating, in accordance with the one or more criteria, whether the current workloads of the nodes are imbalanced. Responsive to determining, in accordance with the criteria, that rebalancing of workload between the nodes is needed, the rebalancing may be performed. A notification may be sent to the host regarding any path state changes made as a result of the workload rebalancing.
Opening claim text (preview).
What is claimed is: 1. A method for workload balancing by dynamically modifying path states comprising: determining, using one or more processors, first path state information for a first group of logical devices, wherein the first path state information indicates that a first set of paths from a host to a first target port group of a first node in a data storage system are preferred paths for the first group of logical devices and wherein the first path state information indicates that a second set of paths from the host to a second target port group of a second node of the data storage system are non-preferred paths for the first group of logical devices; determining, using said one or more processors, second path state information for a second group of logical devices, wherein the second path state information indicates that the first set of paths from the host to the first target port group of the first node in a data storage system are non-preferred paths for the second group of logical devices and wherein the second path state information indicates that the second set of paths from the host to the second target port group of the second node of the data storage system are preferred paths for the second group of logical devices; measuring, using said one or more processors, a first workload of the first node and a second workload of the second node, wherein said measuring includes: measuring one or more node resource utilization metrics, including a first CPU utilization, of the first node; and measuring the one or more node resource utilization metrics, including a second CPU utilization, of the second node; determining, using said one or more processors and in accordance with one or more criteria, to perform load rebalancing of the first workload of the first node and the second workload of the second node, wherein said load rebalancing includes dynamically changing one or more preferred paths for one or more logical devices of the first group of logical devices from the first node to the second node, wherein the one or more criteria includes a first trigger condition, and wherein said determining to perform load rebalancing includes: determining that the first trigger condition is met where the first workload of the first node is determined to be overloaded and where there is a first workload imbalance between the first node and the second node, wherein the first workload imbalance is detected by the first CPU utilization of the first workload of the first node exceeding the second CPU utilization of the second workload of the second node by at least a specified amount, and wherein the first node being overloaded is detected by the first CPU utilization of the first workload of the first node exceeding a specified maximum threshold; performing, by the data storage system using said one or more processors, said load rebalancing, including: selecting the first logical device of the first group of logical devices; modifying a current state for the first set of paths to the host for the first logical device from preferred to non-preferred; and modifying a current state for the second set of paths to the host for the first logical device from non-preferred to preferred; responsive to said load rebalancing, the data storage system sending a notification to the host, wherein said notification includes information identifying one or more preferred paths changed from the first node to the second node for one or more logical devices including a first logical device of the first group; the host sending I/Os directed to the first logical device over a first preferred path in accordance with the information of the notification sent by the data storage system responsive to said load rebalancing, wherein the first CPU utilization for the first node and the second CPU utilization for the second node are included in first workload information obtained at a first point in time; predicting, based on the first workload information from the first point in time, a second point in time when a third workload of the first node is expected to be overloaded and when there is expected to be a second workload imbalance between the first node and the second node, wherein the second workload imbalance expected at the second point in time includes a third CPU utilization of the third workload of the first node exceeding a fourth CPU utilization of a fourth workload of the second node by at least the specified amount, and wherein the first node expected to be overloaded at the second point in time is due to the third CPU utilization of the third workload of the first node at the second point in time exceeding the specified maximum threshold; and responsive to said predicting, the data storage system pre-emptively performing second load rebalancing prior to the second point in time, including the data storage system sending a second notification to the host, wherein said second notification includes second information identifying second one or more preferred paths changed from the first node to the second node for one or more logical devices. 2. The method of claim 1 , wherein the one or more node resource utilization metrics include one or more one or more metrics regarding any of: memory utilization, cache utilization, and resource utilizations for data services. 3. The method of claim 1 , wherein the first logical device selected has a highest current I/O workload of all logical devices of the first group. 4. The method of claim 1 , wherein the notification identifies a first modification of a current state for the first logical device for the first set of paths to the host from preferred to non-preferred, and wherein the notification identifies a second modification of a current state for the first logical device for the second set of paths to the host from non-preferred to preferred. 5. The method of claim 1 , further comprising: receiving, by the host, the first path information and the second path information, wherein a multipath driver on the host uses the first path state information and the second path state information to select a path for sending I/O operations to logical devices of the first group and the second group. 6. The method of claim 5 , wherein prior to performing said load rebalancing, the multipath driver sends a first I/O operation directed to the first logical device of the first group of logical devices over a first path that is included in the first set of paths and that is indicated by the first path state information as a preferred path for the first logical device. 7. The method of claim 6 , further comprising: determining by the multipath driver that no preferred path between the host and the data storage system for the first logical device is active; and responsive to determining that no preferred path between the host and the data storage system for the first logical device is active, sending a second I/O operation to the first logical device over a second path that is included in the second set of paths and that is indicated by the first path state information as a non-preferred path between the host and the second node of the data storage system for the first logical device. 8. The method of claim 1 , wherein the first group of logical devices and the second group of logical devices are included in a collective group, and where the method further comprises: initially partitioning the collective group of logical devices into the first group and the second group. 9. The method of claim 1 , wherein said measuring includes: measuring one or more performance metrics of the first node; and measuring the one or more node performance metrics of the second node, wherein the one or more performance metrics include one or more
Monitor · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
the resource being the memory · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.