IP Library Granted Patent US 8,510,747
Granted Patent B2
US 8,510,747 · App. 13/451,164 · Granted Aug 13, 2013

Method and device for implementing load balance of data center resources

Inventors: Wenhong Tian (Shenzhen, CN); Guoming Lu (Shenzhen, CN); Chen Jing (Shenzhen, CN); Yuanliang Zhong (Shenzhen, CN); Jinan Hu (Shenzhen, CN); Xu Dong (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,510,747
App. No.
13/451,164
Granted
Aug 13, 2013
Kind
B2
Abstract

The present disclosure relates to a method and a device for implementing load balance of data center resources, and the method includes: obtaining current utilization ratios of properties of each physical machine in a scheduling domain, and determining, according to the current utilization ratios, physical machines that have residual capability satisfying a current allocation task, where the properties include a CPU load, a memory load and a network load; predicting a load degree of each of the physical machines on the assumption that the virtual machine is allocated by each of the physical machines; selecting, according to the predicted load degree of each of the physical machines, a physical machine from the physical machines to allocate the virtual machine. By adopting the solutions of the present disclosure, the problem of the load imbalance caused by the inconsistency of specification requirements of users and specifications of physical servers is solved.

Claims (68)

1. A method for implemented load balance of data center resources, wherein the method is implemented in a server having a processor, comprising:

obtaining current utilization ratios of properties of each physical machine in a scheduling domain, wherein the properties comprise a CPU load, a memory load, and a network load;

determining, according to the current utilization ratios, physical machines that have residual capability satisfying a current task for allocating a virtual machine;

determining load mean values of properties of the scheduling domain according to the current utilization ratios, and calculating load variance values of the physical machines according to the load mean values of the properties of the scheduling domain and load predicted values of the properties of the physical machines wherein calculating the load variance values of the physical machines according to the load mean values of the properties of the scheduling domain and the load predicted values of the properties of the physical machines comprises:

for the physical machines satisfying the current task for allocating the virtual machine, predicting the utilization ratio of the properties of the physical machines after the virtual machine is deployed for the physical machines, and obtaining the load predicted value, and

calculating and obtaining the load variance value according to the load mean values and the load predicted values, wherein a calculation formula of the load variance value is as follows:

D =( a %− x )^2+( b %− y )^2+( c %− z )^2

wherein a%, b% and c% are load predicted values of the CPU, memory and network obtained after the virtual machine is deployed for the physical machine, x, y and z are respectively a current CPU load mean value, a memory load mean value and a network load mean value in the scheduling domain; and

selecting a physical machine with a minimum load variance value to deploy the current allocation task.

2. The method according to claim 1 , wherein determining, according to the current utilization ratios, the physical machines that have the residual capability satisfying the current task for allocating the virtual machine comprises:

using a difference value of overall load capability of properties of each physical machine in the scheduling domain and the current utilization ratios of the properties of each physical machine as residual capability of the properties of each physical machine; and

comparing the residual capability with a specification of the current task for allocating the virtual machine to determine the physical machines that have the residual capability greater than or equal to the specification of the current task for allocating the virtual machine.

3. The method according to claim 1 , further comprising:

determining whether the current task for allocating the virtual machine is a single virtual machine task;

when the current task is a single virtual machine task, arranging the physical machines in the scheduling domain into an n*(m+2) matrix, wherein m=MAX (the number of CPUs of a single physical machine), each row of the matrix indicates a utilization ratio of each CPU of every physical machine in a period of time, a memory utilization ratio of every physical machine in a period of time and a network utilization ratio of every physical machine in a period of time, and each column indicates each physical machine in the scheduling domain; and

when the current task for allocating the virtual machine is a non-single virtual machine task, arranging the physical machine clusters in the scheduling domain into an n*3 matrix, wherein each row of the matrix indicates a CPU utilization ratio of a physical machine cluster in a period of time, a memory utilization ratio of a physical machine cluster in a period of time and a network utilization ratio of a physical machine cluster in a period of time, and each column indicates each physical machine cluster in the scheduling domain.

4. The method according to claim 3 , wherein selecting the physical machine with the minimum load variance value to deploy the current task for allocating the virtual machine comprises:

when the current task for allocating the virtual machine is a single virtual machine task, selecting a physical machine with a minimum load variance value in the physical machines satisfying the current task for deployment;

when the current task for allocating the virtual machine is a non-single virtual machine task, selecting a physical machine with a minimum load variance value in the physical machine cluster satisfying the current task for deployment; and

when the number of physical machines with the minimum load variance value or the number of physical machine clusters with the minimum load variance value is more than 1, one physical machine or physical machine cluster is randomly selected to deploy the current task.

5. The method according to claim 1 , further comprising:

monitoring the utilization ratios of the properties of each physical machine in the scheduling domain;

when a utilization ratio of the property exceeds a predetermined alarm value, triggering an alarm for removing and determining to remove the virtual machine on the physical machine according to a difference between the predetermined alarm value and a load mean value of the property in the scheduling domain; and

searching a new physical machine to deploy the removed virtual machine.

6. The method according to claim 5 , wherein searching the new physical machine to deploy the removed virtual machine further comprises:

determining, according to the current utilization ratio of each physical machine, the physical machines that have residual capability satisfying the task of the removed virtual machine;

determining load mean values of the properties in the scheduling domain according to the current utilization ratio of each physical machine, and calculating load variance values of the physical machines according to the load mean values of the properties of the scheduling domain and the load predicted values of the properties of the physical machines; and

selecting a new physical machine with a minimum load variance value to deploy the current task of the removed virtual machine.

7. The method according to claim 1 , further comprising:

determining an identification of a physical machine requiring an optimization operation;

comparing a difference between a current utilization ratio of each property of the physical machine requiring the optimization operation and an optimization objective value with a utilization ratio of a property of each virtual machine on the physical machine, so as to determine the virtual machine to be removed; and

selecting a new physical machine to deploy the removed virtual machine.

8. The method according to claim 7 , wherein selecting the physical machine to deploy the removed virtual machine further comprises:

determining, according to the current utilization ratios of each physical machine, the physical machines that have residual capability satisfying the task of the removed virtual machine;

determining load mean values of the properties in the scheduling domain according to the current utilization ratios of each physical machine, and calculating load variance values of the physical machines according to the load mean values and the load predicted values of the properties of the physical machines; and

selecting a new physical machine with a minimum load variance value to deploy the current task of the removed virtual machine.

9. A server having a processor for implementing load balance of resources in a data center, comprising:

a selection control module, configured to obtain, by the processor, current utilization ratios of properties of each physical machine in a scheduling domain, and determine, according to the current utilization ratios, physical machines that have residual capability satisfying a current task, wherein the properties comprises a CPU load, a memory load and a network load;

a calculation processing module, configured to determine load mean values of properties of the scheduling domain according to the current utilization ratios, and calculate load variance values of the physical machines according to the load mean values of the properties of the scheduling domain and load predicted values of the properties of the physical machines, wherein the calculation processing module comprises:

a predicting unit, configured to, for the physical machines satisfying the current task for allocating the virtual machine, predict the utilization ratios of the properties of the physical machines after a virtual machine is deployed, and obtain load predicted values, and

a determining unit, configured to calculate and obtain the load variance value according to the load mean values and the load predicted values, wherein a calculation formula of the load variance value comprises:

D =( a %− x )^2+( b %− y )^2+( c %− z )^2

wherein, a%, b% and c% are load predicted values of the CPU, memory and network obtained after the virtual machine is deployed for the physical machine, x, y and z are respectively a current CPU load mean value, a memory load mean value and a network load mean value in the scheduling domain; and

a deployment executing module, configured to select a physical machine with a minimum load variance value to deploy the current allocation task.

10. The server according to claim 9 , wherein the selection control module comprises:

a calculation unit, configured to use a difference value of overall load capability of properties of each physical machine in the scheduling domain and the current utilization ratios of the properties of each physical machine as the residual capability of the properties of each physical machine; and

a decision unit, configured to compare the residual capability with a specification of the current task for allocating the virtual machine to determine the physical machines that have the residual capability greater than or equal to the current task for allocating the virtual machine.

11. The server according to claim 9 , further comprising:

a task processing module, configured to determine whether the current task is a single virtual machine task;

when the current task for allocating the virtual machine is a single virtual machine task, arrange the physical machines in the scheduling domain into an n*(m+2) matrix, wherein m=MAX (the number of CPUs of a single physical machine), each row of the matrix indicates a utilization ratio of each CPU of every physical machine in a period of time, a memory utilization ratio of every physical machine in a period of time and a network utilization ratio of every physical machine in a period of time, and each column indicates each physical machine in the scheduling domain; and

when the current task for allocating the virtual machine is a non-single virtual machine task, arrange the physical machine clusters in the scheduling domain into an n*3 matrix, wherein each row of the matrix indicates a CPU utilization ratio of a physical machine cluster in a period of time, a memory utilization ratio of a physical machine cluster in a period of time and a network utilization ratio of a physical machine cluster in a period of time, and each column indicates each physical machine cluster in the scheduling domain.

12. The server according to claim 9 , wherein the deployment executing module comprises:

a selection module, configured to determine whether the number of the physical machines with the minimum load variance value or the number of physical machine clusters with the minimum load variance value is more than 1; and

an executing unit, configured to, when the number of physical machines or the number of physical machine clusters is one, select a physical machine with the minimum load variance value or a physical machine cluster with the minimum load variance value in the physical machines or the physical machine clusters for deployment, wherein the physical machines or the physical machine clusters satisfy the current task; and when the number of physical machines or the number of physical machine clusters is more than one, randomly select a physical machine or physical machine cluster to deploy the task.

13. The server according to claim 9 , further comprising:

an alarm monitoring module, configured to monitor the utilization ratios of the properties of each physical machine in the scheduling domain;

an alarm removing module, configured to, remove the virtual machine on the physical machines according to a difference between a predetermined alarm value of the property and a load mean value of the property in the scheduling domain when a utilization ratio of the property exceeds the predetermined alarm value and triggers an alarm for removing; and

a removing deployment module, configured to search a physical machine to deploy the removed virtual machine.

14. The server according to claim 12 , wherein the removing deployment module further comprises:

a calculation processing unit, configured to determine, according to the current utilization ratios of each physical machine, the physical machines that have the residual capability satisfying the task of the removed virtual machine; and determine load mean values of properties of the scheduling domain according to the current utilization ratios of each physical machine, and calculate the load variance values of the physical machines according to the load mean values of the properties of the scheduling domain and load predicted values of the properties of the physical machines; and

a deployment executing module, configured to select the physical machines with a minimum load variance value to deploy the current task of the removed virtual machine.

15. The server according to claim 9 , further comprising:

an optimization selecting module, configured to determine an ID of a physical machine requiring an optimization operation;

an optimization operating module, configured to compare a difference value of a current utilization ratio of each property of the physical machine and an optimization objective value with a utilization ratio of a property of each virtual machine on the physical machine, so as to determine the removed virtual machine; and

an optimization deployment module, configured to select a new physical machine to deploy the removed virtual machine.

16. The server according to claim 14 , wherein the optimization deployment module further comprises:

an optimization calculation unit, configured to determine, according to the current utilization ratios of each physical machine, the physical machines that have the residual capability satisfying the task of the removed virtual machine; and determine load mean values of properties of the scheduling domain according to the current utilization ratios of each physical machine, and calculate the load variance values of the physical machines according to the load mean values of the properties of the scheduling domain and load predicted values of the properties of the physical machines; and

an optimization deployment unit, configured to select the new physical machine with a minimum load variance value to deploy the current task of the removed virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2012
From: TIAN, WENHONG; LU, GUOMING; JING, CHEN; ZHONG, YUANLIANG; HU, JINAN; DONG, XU
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 028077/0404 →
Continuity (2)
Continuation PCTCN2010078247 · Oct 29, 2010
Related Publication 20120204176A1 · Aug 9, 2012