A Virtual Network Embedding Algorithm Based on Cellular Automata Genetic Mechanism

. The optimal embedding problem of virtual network requests, which satisfies nodes and link constraints, is a NP-hard problem. Heuristic algorithms solve the problem with the mathematical model optimization, but it fails to consider the influence of the virtual network embedding node itself on the optimal solution. So the cellular automata genetic mechanism is introduced into the problem, and the virtual network embedding algorithm based on cellular genetic algorithm (VNE-CGA) has been proposed. VNE-CGA uses the cellular automata to model the node, and replaces the "B4567/S1234" rule with the crossover operation in genetic algorithm. Through learning from neighbours to guide the individual's optimization process, VNE-CGA improves the inherent defects of traditional genetic algorithm. The experimental results show that the request acceptance ratio and the long-term average revenue increase about 5% and 12%.


Introduction
With the expansion of the Internet and the growth of new services, the traditional network structure tends to be "rigid", and network virtualization provides strong support for the innovation and sustainable development of the network [1,2]. The core idea of the network virtualization is constructing its own virtual network (VN) for different services on the same physical network [3]. It is a NP-hard problem to provide the underlying physical network resources to virtual network requests on demand [4]. Heuristic algorithms are the main means to solve this kind of problem. Ref. [5] proposed a load balancing algorithm based on particle swarm optimization to improve long-term average revenue of the underlying network. Ref. [6] proposed a virtual network embedding algorithm based on ant colony algorithm, which uses ant colony iteration and intelligence to solve this optimization problem. Ref. [7] first used genetic algorithm (GA) to solve the embedding optimization problem, but the convergence speed was slow and easily fell into the local optimization. Ref. [8] proposed an iterative optimization embedding solution VNE-PSO-GA, which merges genetic algorithm and particle swarm optimization algorithm together, to solve the local optimal problem. Ref. [9] improved the genetic algorithm with the simple algorithm (VNE-M-GA), which solves the premature convergence problem to a certain extent.
Most of the above studies are solved and optimized from the perspective of mathematical models, and less consideration is given to the impact of the changes of nodes and links in the virtual network embedding (VNE) on the final results. Cellular automata (CA) rely on simple local rules to study the overall complexity and are widely used in fields such as information transfer [10], image encryption [11], complex function optimization [12] and biological simulation [13]. Especially for many singleobjective optimization problems, cellular genetic algorithm has achieved good results as a mature and efficient solution [14,15]. Based on this, cellular automata are used to model physical nodes and links, and cellular genetic algorithm is used to solve the problem of virtual network embedding. A virtual network embedding algorithm based on cellular automata genetic mechanism algorithm (VNE-CGA) is proposed. According to the searched references, it is a new method to consider with cellular automata into the virtual network embedding problem. Compared with the traditional genetic algorithm and the improved algorithm proposed in Ref. [8,9], VNE-CGA improves the request acceptance ratio and the longterm average revenue of virtual network. Section 2 introduces the basic concepts of virtual network embedding, puts for-ward the evaluation criterion and establishes the mathematical model. Section 3 studies the genetic algorithm in virtual network embedding to analyze its deficiencies, and then proposes VNE-CGA using cellular automata to improve the genetic algorithm. Section 4 introduces the experimental environment and analyzes experimental results. Finally, section 5 gives the conclusion and provides ideas for future researches.  Figure 1 (i) displays the underlying physical network, which has 6 nodes and 7 links. The number on the left of the rectangle represents the ( ) before embedding, and the right number represents the ( ) when embedding completed. The two numbers nearby the link represent the ( ), which have the same conditions like ( ).
2) The virtual network request: ( , ) means undirected graph with weight, where is the set of virtual network nodes and is the set of virtual network links. ( ) denotes the required CPU resource, where ∈ . ( ) denotes the required bandwidth resource, where ∈ . Figure 1 (ii) displays the virtual network request, which has 3 virtual nodes and 3 virtual links. For example, the required CPU resource in virtual node a is 5, and the required bandwidth resource on virtual link (a, b) is 3. 3

