System and method for load balancing in a distributed system by dynamic migration

US2016004571A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016004571-A1
Application numberUS-201414322703-A
CountryUS
Kind codeA1
Filing dateJul 2, 2014
Priority dateJul 2, 2014
Publication dateJan 7, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method for load balancing between components of a distributed data grid. The system and method support dynamic data migration of selected data partitions in response to detection of hot spots in the data grid which degrade system performance. In embodiments, the system and method relies upon analysis of per-partition performance statistics for both the identification of data nodes which would benefit from data migration and the selection of data nodes for migration. Tuning of the data migration thresholds and method provides for optimizing throughput of the data grid to avoid degradation of performance resulting from load-induced hot spots.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for load balancing in a cluster storage system comprising a plurality of nodes, the method comprising: identifying a source node within the cluster storage system from which to move a plurality of data objects, wherein the source node comprises a node with exceptional wait times compared to other nodes, and homogeneous wait times among its partitions; analyzing the partitions on the source node to identify hot partitions wherein a hot partition is a partition with a disproportionately large share of the execution time load compared to other partitions of the source node; and alleviating load on the source node by migrating one or more partitions from the source node to a target node, wherein the one or more partitions are selected from not hot partitions. 2 . The method of claim 1 , further comprising collecting per-partition performance statistics for each partition of said plurality of nodes wherein said per-partition performance statistics include wait times and execution times. 3 . The method of claim 1 , further comprising identifying the target node by selecting a least loaded node from among the plurality of nodes in the cluster storage system. 4 . The method of claim 1 , further comprising selecting a single non-hot partition for migration from the source node to the target node by assessing load (Lh) on the source node, assessing load (Lc) on the target node, and selecting for migration a non-hot partition having a load closest to (Lh−LC)/2. 5 . The method of claim 1 , further comprising selecting a plurality of non-hot partitions for migration from the source node to the target node by assessing load (Lh) on the source node, assessing load (Lc) on the target node, and selecting for migration a plurality of partitions having a combined load close to (Lh−LC)/2. 6 . The method of claim 1 , further comprising: determining whether a particular node has exceptional wait times compared to other nodes by comparing aggregated per-partition wait times for said particular node and comparing said aggregated per-partition wait times for said particular node with aggregated per-partition wait times for said other nodes. 7 . The method of claim 1 , further comprising: determining whether a particular node has homogenous wait times by comparing per-partition wait times for said particular node with mean per-partition wait times for said particular node. 8 . A cluster storage system comprising: a plurality of nodes each comprising a microprocessor; and a load balancing system wherein the load balancing system is configured to, identify a source node within the cluster storage system from which to move a plurality of data objects, wherein the source node comprises a node with exceptional wait times compared to other nodes, and homogeneous wait times among its partitions; analyze partitions on the source node to identify hot partitions wherein a hot partition is a partition with a disproportionately large share of the execution time load compared to other partitions of the source node; and alleviate load on the source node by migrating one or more partitions from the source node to a target node, wherein the one or more partitions are selected from not-hot partitions on the source node. 9 . The cluster storage system of claim 8 , wherein the load balancing system is further configured to collect per-partition performance statistics for each partition of said plurality of nodes wherein said per-partition performance statistics include wait times and execution times. 10 . The cluster storage system of claim 8 , wherein the load balancing system is further configured to identify the target node by selecting a least loaded node from among the plurality of nodes in the cluster storage system. 11 . The cluster storage system of claim 8 , wherein the load balancing system is further configured to select a single non-hot partition for migration from the source node to the target node by assessing load (Lh) on the source node, assessing load (Lc) on the target node, and selecting for migration a non-hot partition having a load closest to (Lh−LC)/2. 12 . The cluster storage system of claim 8 , wherein the load balancing system is further configured to select a plurality of non-hot partitions for migration from the source node to the target node by assessing load (Lh) on the source node, assessing load (Lc) on the target node, and selecting for migration a plurality of partitions having a combined load close to (Lh−LC)/2. 13 . The cluster storage system of claim 8 , wherein the load balancing system is further configured to determine whether a particular node has exceptional wait times compared to other nodes by comparing aggregated per-partition wait times for said particular node and comparing said aggregated per-partition wait times for said particular node with aggregated per-partition wait times for said other nodes. 14 . The cluster storage system of claim 8 , wherein the load balancing system is further configured to determine whether a particular node has homogenous wait times by comparing per-partition wait times for said particular node with mean per-partition wait times for said particular node. 15 . A non-transitory computer-readable medium including instructions thereon for performing load balancing in a cluster storage system comprising a plurality of nodes, which instructions, when read and executed by a computer, cause the computer to perform steps comprising: identifying a source node within the cluster storage system from which to move a plurality of data objects, wherein the source node comprises a node with exceptional wait times compared to other nodes, and homogeneous wait times among its partitions; analyzing the partitions on the source node to identify hot partitions wherein a hot partition is a partition with a disproportionately large share of the execution time load compared to other partitions of the source node; and alleviating load on the source node by migrating one or more partitions from the source node to a target node, wherein the one or more partitions are selected from not hot partitions. 16 . The non-transitory computer-readable medium of claim 15 , including further instructions thereon, which instructions, when read and executed by a computer, cause the computer to perform steps further comprising: collecting per-partition performance statistics for each partition of said plurality of nodes wherein said per-partition performance statistics include wait times and execution times. 17 . The non-transitory computer-readable medium of claim 15 , including further instructions thereon, which instructions, when read and executed by a computer, cause the computer to perform steps further comprising: identifying the target node by selecting a least loaded node from among the plurality of nodes in the cluster storage system. 18 . The non-transitory computer-readable medium of claim 15 , including further instructions thereon, which instructions, when read and executed by a computer, cause the computer to perform steps further comprising: selecting a single non-hot partition for migration from the source node to the target node by assessing load (Lh) on the source node, assessing load (Lc) on the target node, and selecting for migration a non-hot partition having a load closest to (Lh−LC)/2. 19 . The non-transitory computer-readable medium of claim 15 , including further instructions thereon, which instructions, when read and executed by a comput

Assignees

Inventors

Classifications

  • G06F9/5088Primary

    involving task migration · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/5083Primary

    Techniques for rebalancing the load in a distributed system · CPC title

  • Physics · mapped topic

  • Data partitioning, e.g. horizontal or vertical partitioning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016004571A1 cover?
A system and method for load balancing between components of a distributed data grid. The system and method support dynamic data migration of selected data partitions in response to detection of hot spots in the data grid which degrade system performance. In embodiments, the system and method relies upon analysis of per-partition performance statistics for both the identification of data nodes …
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/5088. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 07 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).