A virtual machine association dispatching method based on graph partitioning

By constructing a virtual machine topology graph and performing graph partitioning and graph gene encoding, the virtual machine migration strategy is optimized, solving the problem that the relationships in virtual machine migration are not considered, and achieving high availability and resource balance.

CN118132193BActive Publication Date: 2025-11-04CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311702316.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-12
Publication Date
2025-11-04
Estimated Expiration
2043-12-12

AI Technical Summary

Technical Problem

Existing technologies fail to effectively consider the relationships between virtual machines during virtual machine migration, leading to increased data transmission costs and business response latency, and failing to guarantee high availability of services.

Method used

By constructing a topological connection graph between virtual machines, adopting graph partitioning and graph gene encoding strategies, related virtual machines are placed on the same host machine. Subgraphs are generated using spectral clustering, and migration schemes are optimized using non-dominated sorting genetic algorithms. Taking into account the balance of computational resources, the number of virtual machine migrations, and the number of relationships broken, the optimal migration strategy is generated.

Benefits of technology

It reduces latency between related services, ensures high availability of services, improves the utilization of computing resources, and escapes local optima by using a probabilistic selection strategy to approach the global optimum.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118132193B_ABST
    Figure CN118132193B_ABST
Patent Text Reader

Abstract

The application provides a virtual machine association scheduling method based on graph division, comprising: obtaining the association degree between virtual machines, generating a topology graph of a plurality of virtual machines associated with each other in a cluster based on the association degree between the virtual machines; obtaining an adjacency matrix corresponding to the topology graph, obtaining a degree matrix corresponding to the topology graph based on the adjacency matrix; performing topology graph division by using a spectral clustering method based on the adjacency matrix and the degree matrix, generating a plurality of subgraphs; generating graph genes for the plurality of subgraphs, selecting a target host for virtual machine migration of the virtual machines under each subgraph based on the graph genes, and expressing the migration scheme of the plurality of graph genes in the form of coordinates; iteratively screening the migration scheme of the plurality of graph genes by using a non-dominated sorting genetic algorithm, and obtaining an optimal migration scheme of the virtual machines and the host. The method can effectively improve the service association and migration effectiveness, and the algorithm is more likely to jump out of a local optimal solution and tend to be a global optimal solution.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of load balancing of IaaS platform computing resource pool, and particularly relates to a virtual machine association scheduling method based on graph partitioning. BACKGROUND

[0002] Virtual machine (VM) live migration is a unique feature in the field of cloud computing, which enables virtual machines to move between different host machines without being shut down. Through virtual machine migration, load balancing technology can disperse workloads in the computing resource pool to different work nodes, thereby reducing the response time of tasks and improving the overall utilization of the resource pool. Resource balancing technology generally uniformly migrates virtual machines to the remaining host machines (Physical Machine, PM) through intelligent scheduling algorithms to minimize the balancing level of CPU, memory and disk computing resources within the cluster. Common resource balancing algorithms include Particle Swarm Optimization (PSO), Glowworm Swarm Optimization (GSO), Wolf Pack Algorithm (WPA) and Genetic Algorithm (GA), etc. Nondominated Sorting Genetic Algorithm (NSGA) is the most typical genetic algorithm, which analogizes the mapping relationship between (VM, PM) to the gene in NSGA algorithm, generates new (VM, PM) pairs, i.e. child genes, through crossover and mutation operations, and calculates the fitness and dominance relationship of each gene through the survival of the fittest method, selects better genes as parent genes for the next iteration, and generates the optimal (VM, PM) migration strategy after multiple iterations, thereby minimizing the balancing degree of the cluster computing resources through virtual machine migration.

[0003] However, the traditional resource balancing method only considers the balancing degree of computing resources and does not consider the association relationship between virtual machines. In actual process, considering the association between customer businesses and the high availability of services, affinity and anti-affinity indicators are often set between virtual machines, and virtual machines are associated with each other to form an association topology graph. If this part of the restriction is not considered, it may lead to an increase in data transmission cost between virtual machines after migration, an increase in business reaction delay, and an inability to guarantee the high availability of the business. SUMMARY

[0004] In view of this, the present application proposes a virtual machine association scheduling method based on graph partitioning to solve the above-mentioned problems existing in the prior art.

[0005] To achieve the above objectives, this invention proposes a virtual machine association scheduling method based on graph partitioning, comprising the following steps:

