Distributed Parallel VN Embedding Based on Genetic Algorithm
Distributed Parallel VN Embedding Based on Genetic Algorithm
Genetic Algorithm
Qiao Lu, ChangCheng Huang
Dept. of Systems and Computer Engineering, Carleton University, Ottawa, Canada
Email: [email protected], [email protected]
Abstract—Network virtualization has emerged to replace tra- Existing literature proposes several heuristic algorithms in
ditional network architecture since it allows multiple virtual VN Embedding to increase placement efficiency as well as im-
networks to share a common substrate network. However, one prove global optimality. Generally, heuristic algorithms[1][2]
of the main challenges for network virtualization is the resource
allocation for each virtual network (VN), called Virtual Network tend to find one solution that is likely to be good. However,
Embedding Problem. The computation complexity of existing the performance of the solution is not guaranteed.
resource allocation approaches is too high to achieve an optimum Few researchers propose meta-heuristic algorithms for VN
within an acceptable time. Further, the provided optimum is Embedding problems. To our best knowledge, the previous
not optimal in an online non-reconfigurable VN embedding papers[3][4] on Genetic Algorithm in VN embedding are only
setting because of the highly dynamic nature of user demands.
Nowadays, due to lower hardware costs, distributed parallel focused on node mapping. However, the more complicated VN
computing can be used to deal with complex computing tasks link mapping is not well investigated yet.
with high efficiency. In this paper, we propose a distributed In some research papers[1][5], it was assumed that a virtual
parallel Genetic Algorithm (GA) for solving VN Embedding node/link can be split into different substrate nodes/links,
problems. Through theoretical analysis, we compare the time which is called splittable mapping. The embedding of a virtual
saving of our distributed parallel algorithm with traditional
sequential running. Results show that our algorithm achieves network for both splittable and unsplittable cases is a very im-
better performances on execution time and acceptance ratio. portant research topic for software defined network (SDN) and
network function virtualization (NFV). Indeed, the splittable
I. I NTRODUCTION embedding attains better resource utilization in theoretical
Allocating physical resources in network virtualization to analysis. Actually, the splittable embedding is easier than an
achieve higher profit and efficiency is a well-known problem. unsplittable embedding[6]. The splittable embedding problem
Such a problem is called Virtual Network (VN) Embedding. can be formulated as a linear program which can be solvable
To solve the problem, algorithms need to decide the physical in polynomial time. However, the splittable embedding is hard
resources for VNs, which becomes an optimization problem to implement into a real online embedding problem.
with a particular objective (e.g., lower cost). In general, a Firstly, the splittable embedding creates the overhead of
virtual network is composed of several virtual nodes and maintaining the state consistency, which requires more con-
their associated virtual links. A common approach is to adopt sideration for future work[6]. Secondly, mapping a virtual link
two phases to allocate a virtual network: 1) node mapping: to multiple paths in the substrate network may cause out-of-
mapping virtual nodes into substrate nodes and 2) link map- order packet delivery[2]. Out-of-order delivery is a primary
ping: mapping virtual links into substrate paths with multiple concern for packets in the same flow. Some strategies such
connected substrate links. as Equal-cost Multi-path (ECMP) routing should be brought
In an online VN Embedding problem, VN requests arrive into implementation to deal with packet reordering as well as
dynamically and stay in the network for random durations. balancing multiple flows over multiple paths. Additionally, for
In most real-life scenarios, the VN Embedding is an online the online embedding problem, we consider the time consum-
problem, which requires a speedy and efficient solution. Both ing as a very important factor. Polynomial time complexity is
offline and online VN Embedding can be formalized into still far longer than we expect in an online embedding system.
an exact optimization problem, such as Integer Linear Pro- The unsplittable VN embedding problem is a fundamental
gramming (ILP) model [1]. However, exact solutions are time mathematical problem for provisioning resources for network
consuming and hard to achieve real global optimization under slices[6]. Unfortunately the complexity problem becomes one
dynamic demands. Specifically, to avoid causing disruptions to major bottleneck of the unsplittable embedding. In previous
the existing services, these solutions do not try to reallocate work, unsplittable link mapping algorithms that are formulated
mapped requests in the past. Nor do they try to predict future as Integer Programming, are inclined to simplify the NP-hard
requests. When a VN request arrives, they allocate the request problem to shortest path problems. However, the shortest path
based on current residual resources. Obviously, this kind of method may not lead to optimal results.
local optimal results may not lead to global optimization of Nowadays, cloud computing is becoming prevalent. With
resources usage. This observation provides space for heuristic the decrease of computing cost, cloud computing can be used
algorithms to play. to compute parallel algorithms with high efficiency. In tradi-
tional exact methods, the NP-hard programming is difficult to the virtual node is denoted by dis(loc(nv ), loc(ns )). Each link
be decoupled into parallel independent subtasks. We found the ev ∈ E v has bandwidth requirement value B(ev ). We also
Genetic Algorithm can be decoupled with some modifications. denote N as the number of virtual links.
Therefore, in this paper, we propose a distributed parallel
Genetic Algorithm that solves unsplittable link mapping of
the VN embedding problem with high performance and low
complexity.
We summarize the contributions of our proposed parallel
GA algorithm as follows. 1) To the best of our knowledge,
our work is the first to propose a GA algorithm for an online
VN link mapping problem. Inspired by [7], our proposed
Fig. 1: An example of a virtual network with its associated substrate network.
algorithm deals with a more complex problem by solving
GA formulated in matrix form. 2) Instead of generating B. VN Assignment
one solution as previous research, we try to find the best When a VN request arrives, the substrate network is sup-
solution among multiple feasible solutions by using genetic posed to decide if the request should be accepted on basis of
iterations. Extensive simulation results demonstrate that our current remaining resources. The assignment is released until
approach provides better performances both on execution time the request departures.
and acceptance ratio than existing ones. 3) To solve the 1) Node Mapping: To allocate a VN request, we should
VN embedding problems efficiently, we propose a distributed map virtual nodes first. Each virtual node in a VN request
parallel GA algorithm by applying variants in the GA. And the should be allocated to a different substrate node. There are
theoretical analysis shows the execution time can be reduced to two constraints in node mapping:
logarithmic time. 4) Our proposed algorithm can be terminated
C(nv ) 6 Rn (M (nv )) (1)
with an intermediate solution at any time. If there is a time
limitation for dynamic VN requests, parallel working machines dis(loc(nv ), loc(M (nv ))) 6 D (2)
can be added to increase execution speed to get an optimum
where, M (nv ) ∈ N s , Rn (M (nv )) 6 C(M (nv ))
for the GA algorithm. 5) Few papers discuss VN embedding
with nonlinear objective functions in both exact methods and M (nv ) is the substrate node mapping from a virtual node
heuristic solutions. In this paper, we compare the performance n . Rn (M (nv )) is the remaining CPU capacity of the sub-
v
between a linear objective function and a nonlinear one. strate node, which is updated after allocating/releasing each
Results show that the nonlinear objective function is more VN request.
effective than the linear one. 2) Link Mapping: After node mapping, the VN embedding
The rest of this paper is organized as follows. Section II problem becomes multiple path embedding problems in the
describes the network model and problem formulations. Sec- substrate layer. Each virtual link(unsplittable) is mapped to a
tion III introduces our proposed parallel GA algorithms. Sec- substrate path(unsplittable) with one or more substrate links.
tion IV presents simulation results that compare the proposed We define a mapping M (nv , mv ) from a virtual link to a
algorithm with previous work. Finally, Section V concludes substrate path. Similar to Rn (M (nv )), Re (es ) is the remaining
the paper. bandwidth of substrate link es . We define the set of all
II. N ETWORK M ODEL substrate paths from source node M (nv ) to destination node
M (mv ) as P(M (nv ), M (mv )). Every substrate link in M (ev )
A. Substrate Network and VN Request
should have enough bandwidth resource to allocate the virtual
We consider a substrate network infrastructure Gs = link:
(N s , E s ) composed of a set of substrate nodes N s and B(ev ) 6 Re (nv , mv ) (3)
a set of substrate bidirectional links denoted as E s . Each ev = (nv , mv ), M (ev ) ∈ P s (M (nv ), M (mv ))
substrate node ns ∈ N s is associated with CPU capacity value where,
R (es ) 6 B(es ), Re (nv , mv ) =
e
min Re (es )
C(ns ) and its geographic location loc(ns ). Each substrate link es ∈M (ev )
es ∈ E s has bandwidth capacity weight value B(es ). Every When a VN request mapping satisfies the constraints above
substrate node has a unique ID number that is used in genetic for all nodes and links, it means the substrate network has
encoding as Fig. 1. enough resource to support the request by the mapping
A VN request is modeled as a weighted graph, denoted by method. And the mapping is defined as a feasible solution.
Gv (ta , td , D) = (N v , E v , ta , td , D). N v is a set of virtual
nodes. E v is a set of virtual links. ta is arrival time of the C. Objectives
VN request. td is the duration of the VN request and D In our proposed link mapping algorithm, we try to balance
represents the maximum distance between a virtual node and the load for link mapping. The objective function used in link
its associated substrate node. Each virtual node nv ∈ N v in a mapping is also called fitness function. The fitness function in
VN request has CPU capacity requirement value C(nv ) and a this paper takes all links’ usage as a whole, as opposed to other
location loc(nv ). The distance between a substrate node and heuristic link mapping problems[1][2], which map virtual links
sequentially. In addition, we try to measure the bandwidth cost tially as master working procedures. And the slave working
of mapping the VN request as well as balance the load. The procedures indicate the procedures running independently in
more remaining bandwidth left means more VN requests could slave nodes.
be allocated in the future. Therefore, we encourage higher
remaining bandwidth with smaller cost in the fitness function.
Existing solutions use linear objective functions to simplify
optimization process. For example, the linear objective func-
tion in [1] is based on the remaining bandwidth of previous
VN allocations as shown in (4). σ is a small positive constant
i
to avoid the denominator becoming zero. fuv describes the
total amount of flow from u to v for the ith virtual link under
the specific mapping scenario.
P αuv P i
FLP = es (u,v)∈E S Re (u,v)+σ i fuv (4)
In our proposed algorithm, the linear or nonlinear function
has almost similar computing complexity. We also formu-
late the fitness function as a nonlinear function as shown
in (5), where the bandwidth usage of the current virtual link
allocations becomes part of the denominator. A nonlinear
fitness function like (5) improves the bandwidth efficiency
since a small residual bandwidth in each substrate link can
cause bandwidth fragmentation and is hard to be utilized
Fig. 2: Parallel execution flow chart
for future VN requests in unsplittable link mapping. In the
A. Node Mapping Algorithm
simulation, we keep both fitness functions and compare their
performances. Node mapping algorithm in this paper is a greedy method
FN LP =
P αuv
(5) instead of an exact formulation since an exact method is
es (u,v)∈E S Re (u,v)−
P i
f +σ
i uv always computationally expensive but also may not lead to
III. P ROPOSED VN E MBEDDING A LGORITHM a better solution. To achieve efficiency and expense reduction,
we take a similar heuristic algorithm as [2].
With the development of computing capability, the cost of Y (ns ) shown in (6) calculates the remaining substrate node
computing devices is decreasing. Therefore, people concern resources. Specifically, Y (ns ) is not only dependent on the
more on execution time rather than computing cost. Parallel remaining CPU capacity Rn (ns ). Moreover, Y (ns ) considers
method becomes prevalent to utilize more computing resources remaining link resources of all adjacent substrate links. E(ns )
for the sake of time saving. Nevertheless, how to design the is the set of adjacent substrate links of node ns . σ1 and
parallel structure for VN embedding link mapping is still σ2 denote weights to control the significance of Rn (ns ) and
a tough problem. Previous traditional algorithms focus on Re (es ), which should be non-negative.
how to generate one feasible solution with good performance.
Y (ns ) = σ1 × Rn (ns ) + σ2 × es ∈E(ns ) Re (es )
P
(6)
However, parallelism in the process of seeking one good
feasible solution is hard to realize. A feasible solution contains B. Genetic Representation
multiple virtual links that share the substrate link resources. After node mapping, a VN request problem becomes multi-
Hence, virtual link mappings are highly dependent on each ple link mapping problems. A chromosome ci denoted by (7)
other, which makes parallelism complicated. represents a feasible solution for mapping a VN to a substrate
In contrast, there is no dependency among different fea- network. The subscript i indicates the ith element in GA
sible solutions because they are mutually exclusive. Genetic population. A gene gij is a substrate path corresponding to
Algorithm is such an algorithm that applies naturally to a virtual link and has two subscripts. The first subscript i
parallel computing. In general, GA seeks the best solution by indicates its chromosome, and the second subscript j denotes
evaluating and improving multiple feasible solutions through the jth virtual link in the chromosome. Similarly, A node
an evolution process. We propose a parallel GA method that denoted by nijk represents a substrate node ID with three
can be run over many machines in a distributed way. Each subscripts. The first two subscripts indicate its gene, and the
chromosome denotes a feasible solution. Each parallel work- third one denotes its position in the gene. A gene can be
ing machine can run independently and generate descendant denoted by (8) with a variable length dij . Each gene gij can
chromosomes. After all required iterations have been executed be divided into two partial paths as (9): head Hijk and tail
by each machine independently, the best feasible solution will Tijk , where k indicates the index of node in the gene.
be selected among all parallel machines. ci = {gi1 , gi2 , ..., gij , ..., giN } (7)
The proposed parallel structure is shown in Fig. 2. Proce-
gij = {nij1 , ..., nijk , ..., nijdij } (8)
dures such as node mapping and synchronization work are still
working sequentially. We call the procedures running sequen- gij = Hijk , Tijk , ∀k ∈ (0, dij ) (9)
where,
Hijk = nij1 , nij2 , . . . , nijk
crossover operation. However, in this paper, crossover between
a good parent and a good child may produce a better result
Tijk = nij(k+1) , nij(k+2) , . . . , nijdij with high probability.
C. Link Mapping Algirithm c) Crossover: In crossover and mutation, the operations
are based on genes. We denote two parent chromosomes as cs
1) Getting Original Path Pool: Before we conduct our
and cr . s and r indicate the chromosome’s index in current
link mapping process, we need to find some good potential
population. We denote the two new children chromosomes
paths in the substrate network for mapping virtual links. To
from crossover operation as c(M +1) and c(M +2) . The genes
this end, shortest paths based on hop count are certainly
inside parent chromosomes can be denoted as gsj and grj .
more favorable because they tend to consume fewer resources.
Each gene in the chromosome should perform crossover with
For each source-destination pair in the substrate network, we
the counterpart of the other parent chromosome. For each pair
identify K shortest paths as our path pool. Existing K shortest
of genes, we first identify a common node. If there is a node
path algorithm can be readily deployed to build the path pool.
nsju in gsj equal to a node nrjv in grj , where u and v are
This process can be done before any online VN requests arrive.
not the indexes of source or destination node, we denote the
Therefore, we do not count the time for this process as part
node as a common node.
of the time for our online embedding process. Each virtual
When the common node is selected in two genes, the
link has K substrate static paths, hence the original path pool
common node is utilized as an intermediate node. With the
should have K × N paths.
intermediate node as the demarcation point, we swap the
2) Slave Working Procedure: In this procedure, each slave
second parts of the two genes to generate two children genes.
node performs the GA and gets an independent solution.
It is easy to see, children generated in such a way are still
a) Initialization: The purpose of the initialization is
valid paths. The children genes are defined as (11) and (12).
to generate a population of M chromosomes, where each (
Hsju , Trjv for p ∈ (0, 0.5] (11a)
chromosome is a feasible solution for embedding a VN. To g(M +1)j =
Hrjv , Tsju for p ∈ (0.5, 1] (11b)
select a chromosome, we need to select genes that form a (
feasible solution. This is done in two steps. The first step is to Hrjv , Tsju for p ∈ (0, 0.5] (12a)
g(M +2)j =
choose a candidate gene by uniformly selecting a path from Hsju , Trjv for p ∈ (0.5, 1] (12b)
the K shortest paths associated with the mapping of a specific Each pair of parent genes can produce two children genes,
virtual link in the path pool. We use uniform selection instead hence there exist 2N gene combinations for a child chromo-
of another specific order since our proposed algorithm focuses some. However, we only pick two chromosomes based on uni-
on parallel running. form possibility defined as p in (11) and (12) regardless of their
After all candidate genes in a chromosome have been fitness values. There are two reasons for the random selection.
selected, the feasibility of the chromosome should be checked The new chromosome with good fitness value generated in
as described in Section II-B. Then the feasible chromosome crossover may become inferior after mutation. Therefore, a
will be added to the initial population denoted by P . If the can- specific selection criteria in the crossover procedure may not
didate chromosome does not pass the feasibility test, we will work well. The other reason is based on the particularity of a
go back to step 1 to select another candidate and test again. path chromosome. In our GA, when the children chromosomes
This process continues until a feasible chromosome is selected. generate their next generation, they may create the chromo-
P can be described as a matrix shown in Equation (10). somes same as their parents or ancestors. If we always choose
Generally, after initialization, the population P should have the fittest children, the Genetic Algorithm may be trapped in
M chromosomes and each chromosome has N virtual links. loops, and also produce high repetitive rate especially for a
Therefore, the size of P is M × N . parallel Genetic Algorithm. After two children chromosomes
c1
g11 ... g1j ... g1N
have been generated, the population now can be represented
c2
g21
... g2j ... g2N
by (13) that adds two children chromosomes.
.. .. .. .. ..
.
= .
. . .
c1
g11 ... g1j ... g1N
P =
ci gi1 ... gij ... gi
(10) .. .. .. .. ..
. . . . .
. . .. .. ..
.. ..
. . . cs gs1 ... gsj ... gsN
.. .. .. .. ..
cM gM 1 ... gM j ... gM N
. . . . .
P = cr = gr1
... grj ... grN
(13)
b) Selection: Selection operation is to select parent chro-
.
.. .. .. .. ..
. . . .
mosomes from the initial population for the crossover opera-
cM g M 1
... gM j ... gM N
tion. In general, one or several pairs of parent chromosomes cM +1 g(M +1)1 ... g(M +1)j ... g(M +1)N
cM +2 g(M +2)1 ... g(M +2)j ... g(M +2)N
can be chosen from this step. In this paper, we aim to
improve the degree of parallelism, we only choose one-pair In this crossover scheme, if there are two or more than
parents. We perform the selection scheme based on random two common nodes existing, the cross point will be chosen
selection with replacement. In the natural world, crossover randomly with uniform possibility. If there is no common node
in close relatives should be avoided. In general, the parents’ found, the outputs from crossover are supposed to keep the
chromosomes should be removed from the population after parent genes to ensure the whole procedure running normally.
d) Mutation: After crossover, every gene of a child Yn = max{X1 , X2 , ..., Xn } (15)
chromosome undergoes mutation operation with a fixed proba- Sn = X1 + X2 + ... + Xn (16)
bility(mutation rate). If a gene is selected to perform mutation Master procedures have to be performed sequentially. There-
operation, it replaces the partial route between two nodes with fore, the total execution time to embed a VN request can
the shortest path chosen from the path pool to connect the be evaluated by (17) for parallel slave running or (18) for
two mutation nodes. The mutation nodes which are selected sequential slave running.
randomly with uniform possibility inside the gene. As shown Tp = tnm + top + Yn + ts + tm (17)
in (14), if there is no mutation operation, the gene should Ts = tnm + top + Sn + ts + tm (18)
be kept for the next step. If mutation occurs, the alternative
Xi can be considered as a continuous random variable,
path Pwz between mutation node nij(w+1) and nijz will
0 which can be formulated with a continuous probability dis-
update current gene. We use gij denoting the child gene after
tribution. Since all parallel nodes work independently and
mutation.
( perform the same GA procedure, all the execution time of
0
gij if no mutation (14a) parallel working nodes can be considered as independent-
gij =
Hijw , Pwz , Tijz if mutation (14b) identically-distributed variables. According to the numerical
e) Sorting Population and Termination Conditions: Af- results in Section IV, the histogram distribution of Xi can be
ter the new chromosomes have been generated from the acquired in Fig. 3, which obeys Inverse Gaussian distribution.
crossover/mutation operation, they have to go through the For sequential slave process running, the mean time of total
feasibility check. Occasionally, there may exist loops inside slave procedures Sn is supposed to increase linearly over n.
genes[7]. Therefore, refinement check is necessary to detect The expectation of Sn is easily evaluated as (19).
and remove loops inside genes. The chromosome that fails E[Sn ] = nE[Xi ] (19)
the feasibility check will be removed from the population. To evaluate the upper bound of Yn ’s mean value, Cramer-
If both two new chromosomes fail the feasibility check, we Chernoff method is applied, which makes use of the Moment
will go back to crossover operation to generate two different Generating Function of Xi . An Inverse Gaussian random
chromosomes until a feasible solution found. This procedure variable X with parameters µ and λ has Moment Generating
will be stopped when the maximum count is reached or there Function shown in (20). q
2µ2 t
are no different children chromosomes available. µ
M (t) = E[et·X ] = e( λ (1− 1− λ )) for µ, λ > 0 (20)
The population is supposed to be re-sorted by the fitness By Jensen’s inequality,
value after the feasibility and refinement check. Only the
etE[Yn ] ≤ E[et·Yn ] = E[maxi {et·Xi }]
best M (population size) chromosomes are saved to the next n
generation. Generally, the GA algorithm will be terminated
X
≤ E[et·Xi ] = nE[et·Xi ]
when the best chromosome of the population has not been i=1 (21)
q
µ 2µ2 t
changed t times in succession. t is a tuning parameter called log(nM (t)) log(n) λ (1 − 1− λ )
=⇒ E[Yn ] ≤ = +
terminating parameter. The GA algorithm also can stop when t t t
a fixed number of generations reached. Since t, λ and µ are constant values, we can conclude
3) Synchronization and Allocating the VN Request: After that the increasing tendency of parallel running is logarith-
slave nodes finish parallel procedures, all population generated mic. Compared with the linearity of sequential running, our
by slave nodes should be resorted by the fitness value in the proposed distributed parallel algorithm saves much more time
master node. The best chromosome becomes the final solution when the parallel level is larger.
for link mapping. Then the VN request should be allocated
IV. P ERFORMANCE E VALUATION
into the substrate network. After that, the substrate network is
supposed to update its residual resources. A. Comparison Method
4) Execution time of parallel GA: As shown in Fig. 2, In this paper, we compare our GA-R and GA-LP algorithms
we define execution time of each procedure as tnm for node with three other algorithms. GA-R indicates the random paral-
mapping, top for generating original path pool, Xi for the ith lel GA using NLP fitness function, while GA-LP represents the
slave working procedure, ts for Synchronization and tm for random parallel GA using LP fitness function. We use the same
allocating the VN request. simulation setting as previous research[1]. Specifically, we
Slave procedures can be executed independently in parallel, select SP[2] because it is considered the fastest algorithm due
hence the total time for slave procedures is depended on the to its simplicity. R-ViNE and D-ViNE[1] are se.lected because
slowest one as shown in (15). We define n as the parallel they tend to have the best performance and are typically used
level. The n can be tuned according to the tradeoff between as benchmark for comparison. We choose unsplittable link
available computing resource and expected finishing time. mapping in R-ViNE and D-ViNE.
When we evaluate the time saving of our distributed parallel
structure, the time of sequential running for all slave working B. Evaluation Results
procedures is required as a criterion. Equation (16) shows the There are several performance metrics for evaluation pur-
time consuming of sequential slave working procedures. poses in this simulation. We measure the average acceptance
ratio and average remaining bandwidth of the substrate net-
work.
1) Time and parallel level analysis: Time analysis is sim-
ulated only on GA-R since GA-R and GA-LP have a similar
computation complexity. we simulate the GA-R using one
machine that all parallel working node sequentially. For the (a) Average acceptance ratio (b) Average remaining bandwidth
simulation of parallel GA, we implement our algorithm in one Fig. 5: Performance comparison over arrival rates
machine and the parallel processes are executed sequentially.
We collected numerous execution time of parallel working algorithms only try to guess one feasible solution for the
processes, and tried to find the time distribution. As shown in virtual link mapping. Instead of taking time to generate one
Fig. 3, Xi fits Inverse Gaussian distribution with the sum of greedy solution, our algorithms utilize parallel running with
square error 4.19e−5 . GA to consider more feasible solutions with relatively small
time consuming. Besides, we can conclude that our proposed
As described in (17), the total execution time Tp can also
algorithm GA-R using nonlinear fitness function has better
be estimated based on sequential running results. We perform
performance than the proposed algorithm GA-LP using linear
the simulation with different parallel level from 4 to 32. From
fitness. Specifically, GA-R has more acceptance ratio, higher
Fig. 4a, we can inspect that acceptance ratio increases by the
remaining bandwidth than GA-LP.
growth of parallel level and finally acceptance ratio converge
to limit value. Fig. 4b gives the average total execution time V. C ONCLUSION
for one VN request by using different algorithms, where our Existing research in VN embedding problems focuses on
proposed algorithm has a parallel level equals 16. either scalability or optimality. In this paper, we take both
scalability and optimality into account. We proposed a dis-
tributed parallel Genetic Algorithm that has never been used
in online VN link Embedding. The simulation shows that
our GA-R algorithm has higher bandwidth efficiency and
better performance than other previous research. Execution
time, as well as performance on different parallel levels, are
also analyzed in this paper. We evaluate the execution time
model and demonstrate that the execution time complexity is
decreased to O(log(n)) comparing with sequential running
O(n). Besides, we also introduce a nonlinear fitness function,
Fig. 3: Time distribution of Xi which has been shown to improve the link mapping efficiency.
2) Performance Results: The parallel level of both GA-R In future work, we will look into feasible ways to support
and GA-LP is 16 since the performance of GA-R is getting splittable link mapping. If splittable link mapping is indeed
converged after n = 16 as shown in Fig. 4a. Figure 4b shows feasible in real networks, we will further study GA based
that our algorithm with parallel level of 16 can complete the splittable link mapping algorithms as our future task.
task in nearly the same time as the fastest algorithm SP. The R EFERENCES
figures in Fig. 5 show the average values over different arrival [1] Mosharaf Chowdhury, Muntasir Raihan Rahman, and Raouf Boutaba.
rates from 4 to 8 per 100 time units with 95% CI(confidence Vineyard: Virtual network embedding algorithms with coordinated node
interval). These results are generated by averaging over two and link mapping. IEEE/ACM Transactions on Networking (TON),
20(1):206–219, 2012.
different substrate networks with same parameters (described [2] Minlan Yu, Yung Yi, Jennifer Rexford, and Mung Chiang. Rethinking
in simulation settings). virtual network embedding: substrate support for path splitting and
Our algorithms GA-R and GA-LP have more acceptance migration. ACM SIGCOMM Computer Communication Review, 38(2):17–
29, 2008.
ratio with less bandwidth cost as shown in Fig. 5. The [3] Zibo Zhou, Xiaolin Chang, Yang Yang, and Lin Li. Resource-aware
gain comes from more feasible solutions evaluated in our virtual network parallel embedding based on genetic algorithm. In 2016
proposed algorithms. As described before, compared heuristic 17th International Conference on Parallel and Distributed Computing,
Applications and Technologies (PDCAT), pages 81–86. IEEE, 2016.
[4] Peiying Zhang, Haipeng Yao, Maozhen Li, and Yunjie Liu. Virtual
network embedding based on modified genetic algorithm. Peer-to-Peer
Networking and Applications, pages 1–12, 2017.
[5] Changcheng Huang and Jiafeng Zhu. modeling service applications for
optimal parallel embedding. IEEE Transactions on Cloud Computing,
2016.
[6] Georgios S Paschos, Mohammed Amin Abdullah, and Spyridon Vassila-
ras. Network slicing with splittable flows is hard. In 2018 IEEE 29th
Annual International Symposium on Personal, Indoor and Mobile Radio
Communications (PIMRC), pages 1788–1793. IEEE, 2018.
[7] Chang Wook Ahn and Rudrapatna S Ramakrishna. A genetic algorithm
(a) Average acceptance ratio over (b) CPU execution time for shortest path routing problem and the sizing of populations. IEEE
arrival rates over different algorithms transactions on evolutionary computation, 6(6):566–579, 2002.
Fig. 4: Acceptance and execution time performance