Evaluation criterion
The primary research is that cellular genetic algorithm was used to solve the virtual network embedding optimization problem with nodes and links constraints. The goal is to reduce the operating costs and improve the operating profit of the physical network. According to Ref. [9], two definitions about the revenue and the cost were summarized.
The revenue of an accepted virtual network request at time is defined as the sum of the resources it needs. The formal definition is as follows: where α denotes the relative weight of the link resources and CPU resources. The value of α is between 0 and 1. α is closer to 1, means the revenue generated by unit link resource is greater, otherwise means the revenue generated by unit CPU resource is greater.
The cost of an accepted virtual network request at time is defined as the sum of the resources it consumed. The formal definition is as follows: where ∈ {0,1} .When the physical link allocates bandwidth resource to the virtual link , the value of is 1, otherwise is 0. ( , ) denotes the value of the assigned bandwidth from to . The meaning of α is same with (1). Based on two definitions, there are three main evaluation criterions of the virtual network embedding.
1) The long-term average revenue of underlying physical network defines as: 2) The request acceptance ratio of virtual network defines as: where ∑ denotes the number of virtual network requests, who embedded successfully, from time 0 to , and ∑ denotes the total number of requests from time 0 to .
3) The average revenue/cost ratio defines as:

Integer linear programming model
The optimization problem of virtual network embedding aims to improve the profitability of the underlying network operation, which needs to establish the corresponding model of mixed integer linear programming. The model involves two variables. Binary variable : The value of 1 indicates the physical link ( , ) allocates bandwidth resource to the virtual link ( , ), and 0 means it is unallocated.
Binary variable : The value of 1 indicates the virtual node is embedded on the physical node , and 0 means there is no embedding.
For a virtual network embedding request, the cost of node embedding is constant, and the cost of bandwidth allocation varies from different scenarios. Therefore, the objective function of the model should be proposed as: If the VNE needs to be completed once, (6) must meet the capacity constraints, that means physical nodes and links must have the sufficient resources for embedding successfully. The available computing resources of the physical nodes must meet the computing resources requirements of the virtual nodes, such that: The available bandwidth resources for the physical links must satisfy the bandwidth requirements for the virtual links, such that: In one virtual network request, each underlying physical node can only be divided into one virtual node, and one virtual node can only be embedded to one physical node. The constraints are as follows: If the virtual node and are embedded on the physical node and separately, the virtual link ( , ) will be embedded on the underlying physical link P from node to . At the source node , the outgoing flow is 1 and the incoming flow is 0, so ∑

Genetic algorithm in VNE
1) Coding and generating the initial population. The coding uses real numbers. Let = { , , … , } , where = | |, that means the total number of virtual nodes is . The sequence with long represents the solution (chromosome) of the problem. The value of represents the th physical nodes which the virtual node has been embedded on. The initial population is produced by generating chromosomes randomly.
2) Crossover operator. In the traditional genetic algorithm, the partial mapping crossover method is often used. First, the population is paired with the random method. Then the location of the intersection is determined randomly. Finally, it is on probability to exchange part of genes between the paired chromosomes.
3) Mutation operator. The random method is used to set the genetic variation position of each individual, and then change the value of the gene according to the mutation probability . 4 16,13). At this point, the physical node 22 carries the 3rd and the 8th virtual nodes at the same time, which does not meet the constraint requirement in (9). Then the 8th virtual node needs to be embedded again using the random method until the constraint is satisfied. So ′ = (18,6|22,8,3|35,22,25) after mating. 5) Fitness evaluation. For a given chromosome (i.e., an embedding scheme), the optimization problem of original resource allocation has been reduced to the problem of virtual network links embedding, that is multi-commodity flow (MCF) problem. In the proposed algorithm, the objective function has a constant nonnegative value and the optimization direction is to find the minimum value. Therefore, the value of (6) can be directly used as the fitness of the individual.
Through the description and research of traditional genetic algorithm, there are three problems as follows: 1) When the traditional genetic algorithm chooses the next generation of individuals, the possibility of individuals to be selected depends on the fitness, but the selection process is probabilistic. If fully comply with this basic model, an individual with higher fitness may be unselected in certain generations. On the contrary, if a "leader" (individual with high fitness) within the population is selected each time and some "potential shares" are ignored, the population is likely caught in local optimization.
2) For the problem of dynamic virtual network request, solving with traditional genetic algorithm may no longer react to the data that changes later due to precocity.
3) The crossover operation ensures that some possible solutions are not lost, but on the other hand, especially for the initial population, crossover operation has the same effect as setting a large mutation rate. In this process, crossover is not properly guided and learning between individuals is blind.