[0006] Obtain the correlation between virtual machines, and generate a topology map for several interconnected virtual machines in the cluster based on the correlation between virtual machines;

[0007] Obtain the adjacency matrix corresponding to the topology graph, and obtain the degree matrix corresponding to the topology graph based on the adjacency matrix;

[0008] Based on the adjacency matrix and degree matrix, spectral clustering is used to partition the topological graph and generate several subgraphs.

[0009] Generate graph genes for several subgraphs, select target host machines for virtual machines under each subgraph based on the graph genes, and express the migration scheme of several graph genes in coordinate form.

[0010] A non-dominated sorting genetic algorithm is used to iteratively screen migration schemes for several graph genes to obtain the optimal migration scheme between the virtual machine and the host machine.

[0011] Optionally, the process of partitioning the topological graph using spectral clustering includes:

[0012] The Laplacian matrix is ​​generated based on the adjacency matrix and degree matrix, and the partitioning target is obtained based on the definition of the Laplacian matrix and the properties of the eigenvalues ​​and eigenvectors of the Laplacian matrix.

[0013] Based on the target, perform eigenvalue decomposition on the Laplacian matrix to obtain the eigenvectors corresponding to the target eigenvalues;

[0014] The topological graph is partitioned based on the feature vectors corresponding to the target feature values.

[0015] Optionally, during the process of partitioning the topological graph using spectral clustering, a probability-based selection strategy is employed to randomly select the number of graph partitions, as shown below:

[0016]

[0017] Among them, div g Divide the graph into several parts. rev g Let be the number of virtual machines with anti-affinity properties in the topology graph. This represents rounding down to the nearest integer.

[0018] Optionally, the process of iteratively selecting migration schemes for several graph genes using a non-dominated sorting genetic algorithm includes:

[0019] Randomly pair graph genes together, and merge the paired graph genes to generate offspring genes, mimicking the way biological genes combine.

[0020] Select several subgraphs and use mutation methods to replace the target host machines corresponding to the selected subgraphs;

[0021] A fitness function is constructed based on a graph gene-based migration scheme, and the fitness of the cluster after virtual machine migration is predicted based on the fitness function.

[0022] The graph genes are screened based on a gene screening strategy after one iteration, and then proceed to the next iteration until the maximum number of iterations is reached.

[0023] Optionally, the process of constructing the fitness function includes:

[0024] Obtain the allocation rate of computing resources on the host machine, and obtain the computing resource balance based on the allocation rate;

[0025] The number of virtual machines migrated is determined based on the number of differences between the source host and the target host.

[0026] The number of disrupted associations is obtained based on the difference between the target host machine corresponding to the virtual machine and the adjacency matrix;

[0027] A fitness function is constructed based on the degree of computing resource balance, the number of virtual machine migrations, and the number of relationships broken.

[0028] Optionally, the process of replacing the target host machine corresponding to the selected subgraph using mutation methods includes:

[0029] Based on the mutation ratio, randomly select the number of subgraphs that need to be changed and the coordinates corresponding to the number of subgraphs, and replace the target host machine of the selected subgraphs.

[0030] Optionally, the process of screening graph genes after one iteration based on a gene screening strategy includes:

[0031] Define the dominance relationships between graph genes, divide the graph genes after one iteration into multiple sets based on the dominance relationships, and obtain the dominance relationships between the multiple sets;

[0032] The sets are sorted based on the dominance relationships between multiple sets, and the next round of iteration is based on the top-ranked sets and a crowding metric is used to obtain the better graph genes.

[0033] Optionally, the dominance relationship among multiple sets is defined as follows:

[0034] If fitness(x) i In the equation, all fitness values ​​are less than or equal to fitness(x). j ), and ensure fitness(x) i At least one of the indicators is less than fitness(x)j ), then fitness(x i ) dominates fitness(x j ), fitness(x i ) > fitness(x j ), otherwise both are non-dominated, where fitness(x i ) and fitness(x j ) represent different sets.

[0035] Optionally, in the process of selecting target host for virtual machine migration based on the graph gene, the target host corresponding to the virtual machines belonging to the same subgraph is consistent, and the target hosts between different subgraphs are different.

[0036] Optionally, in the process of selecting target host for virtual machine migration based on the graph gene, the target host corresponding to the virtual machine which cannot be migrated due to the limitation of computing resources is set to 0.

[0037] Compared with the prior art, the beneficial effects of the present application are that the present application constructs a topology connection graph between virtual machines, adopts a graph partitioning method and a graph gene encoding strategy, places the associated virtual machines on the same host as much as possible, reduces the latency between the associated services, and disperses the irrelevant virtual machines to different hosts, thereby guaranteeing the high availability of the services.

[0038] The present application additionally increases two types of fitness functions, i.e., the number of virtual machine migration and the number of virtual machine association destruction, on the basis of the computing resource balance degree, and adaptively considers the migration cost of the virtual machine and the influence on the service association during the algorithm iteration optimization process.

[0039] The present application adopts a probability selection strategy during the algorithm initialization, automatically divides the virtual machine association topology graph into different numbers of subgraphs according to the normal distribution, makes the initial gene of the algorithm more dispersed, and is more likely to jump out of the local optimal solution and tend to the global optimal solution. BRIEF DESCRIPTION OF DRAWINGS

[0040] Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings provided herein are for illustrative purposes only and, therefore, should not be considered to be limiting in any way. Furthermore, like reference numerals in the various drawings are intended to represent the same parts unless otherwise specified. In the drawings:

[0041] Figure 1 Flow chart of the virtual machine association scheduling method based on graph partitioning of the present application;

[0042] Figure 2This is a schematic diagram illustrating the physical meaning of the Laplace matrix eigenvalue decomposition in an embodiment of the present invention;

[0043] Figure 3 This is a flowchart illustrating the implementation of the cloud host association scheduling method based on graph partitioning in this embodiment of the invention.

[0044] Figure 4 This is a schematic diagram of the virtual machine association scheduling method based on graph partitioning of the present invention. Detailed Implementation

[0045] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the disclosure to those skilled in the art. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments.

[0046] This embodiment proposes a virtual machine association scheduling method based on graph partitioning, such as... Figure 1 As shown, it includes the following steps:

[0047] S100: Obtain the correlation between virtual machines and generate a topology map for several interconnected virtual machines in the cluster based on the correlation between virtual machines;

[0048] S200: Obtain the adjacency matrix corresponding to the topology graph, and obtain the degree matrix corresponding to the topology graph based on the adjacency matrix;

[0049] S300: Based on the adjacency matrix and degree matrix, the topological graph is partitioned using spectral clustering to generate several subgraphs;

[0050] S400: Generate graph genes for several subgraphs, select target host machines for virtual machines under each subgraph based on the graph genes, and express the migration scheme of several graph genes in coordinate form.

[0051] S500: The non-dominated sorting genetic algorithm is used to iteratively screen the migration schemes of several graph genes to obtain the optimal migration scheme between the virtual machine and the host machine.

[0052] Virtual machine association topology graph definition

[0053] Assume there are currently n virtual machines v i v i and v j The degree of correlation between them is defined as e i,j As shown in formula (1).

[0054]

[0055] According to e i,j The values can divide the interrelated virtual machines in the cluster into multiple topology graphs G g = (V g , E g ), where V g represents the virtual machines involved in the topology graph, E g represents the edges between the virtual machines and their corresponding correlation degrees, g ∈ (1, gn), and gn represents the number of cluster virtual machine correlation topology graphs. The schematic diagram is shown in Figure 2 .

[0056] G g The corresponding adjacency matrix W g is shown in formula (2).

[0057]

[0058] where W g belongs to a symmetric matrix, and each row in W g has a non-zero e i,j , which represents that there is an interrelation between v i , and n g represents the number of virtual machines in G g . As shown in formula (3), the number of virtual machines n g in each correlation topology graph is accumulated, and the number of virtual machines that have no correlation with other virtual machines is added, which is the total number of virtual machines n.

[0059]

[0060] According to the definition of W g , the degree matrix D g corresponding to the topology graph can be given, which represents the sum of the weights e i,j of all edges to which the virtual machine is correlated.

[0061]

[0062] Topology graph division

[0063] Both the affinity and anti-affinity relationships between virtual machines may require the use of graph division schemes to split the virtual machines.

[0064] For the affinity relationship, the simplest solution is to regard all the associated virtual machines as a whole, but this requires sufficient computing resources on the target host. In actual process, the computing resources on the host may not be able to cover all the virtual machines, so the graph partitioning solution is needed to split the virtual machines into multiple combinations.