Improvement with cellular automata
As described in Section 3.1, traditional genetic algorithm tends to converge prematurely and fall into local optimization. In order to improve its optimization ability and the performance of the algorithm, cellular automata are introduced. Through the analysis of the VNE, the CA were used to model network nodes. Combined with traditional genetic algorithm, an embedding algorithm was proposed that aimed to maximize the operating revenue of the underlying network. CA are dynamic system, whose space and time are discrete. It is widely used in the research and analysis of complex problems. Its most basic components include cellular, space, neighbors and rules [16]. 1) Cellular: In VNE-CGA, let the node embedding scheme = { , , … , } as an individual for coding. Node number uses 8 bit (LB) binary number to indicate. The encoded individual is a LB-length binary vector. Each encoded bit is a cell.
2) Space: For the problem of VNE, an undirected graph with weighted is used to represent the underlying network and virtual network. Therefore, the 2-dimensional spatial structure is used to model. The chromosomes in the population are arranged in rows to form a (LB)q binary matrix, where q is the number of chromosomes.
3) Neighbors: Statuses updating in cellular automata only depends on their own status and the statuses of their neighbors. = ( , ) , where denotes the set of neighbors of cell at time . The classic "Life Game (B3/S23 rule)" is described as follows: If a dead cell has three living neighbors, its propagation changes the status from 0 to 1, otherwise the status remains; If a live cell has two or three living neighbors, its survival makes the status unchanged, otherwise the status changes from 1 to 0. The expression of evolution rule is as follows: As the virtual network embedding progresses, the underlying physical resources change from moment to moment. Especially when the underlying network is overloaded, the traditional "best effort" mode is likely to cause unbalanced utilization of the underlying resources, which leads to loss of more future benefits [17]. In order to improve the profitability of the underlying network providers, it is necessary to consider minimizing the cost of using the underlying resources in the process of VNE, as well as balancing utilization of the underlying resources. Combined with the classic evolution rule "Life Game (B3/S23 rule)", the recovery and distribution of the physical resources are considered as the extinction and multiplication of living things. Through the experimental analysis, the evolution rule "B4567/S1234" was established to improve VNE-CGA. The expression of evolution rule is as follows:

Algorithm description
VNE-CGA uses evolution rule B4567/S1234 to replace the crossover between genomes in traditional genetic algorithm. In VNE-CGA, the crossover operation no longer limited to matching two chromosome chains, and each cell, which is considered as an individual's gene, needs to scan when it is not on the boundary. The status of the neighbor model determines next status at the next moment. The crossover operation is shown in Figure 2, where row means individual and column means gene.
(i) Chromosome chains before crossover (ii) Chromosome chains after crossover Figure 2. Crossover operators in VNE-CGA In figure 2, white represents the status of 0 and the black represents the status of 1. As shown in Figure 2 (i), the gene G2 of chromosome R2 was white, whose eight neighbors had 4 white and 4 black. So that = 0 , ∑ = 4, and = 1 was displayed in Figure 2 (ii). VNE-CGA algorithm is described as follows: Input. PN = ( , ), VN request = ( , ) Output. VNE scheme Procedure.
─ Step 1: Accept arrived virtual network request ─ Step 2: Generate the initial population The population (0) initialize randomly The size is and the max of iterations is denotes crossover probability denotes mutation probability = 0, = ∅, = ∅, = ∅ ─ Step 3: Calculate the fitness of each individual each chromosome ℎ ∈ uses ILOG CPLEX to solve (6)-(10) obtains the fitness ( ℎ ) gets the corresponding supply solutions Step 4: Generate the next population According to fitness, chromosomes are selected All of genes make up the cellular space The neighbor matrix is created with Moore model It is on probability to follow B4567/S1234 rule For new population mutation, the probability is The feasible solutions examine the errors Population ( ) evolve into ( + 1) ─ Step 5: Check the fitness or iteration times = the fitness change ratio does not exceed continuous times = ∪ jump to Step 3 ─ Step 6: Algorithm end The time complexity of genetic algorithm is ( ) [18], where denotes the number of goals and denotes the number of individuals. The time complexity of singleobjective genetic algorithm is ( ) . VNE-CGA replaces the single point or multi-point crossover with cellular rules to evolve, mainly in the process of the next generation population (Step 4). Although the calculation has increased by improvement, the time complexity of VNE-CGA is still ( ).