[0065] For the non-affinity relationship, the most direct solution is to regard all the virtual machines as individuals and let them on different hosts. But in actual process, due to the limited resources on the host, the number of optional target hosts may be less than the number of non-affinity virtual machines, so the graph partitioning method is needed to combine the virtual machines.

[0066] The present application adopts the spectral clustering method to select the optimal partitioning solution for each associated topology graph, as shown in Figure 3 .

[0067] According to the adjacency matrix W g and the degree matrix D g corresponding to the formula (2) and (4), the Laplacian matrix L g =D g -W g can be generated. According to the definition of the Laplacian matrix and the properties of the eigenvalue and eigenvector, formula (5) can be obtained.

[0068]

[0069] Where E + represents the connection edge belonging to the affinity relationship, E - represents the connection table belonging to the non-affinity relationship. Therefore, min(x T L g x) is equivalent to requiring the eigenvector corresponding to the virtual machine belonging to E + x i to be as close as possible, and the x - belonging to E i to be as far away as possible, as shown in Figure 3 .

[0070] Since x1=(1,1,...,1) belongs to the eigenvector corresponding to the smallest eigenvalue 0 of the Laplacian matrix L g , according to the orthogonality and modulus between the eigenvectors, the remaining eigenvectors have the following characteristics, Therefore, in order to realize min(x T L g x), the Laplacian matrix L g can be decomposed to obtain the eigenvector x2 corresponding to the second smallest eigenvalue, and the connection topology graph is divided into two parts according to the positive and negative signs of each virtual machine corresponding to x2.

[0071] Algorithm fitness function definition

[0072] Given the number of virtual machines is n, and the number of hosts is m. The proposed virtual machine scheduling method GP-NSGA based on graph partitioning expresses the migration scheme in the form of coordinates, that is, the gene x i in the algorithm i,j ∈(1,m), j∈(1,n), represents the jth virtual machine needs to be placed on the x i,j th host. The algorithm can generate pop_num migration schemes x i , i∈(1,pop_num). After iter_num iterations, GP-NSGA will generate the optimal migration strategy set front optim , and randomly select one as the final migration scheme x optim .

[0073] In order to select a better migration strategy from pop_num schemes into the next round of iteration, GP-NSGA sets three different types of fitness function.

[0074] a) Calculation resource balance

[0075] According to formula (6), the allocation rate of the computing resources on the host can be obtained. Where u i,r represents the allocation share of the rth computing resource on the ith host, and o i,r represents the total share on the host, r∈(1,res_num). res_num is the number of different computing resources.

[0076] ra i,r =u i,r / o i,r (6)

[0077] Through formula (7), the balance of the rth computing resource in the cluster can be obtained, that is, the method of resource allocation rate of each host in the cluster

[0078]

[0079] b) Number of virtual machine migration

[0080] As shown in formulas (8-9), the number of virtual machine migration is the number of source hosts SRC j and target hosts DES j in the migration scheme.

[0081]

[0082]

[0083] c) Number of broken relationships

[0084] As shown in formula (10-11), the number of broken associations is the difference between the target host machine corresponding to the virtual machine in the migration scheme and the adjacency matrix, where α i,j Used to measure virtual machine v i and v j Do they share the same target host? If the final migration plan includes affinity virtual machines (e... i,j =1) Placed on different host machines (α) i,j =1), then If it is a positive number, then the opposite is also true.

[0085]

[0086]

[0087] GP-NSGA comprehensively considers the above three types of fitness objectives and generates the fitness function fitness(x) i Formula (12) shows that GP-NSGA targets a typical multi-objective optimization problem. Based on each gene x... i Based on the Pareto dominance relationship and crowding degree between corresponding fitness levels, the optimal gene is selected to enter the next iteration until the global optimal solution set front is generated.

[0088] fitness(x i = [mn, bcn, rb1, rb2, ..., rb res_num (12)

[0089] (3) Algorithm initialization and graph generation

[0090] Hierarchical diagram partitioning

[0091] Organize the relationships between virtual machines in the cluster to generate a relational topology graph G g and its corresponding Laplace matrix L g , g∈(1,gn). The number of graph partitions (div) is randomly selected according to formula (13). g ,in rev g For G g The number of virtual machines with anti-affinity properties in the system. This represents rounding down to the nearest integer.

[0092]

[0093] GP-NSGA for L gEigenvalue decomposition is performed, and the eigenvector corresponding to the second smallest eigenvalue is taken, and the topology graph is divided into two subgraphs G g,a and G g,b If it needs to be divided into multiple blocks, the subgraph can be divided into two blocks again by eigenvalue decomposition.

[0094] Graph gene

[0095] Through the above graph division method, each virtual machine is divided into different subgraphs. Therefore, the GP-NSGA adopts a graph gene to select a target host for the virtual machine.

[0096] The graph gene idea is as follows: g The virtual machines belonging to the same subgraph have consistent corresponding target hosts, and the target hosts between different subgraphs are as different as possible.

[0097] a) For G g Randomly generate a benchmark target host x i,g_base ∈(1,m), i∈(1,pop_num)

[0098] b) The target hosts of different subgraphs in G g respectively correspond to x i,g_j =x i,g_base +random(), random represents a random number generated by non-replacement sampling

[0099] c) The target hosts of all virtual machines in the subgraph of G g are set to x i,g_j

[0100] Algorithm initialization

[0101] According to the pop_num graph division results, randomly initialize to generate genes x i , x i,j ∈(1,m).

[0102] (4) Algorithm iteration

[0103] Migration strategy regulation

[0104] Since the graph genes of the algorithm are generated by random initialization, part of the genes may not be able to migrate due to the limitation of computing resources on the target host. Therefore, for these virtual machines that cannot actually migrate, the corresponding target host is set to 0, representing that it is retained in the source host and does not migrate.

[0105] Crossover and mutation

[0106] Randomly pair two graph genes x i and x jand x i and x j are combined to generate child. The simplest combination strategy is to exchange the partial fragments on x i and x j , as shown in equations (14-15).

[0107] cross_ind = random(1, n) (14)

[0108]

[0109] After generating child, in order to avoid the algorithm falling into local optimal solution, GP-NSGA adopts mutation to increase the randomness of the algorithm. The common mutation form is to select several subgraphs and replace their corresponding target host machines, as shown in equations (16-18).

[0110] mute_num = random(1, mute_rate * gn) (16)

[0111] mute_ind = random(1, gn) (17)

[0112] pos mute_ind = random(0, m) (18)

[0113] First, according to the mutation rate mute_rate, randomly select the number of subgraphs to be changed mute_num, and randomly select the corresponding coordinates mute_ind, replace the target host machines of these subgraphs with pos mute_ind .

[0114] Fitness calculation

[0115] According to the virtual machine migration scheme corresponding to x i , calculate the fitness function fitness(x i ), get the estimated resource balance degree in the cluster after migration, the number of virtual machine migration and the number of virtual machine destruction association.

[0116] Gene screening

[0117] After the above iteration process, there are 2*pop_num genes x i in the current algorithm. GP-NSGA needs to select the better pop_num genes x i into the next round of iteration.

[0118] The gene screening strategy mainly includes two steps:

[0119] a) Pareto non-dominated sorting

[0120] Since GP-NSGA algorithm considers three types of indexes, i.e. the balance of computing resources, the number of migrated virtual machines and the degree of breaking the threshold, the fitness(x i ) corresponding to each graph gene is multi-dimensional, and it is impossible to directly compare the advantages and disadvantages between graph genes. Therefore, the dominance relationship between graph genes is defined first:

[0121] If all the fitness(x i ) is less than or equal to fitness(x j ), and at least one index in fitness(x i ) is less than fitness(x j ), then fitness(x i ) dominates fitness(x j ), fitness(x i ) > fitness(x j ), otherwise, they are non-dominated.

[0122] According to the above dominance relationship, the Pareto non-dominated sorting method first traverses all the graph genes pairwise, calculates the dominance relationship between the graph genes, and divides the 2*pop_num graph genes x i into multiple sets front k , k∈(0, front_num). Wherein the graph genes x k in each front i are non-dominated, and the fronts front k are dominated. The graph genes in front0 dominate all the other fronts front k .

[0123] b) Congestion calculation