Experimental results
Due to the integration of cellular automata and genetic algorithms, VNE-CGA can solve the problem of virtual network embedding. Therefore, compared with the traditional GA, VNE-PSO-GA [8] and VNE-M-GA [9], the performance of the VNE-CGA in solving the problem of VNE is analyzed.
The experimental environment and parameters are similar with Ref. [8] and [9]. The network topology is randomly generated by using GT-ITM tools, including 100 physical nodes and about 500 physical links. The available resources obey the uniform distribution of [50-100]. Each simulation experiment runs about 50,000 time units and contains 2,500 virtual network requests, where the requests in 100 time units follow the Poisson distribution of mean 5 and the life cycle obeys an exponential distribution. The virtual nodes in each virtual network request connect on probability 0.5, and the number of nodes and resource requirements satisfy the uniform distribution of [2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] and [0-50] respectively. Initial population size sets to 16, the maximum number of iterations sets to 10, the crossover probability sets to 0.5, and the mutation probability sets to 0.01. The long-term average revenue of underlying physical network and the request acceptance ratio of virtual network are respectively shown in Figure 3 and 4. The horizontal axis represents the running time, and the unit is 1000 time units. Compared with GA, VNE-PSO-GA and VNE-M-GA, VNE-CGA obtains the better results. The long-term average revenues have increased by 26%, 12% and 6%, and the request acceptance ratios have increased by 8%, 5% and 3%. The main reason is that GA and VNE-PSO-GA are easy to get local optimization, and VNE-M-GA with simplex method makes the convergence performance decrease. According to the characteristics of VNE itself, the cellular automata model is introduced to make the interaction between individuals Omnidirectional and dynamic, which ensures the diversity among the populations and effectively improves the local optimization shortcoming to avoid premature convergence. While reducing the operating costs of the underlying network, it accepts more virtual network requests and increases long-term revenue.   The run time of the algorithm is shown in Figure 6. The runtime of VNE-CGA, VNE-PSO-GA and VNE-M-GA have increased from the traditional GA. Because the algorithms are based on GA to improve, that results in the computational complexity of the algorithm increased. VNE-CGA, however, consumes more time than other algorithms because the more extensive cellular space and the limited range of neighbors also determine that. It takes a certain amount of time for optimal information to be transmitted in the cellular space, which indirectly affects convergence speed. In the large-scale real application environment, the computing ability of the hardware is much better than the simulation experiment environment.
The cellular automata are more convenient to carry on the parallel operation [19], and the calculation time difference will be further reduced. In summary, the actual benefits of the VNE-CGA are much higher than the computational costs of the algorithm.
Run time (h) Figure 6. Algorithm run time

Conclusion
In order to maximize the long-term average revenue of the underlying physical network, an integer linear programming model was established to optimize the virtual network embedding. Based on the characteristics of the virtual network embedding, VNE-CGA was proposed to solve the embedding optimization problem. The algorithm uses the evolution rules of cellular automata to redefine the crossover operation, which improves the searching ability of the algorithm. The experimental results show that VNE-CGA improves the premature convergence to a certain degree, reduces the overhead of the underlying physical network, and enhances the request acceptance ratio and the long-term average revenue. In large-scale practical applications, the virtual network embedding is more complex. The adaptive dynamic neighbor model should be studied in future, so that VNE-CGA can be suitable for different scenarios.