[0124] According to the Pareto non-dominated sorting, GP-NSGA can sort according to the dominance relationship between fronts front k , and prefer to select the front k with higher ranking to select better graph genes for the next iteration. However, due to the high dimension of fitness(x i ), the probability of two graph genes being non-dominated increases. Therefore, there may be a large number of graph genes after sorting the front k with higher ranking. Considering that if there are a large number of similar fitness(x i ) around fitness(x j ), it means that x iThe importance degree of the virtual machine is lower, and the rest of the schemes can be replaced. Therefore, the GP-NSGA adopts the congestion degree to measure the graph gene in the same front k , and selects a better graph gene.

[0125] Output the optimal migration strategy

[0126] It is judged that the GP-NSGA iteration reaches the maximum iteration number iter_num, and then the iteration is exited, and the optimal migration strategy x is randomly selected from the front 0 i , otherwise, step (4.1) is returned.

[0127] Compared with the prior art, the application has the following three advantages and effects.

[0128] 1. Enhance the business relevance: the application constructs the topology connection graph between virtual machines, adopts the graph partition method and the graph gene coding strategy, and places the associated virtual machines on the same host as much as possible, reduces the time delay between the associated services, and the unrelated virtual machines are dispersed to different hosts, thereby guaranteeing the high availability of the services.

[0129] 2. Enhance the migration effectiveness: the application additionally increases two types of fitness functions, i.e., the number of virtual machine migration and the number of virtual machine association destruction, on the basis of the calculation resource balance degree, and adaptively considers the migration cost of the virtual machine and the influence on the service relevance in the algorithm iteration optimization process.

[0130] 3. Jump out of the local optimal solution: the application adopts the probability selection strategy in the algorithm initialization, divides the virtual machine association topology graph into different numbers of subgraphs according to the normal distribution, makes the initial gene of the algorithm more dispersed, and is more likely to jump out of the local optimal solution and tend to the global optimal solution.

[0131] The application provides a virtual machine association scheduling method based on graph partition (Graph Partition NSGA, GP-NSGA). As shown in the figure, Figure 4 The method first generates a topology graph according to the association relationship between virtual machines, divides the associated virtual machines into multiple virtual machine combinations through graph partition, and proposes a graph gene (Graph Gene), so that the virtual machines in the same combination tend to the same target host, and the virtual machines in different combinations tend to different hosts. In order to automatically determine the number of topology graph partition combinations, the GP-NSGA proposes a probability selection strategy, randomly selects a partition number (Graph Partition Numa, GPN) according to the normal distribution, and generates an optimal migration strategy through iteration optimization. Finally, since the graph partition scheme may destroy the original virtual machine association relationship, the break correlation number (BreakCorrelation Num, BCN) is additionally increased as the fitness function of the graph gene on the basis of the calculation resource balance degree.

[0132] The main technical problems to be solved by the present application are: first, resource balancing considers the association relationship between virtual machines during virtual machine migration, especially the affinity and anti-affinity between virtual machines, and the associated virtual machines are divided into multiple virtual machine combinations through graph partitioning and graph gene, the virtual machines in the same combination tend to the same target host, and the virtual machines in different combinations tend to different hosts. Second, the number of graph partitioning is automatically determined, and the number of partitioning is randomly selected in the specified area according to the normal distribution through the probability selection iterative optimization mode, different partitioning numbers correspond to different migration strategies, and the optimal migration scheme is generated through NSGA iterative optimization. Third, the degree of destroying the association relationship of virtual machines in the virtual machine migration scheme, on the basis of calculating the resource balancing degree, additionally increase the association number as the fitness function to optimize and select the virtual machine migration strategy

[0133] Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present application and not to limit it, although the present application has been described in detail with reference to the above examples, those skilled in the art should understand that the specific embodiments of the present application can be modified or replaced by the same, without departing from the spirit and scope of the present application. Any modification or equivalent replacement, which should be covered by the protection scope of the claims of the present application.

Claims

1. A graph partitioning based virtual machine association dispatching method, characterized in that, The method comprises the following steps: obtaining the correlation between virtual machines, generating a topology graph of a plurality of virtual machines correlated with each other in the cluster based on the correlation between the virtual machines; obtaining an adjacency matrix corresponding to the topology graph, and obtaining a degree matrix corresponding to the topology graph based on the adjacency matrix; based on the adjacency matrix and the degree matrix, the topology graph is divided by using a spectral clustering method to generate a plurality of subgraphs; generating a graph gene for the plurality of subgraphs, selecting a target host for virtual machine migration based on the graph gene, and expressing the migration scheme of the plurality of graph genes in the form of coordinates; iteratively screening the migration scheme of the plurality of graph genes by using a non-dominated sorting genetic algorithm to obtain an optimal migration scheme of the virtual machines and the host.

2. The graph partition based virtual machine association dispatching method according to claim 1, characterized in that, The process of dividing the topology graph by using the spectral clustering method comprises: generating a Laplacian matrix based on the adjacency matrix and the degree matrix, obtaining a division target based on the definition of the Laplacian matrix and the properties of the eigenvalues and eigenvectors of the Laplacian matrix; performing eigenvalue decomposition on the Laplacian matrix based on the division target to obtain an eigenvector corresponding to a target eigenvalue; dividing the topology graph based on the eigenvector corresponding to the target eigenvalue.

3. The graph partition based virtual machine association dispatching method according to claim 1, characterized in that, In the process of dividing the topology graph by using the spectral clustering method, a number of graph divisions is obtained by random selection based on a probability selection strategy, as follows: wherein div g is the number of divisions of the graph, rev g is the number of virtual machines in the topological graph having the anti-affinity property, represents the floor function.

4. The graph partition based virtual machine association dispatching method according to claim 1, characterized in that, The process of iteratively screening the migration scheme of the plurality of graph genes by using the non-dominated sorting genetic algorithm comprises: randomly pairing the graph genes two by two, and merging the paired graph genes to generate offspring genes in the manner of biological gene combination; selecting a plurality of subgraphs, and replacing the target host corresponding to the selected subgraph by using a mutation method; constructing a fitness function based on the migration scheme of the graph gene, and estimating the fitness of the cluster after virtual machine migration based on the fitness function; screening the graph gene after one iteration based on a gene screening strategy, and entering the next iteration until the maximum number of iterations is reached.

5. The graph partition based virtual machine association dispatching method according to claim 4, characterized in that, The process of constructing the fitness function comprises: obtaining the allocation rate of the computing resources on the host, and obtaining the computing resource balance degree based on the allocation rate; obtaining the number of virtual machine migrations based on the different numbers of source hosts and target hosts; obtaining the number of broken correlation relationships based on the difference between the target host corresponding to the virtual machine and the adjacency matrix; constructing the fitness function based on the computing resource balance degree, the number of virtual machine migrations, and the number of broken correlation relationships.

6. The graph partition based virtual machine association dispatching method according to claim 4, characterized in that, The process of replacing the target host corresponding to the selected subgraph by using the mutation method comprises: randomly selecting the number of subgraphs to be changed and the coordinates corresponding to the number of subgraphs according to the mutation proportion, and replacing the target host of the selected subgraph.

7. The graph partition based virtual machine association dispatching method according to claim 4, characterized in that, The process of screening the graph gene after one iteration based on the gene screening strategy comprises: defining the dominance relationship between the graph genes, dividing the graph genes after one iteration into a plurality of sets based on the dominance relationship, and obtaining the dominance relationship between the plurality of sets; sorting the sets based on the dominance relationship between the plurality of sets, and obtaining a better graph gene for the next iteration based on the sets in the front of the sorting and using the crowding degree measurement method.

8. The graph partition based virtual machine association dispatching method according to claim 7, characterized in that, The dominance relationship of the plurality of sets is defined as follows: If all fitnesses in fitness(x i ) are less than or equal to fitness(x j ), and it is guaranteed that at least one of the indicators in fitness(x i ) is less than fitness(x j ), then fitness(x i ) dominates fitness(x j ), fitness(x i ) > fitness(x j ), otherwise they are non-dominated with each other, where fitness(x i ) and fitness(x j ) represent different sets respectively.

9. The graph partition based virtual machine association dispatching method according to claim 1, characterized in that, In the process of selecting target host for virtual machine under each subgraph based on the graph gene to perform virtual machine migration, the target host corresponding to the virtual machines belonging to the same subgraph is consistent, and the target hosts between different subgraphs are different.

10. The graph partition based virtual machine association dispatching method according to claim 1, wherein, In the process of selecting target host for virtual machine under each subgraph based on the graph gene to perform virtual machine migration, the target host corresponding to the virtual machine which cannot be migrated due to the limitation of computing resources is set to 0.

Citation Information

Patent Citations

  • Distributed cloud computing center selection method and application thereof

    CN103997515A

  • Ensemble classification method based on randomized greedy feature selection

    CN106991296A