Efficient Online Virtual Network Mapping Using Resource Evaluation ...

3 downloads 62 Views 693KB Size Report
Network virtualization is a promising solution that can prevent network ossification by allowing multiple heterogeneous virtual networks (VNs) to cohabit on a ...
J Netw Syst Manage (2012) 20:468–488 DOI 10.1007/s10922-012-9249-x

Efficient Online Virtual Network Mapping Using Resource Evaluation Hao Di • Hongfang Yu • Vishal Anand • Lemin Li Gang Sun • Binhong Dong



Received: 30 June 2011 / Revised: 25 June 2012 / Accepted: 29 June 2012 / Published online: 11 July 2012 Ó Springer Science+Business Media, LLC 2012

Abstract Network virtualization is a promising solution that can prevent network ossification by allowing multiple heterogeneous virtual networks (VNs) to cohabit on a shared substrate network. It provides flexibility and promotes diversity. A key issue that needs to be addressed in network virtualization is allocation of substrate resources for the VNs with respect to their resource requirements and the topologies of the substrate and virtual networks, namely the VN mapping (VNM) problem. Efficient VNM algorithms aim to maximize the number of coexisting VNs, and increase the utilization and revenue obtained from the substrate resources. In this paper, we present an online VNM algorithm (OVNM) that maximizes the number of coexisting VNs leading to good utilization and revenue of the substrate. Using the OVNM algorithm, we estimate the VN mapping and evaluate the associated H. Di  H. Yu (&)  L. Li  G. Sun School of Communication and Information Engineering, University of Electronic Science and Technology of China, Chengdu, Sichuan, China e-mail: [email protected] H. Di e-mail: [email protected] L. Li e-mail: [email protected] G. Sun e-mail: [email protected] V. Anand Department of Computer Science, The College at Brockport, State University of New York, Brockport, NY, USA e-mail: [email protected] B. Dong National Key Laboratory of Science and Technology on Communications, University of Electronic Science and Technology of China, Chengdu, Sichuan, China e-mail: [email protected]

123

J Netw Syst Manage (2012) 20:468–488

469

substrate resources to map the VN within a proper region on the substrate by using the FVN_Sort (first virtual node sorting) function. This improves the probability of a VN mapping success. Furthermore, by mapping the virtual nodes and links in a coordinated fashion, the resource consumption while mapping is minimized. We evaluate the performance of our approach by using simulation, and show that the algorithm has an acceptable run time and leads to a better blocking probability performance, which means more coexisting VNs. Keywords Network virtualization  Virtual network  Online  Virtual network mapping

1 Introduction Network virtualization is a promising solution that can offer more flexibility and prevent Internet ossification [1, 2] without requiring extensive network redesign. Using virtualization, multiple heterogeneous VN architectures can cohabit on a shared physical network substrate (e.g., GENI [3]). Virtualization can be used to run multiple different applications (e.g., operating systems, servers, networking protocols) and also provide customized services suited to the customers’ needs. In this work, we consider the case where VN requests arrive online dynamically. Online VN requests arrive dynamically, and their order and times are not known in advance; the VNs consume node and link network resources and stay for a duration before leaving the substrate. Each VN is a collection of virtual nodes connected together by a set of virtual links to form a virtual topology [4]. Each virtual node is implemented on top of a virtual machine running on a substrate node [5, 6], and each virtual link spans over substrate paths to connect these virtual nodes. Mapping or assigning virtual links and nodes to the substrate links or paths and nodes with resource requirements is the resource allocation problem in network virtualization. Substrate network resources such as computing resources (e.g., CPU and storage resources) on the substrate nodes and bandwidth resources on the substrate links are used by the VNs. These substrate resources must be used efficiently while mapping the virtual nodes and links of the VN so that a large number of VNs can use the substrate network simultaneously. Recently, the work in [7, 8, 10, 11] focused on the online VNM problem. Some researchers aim to maximize the number of coexisting VNs [7, 10, 11]. The revenue generated of the substrate is proportional to the required resources of the accepted VNs [8], and the utilization of the substrate is proportional to the consumed resources of the substrate. Thus, it is important that we can use techniques that maximize the coexistence of a large number of VNs, and leads to better substrate resource utilization and revenue of the substrate. In this study, we focus on maximizing the number of coexisting VNs. The VNM algorithms can be divided into two types, coordinated mapping and separate mapping. Coordinating node mapping and link mapping [7, 12, 13] mean that associated link mapping is taken into account when doing node mapping. This can minimize the consumption of substrate resources to coexist with more VNs. On the other hand, if node mapping

123

470

J Netw Syst Manage (2012) 20:468–488

and link mapping are done in two separate stages [8, 9, 11] the cost of link mapping cannot be controlled and therefore leads to higher mapping costs. In these algorithms, in the process of mapping a VN, the available substrate resources for the unmapped components are not evaluated and may cause inefficient or unreasonable VN mapping, leading to mapping failures. In this paper, we present an online VNM algorithm OVNM to maximize the number of coexisting VNs. In OVNM, node mapping and link mapping are done in a coordinated manner; that is, when mapping a virtual node, the cost and hop count of the connected virtual links are considered. Virtual nodes are mapped close to each other on the substrate. Thus, the VN is mapped within a small(er) region of the substrate, and the resource consumption of link mapping is minimized. The mapping of the first virtual node determines the substrate region of the VN mapping. By mapping the first virtual node efficiently, the probability of mapping success is improved. And the number of the coexisting VNs is maximized in a greedy manner. The reminder of this paper is organized as follows: in Sect 2, we discuss some of the related work. In Section 3, we formulate the VN mapping problem. In Section 4, we describe our online VNM algorithm OVNM. Section 5 describes our simulation environment and presents the details of our simulation results under various circumstances. We conclude the paper in Sect 6.

2 Related Work The work in [14–16] studies problems related to the virtual network mapping problem, but there are no substrate resource constraints that must be satisfied while performing network mapping. Since the virtual network mapping problem has been shown to be NP-hard [4], researchers have focused on developing heuristic algorithms for the VN mapping problem that can be solved in a reasonable time. Existing VNM algorithms can be divided into two types: separating node mapping and link mapping, and coordinated node mapping and link mapping. In the algorithms in [8–11], node mapping and link mapping are done separately. In [8, 11], while doing the node mapping, best effort is used to search for available node mappings. For example, in [8] for a virtual node, the substrate node with the maximum available resources is searched for, or in [11] where the virtual nodes with the most required capacity are mapped onto the substrate node with the least capacity (that will satisfy the demand) sequentially. Based on the mapped virtual nodes in the first phase, the virtual links are mapped onto the underlying substrate paths. In [8], the authors proposed path splitting, wherein one virtual link can be mapped onto multiple underlying paths. It leads to a better by harnessing the small chunks of unused available bandwidths. In [11], in the link mapping phase, the authors search for k paths using the k shortest path algorithm, and then choose the path that needs the minimum number of the resources from these k paths. In [9], the topologies of the VN requests are divided into multiple star (hub-and-spoke) topologies. Each star topology is mapped independently, and finally virtual links between different star topologies are mapped. Thus, although part of the virtual links connected to the hub nodes are mapped with virtual nodes coordinately, the

123

J Netw Syst Manage (2012) 20:468–488

471

other virtual links connecting virtual nodes in different star topologies are not. Thus, this scheme can also be regarded as separate mapping. In [10], the developed D-Vine and R-Vine algorithms are based on a coordinated node and link mapping model. However, the algorithms are computationally expensive and cannot be used to solve large problems, with large size VN requests. Thus, the authors relax the integer constraint in the model and solve the model by using separate node mapping and link mapping phases. However, separating the two phases results in a lack of coordination and inefficient mapping and solutions by the D-Vine and R-Vine. Mapping a virtual link onto a substrate path means that the end nodes of the virtual link must be mapped onto the end nodes of the path. Thus, doing node mapping first and link mapping separately incurs high costs since the number of used hops (i.e., substrate links) cannot be controlled. Furthermore, in the node mapping phase, only the available resources of the adjacent links can be evaluated, rather than the underlying paths, so the VN mapping may fail because of the lack of resources in the link mapping phase. In the algorithms in [7, 12, 13], node mapping and link mapping are coordinated. In [7], the vnmFlib algorithm is a backtracking algorithm based on graph isomorphism. When mapping a virtual node, the algorithm makes sure that there are underlying paths with the predefined hop limit for the virtual links connecting this virtual node to the already mapped virtual node. Since the cost of mapping a VN is controlled by the hop limit, the authors present two extended algorithms, namely, vnmFlib simple and vnmFlib advanced to choose the hop limit. The former chooses the maximal optional hop limit, and the latter tries the hop limit in an interval in the ascending order until finding an available one. Our work in [13] improved the vnmFlib algorithm that leads to satisfying resource consumption and runtime, simultaneously. In [12], the subsets of the substrate nodes that satisfy the resource requirements of the virtual nodes are computed for each virtual node first. Then the virtual links and nodes are mapped based on the shortest path between the nodes in the diverse subsets. Thus, virtual links and their end nodes are mapped simultaneously. For coordinate node mapping and link mapping, the cost of link mapping is taken into account when doing node mapping. Thus, the cost of the VN mapping can be easily minimized. In the algorithms mentioned above, the resources for link mapping are not evaluated in the node mapping phase, which may lead to mapping failure due to the lack of the substrate resources. In each step of the coordinated VNM algorithms, one [7, 13] or two [12] virtual nodes and associated virtual links are mapped. These can be further divided into two types with respect to whether backtracking steps are allowed. In [7, 13], the algorithms allow backtracking steps, when the mapping cannot succeed in one step, backtracking steps are done to remap the components in the latest step. This leads to more mapping possibilities, but incurs substantial iterations. Thus, an iteration upper bound is needed. In each step of the algorithms mentioned above, the mappings of the unmapped virtual nodes and links are not estimated, and the associated available resources are not evaluated. It may lead to mapping failures even with backtracking steps (because of the iteration upper bound). Migrating mapped VNs is introduced in the online VNM algorithms. In [8], after the VNs are mapped, path migration is done periodically to avoid bottleneck links.

123

472

J Netw Syst Manage (2012) 20:468–488

In [17], the authors proposed that the substrate changes periodically, and the affected mapped VNs must be migrated to satisfy the VN requirements again. In the online VNM algorithms, migration can be used to re-optimize the mapping, but VN migration introduces additional costs. In this study, we do not consider VN migration. In this study, we develop the OVNM algorithm that performs coordinated mapping, allowing backtracking steps that can improve the probability of successful mapping by iterating over more possible mappings. When mapping a virtual node, the virtual links connecting it to the mapped ones are mapped simultaneously to minimize mapping costs (resource consumption). If the associated resources are not sufficient, the latest mapped virtual node and associated virtual links are to be remapped. We note that the cost of the link mapping mentioned above is zero when mapping the first virtual node of a VN request onto a substrate node. Thus, mapping the rest or the whole VN based on this first node mapping is shortsighted, and can lead to inefficient high cost mappings. Therefore, the choice of the first node mapping is critical and can affect the overall VN request mapping efficiency. Since the VN can be mapped within a small region of the substrate, based on the substrate node for the first virtual node to be mapped onto, we can easily estimate the total mapping and evaluate the underlying resources for it. Hence, we can map the first virtual node in an efficient manner. This avoids unnecessary backtracking steps and improves the probability of mapping successes with an iteration upper bound, thus allowing more VNs to coexist on a shared substrate.

3 Problem Formulation Before we describe our algorithm, we first give the problem formulation in this section. Substrate We denote a substrate network by the graph NS(VS, ES, CS), in which VS, ES and CS are the sets of substrate nodes, substrate links, and available capacities, respectively. The available computing capacity (CPU) of the substrate node nS [ VS is represented by CSN(nS), and the available bandwidth of the substrate link lS(nSi , nSj ) [ ES (or lS(nSj , nSi ) and lS), of which nSi and nSj are the end nodes, is represented by CSL (lS). The capacities of nodes and links are in the set CS. The unit capacity costs of nS and lS are uN(nS) and uL(lS), respectively. VN request VN requests arrive dynamically without knowledge of future requests. We assume that there is no waiting or a waiting queue for the online VN requests, and they are rejected when the mappings fail. A VN request is denoted by the graph NV(VV, EV, CV), in which VV, EV and CV are the sets of virtual nodes, virtual links and required capacities, respectively. Similar to the substrate, the required capacities of the virtual node nV [ VV and the virtual link lV(nVi , nVj ) [ EV (or lV(nVj , nVi ) and lV) are represented by CVN(nV) and CVL (lV), respectively. The capacities of virtual nodes and links are in the set CV. To map NV onto NS, each virtual node in VV is mapped onto a substrate node in VS, and each virtual link in EV is mapped onto a substrate link in ES or a substrate

123

J Netw Syst Manage (2012) 20:468–488

473

path comprising the links in ES. As explained later, there are constraints for both node mapping and link mapping. Node mapping That the virtual node nV is mapped onto the substrate node nS is represented by the mapping pair (nV, nS), where nV 2 V V and nS 2 V S , and it can also be represented by M(nV) = nS.     nV ! nS : nV ; nS or M nV ¼ nS :

The mapping pair is (nV, nS) (or M(nV) = nS), i.e., the virtual node nV can be mapped onto the substrate node nS. It must satisfy that the available capacity of nS is greater than the required capacity of nV, represented by constraint (1).      ð1Þ CNS M nV  CNV nV ; where 8nV 2 V V Mapping a virtual node nV onto a substrate node nS means that the capacity with the number of CVN(nV) on nS is allocated for nV. The residual capacity of nS is denoted by RSN(nS). After mapping nV onto nS, RSN(nS) is updated as equation (2).         R nS ¼ CNS nS  CNV nV ; nS 2 V S ; nV 2 V V ; M nV ¼ nS ð2Þ Since the constraint (1) must be satisfied, the capacity of CSN(nS) is sufficient. The meaning of CSN(nS) and RSN(nS) is equivalent, so after capacity allocation CSN(nS) should also be updated as equation (3).     CNS nS ¼ R nS ; 8nS 2 V S ð3Þ Let FM be the set of the virtual nodes that are already mapped. In this study, virtual nodes must be mapped onto diverse substrate nodes, represented by constraint (4).     M nVi ¼ M nVj ; iff nVi ¼ nVj ; 8nVi ; nVj 2 V V ð4Þ The cost of mapping nV is defined as:      uN M nV  CNV nV

ð5Þ

Link mapping Virtual links are mapped to the substrate links (which can be represented by the paths comprising one link) or paths. The set of the substrate paths is denoted by P, in which there is one path with one node pair. Let p(nSi , nSj ) (which is the same as p(nSj , nSi )) be the substrate path between the substrate node nSi and nSj . That the virtual link lV(nVi , nVj ) is mapped onto the substrate path p(nSm, nSn) is represented by M(lV) = p(nSm, nSn).       lV ! p nSm ; nSn : M lV ¼ p nSm ; nSn . If the virtual link lV(nVi , nVj ) is mapped onto p(nSm, nSn), it implies M(nVi ) = nSm and M(nVj ) = nSn, or M(nVi ) = nSn and M(nVj ) = nSm. The set of mapped virtual links is denoted by LM.

123

474

J Netw Syst Manage (2012) 20:468–488

The capacity of the path p(nSi , nSj ) is the minimum available capacity of its component links, denoted by Cp(p(nSi , nSj )).    CLS ðlS Þ ð6Þ Cp p nSi ; nSj ¼ min lS 2pðM ðnVi Þ;M ðnVj ÞÞ To map the virtual link lV(nVi , nVj ) onto the path p(M(nVi ), M(nVj )), the capacity of p(M(nVi ), M(nVj )) must be greater than the required capacity of lV(nVi , nVj ), represented by constraint (7).         ð7Þ Cp p nSi ; nSj  CLV lV nVi ; nVj ; 8lV nVi ; nVj 2 EV Similar to node mapping, the residual capacity of the substrate link lS is denoted by RSL(lS). After mapping lV(nVi , nVj ) onto p(M(nVi ), M(nVj )), RSL(lS) is updated as in equation (8), satisfying constraint (7).               RSL lS ¼ CLS lS  CLV lV nVi ; nVj ; lS 2 p M nVi ; M nVj ; lV nVi ; nVj 2 EV ð8Þ Then

CSL(lS)

RSL(lS)

is updated equal to as equation (9).     S S S S CL l ¼ RL l ; 8lS 2 ES p(nSi ,

nSj )

ð9Þ |p(nSi ,

nSj )|.

can be denoted by In this study, The hop of the substrate path the hop limits (for satisfying the QoS requirements) for all the substrate paths are the same, represented by h.         ð10Þ p MðnVi Þ; M nVj   h; 8lV nVi ; nVj 2 EV The unit capacity cost of p(nSi , nSj ) is the sum of the costs of its component links. This is represented by up(p(nSi , nSj )).    X   ð11Þ uP p nSi ; nSj uL l S ¼ lS 2pðnSi ;nSj Þ The cost of mapping the virtual link lV(nVi , nVj ) is defined as:          uP p M nVi ; M nVj  CLV lV nVi ; nVj The total cost of mapping NV onto NS is defined as:    X X        uN M nV  CNV nV þ uP p nVi ; nVj  CLV lV nV 2VV lV ðnVi ;nVj Þ2EV

ð12Þ

ð13Þ

In the process of mapping a VN, if there are some already mapped virtual nodes and links, and the virtual node nVi is to be mapped onto the substrate node nS, formulation (14) represents the mapping cost of the associated virtual links connecting nVi to the mapped ones, in which FM is not empty.       X uP pðM nVj Þ; nS  CLV lV nVi ; nVj ð14Þ V V V V nj 2FM :l ðni ;nj Þ2EV

123

J Netw Syst Manage (2012) 20:468–488

475

The defined costs of node mapping and link mapping can represent the resource consumption of CPU and bandwidth, respectively, especially when the unit costs of substrate nodes and links are the same.

4 The Online VNM Algorithm In this section, we describe OVNM in detail. The OVNM() function is the main function for the OVNM algorithm. The GetSetD() function and the FNV_Sort() function are the two subfunctions of OVNM(). The FNV_Sort() function represents the FNV_Sort algorithm (the sorting algorithm in OVNM), and is one of the most important contributions of this study. The OVNM algorithm performs coordinated mapping and allows backtracking steps as described in the OVNM() function in Sect. 4.2. To avoid long runtime due to substantial backtracking steps, the iteration upper bound is introduced. In each iteration, one virtual node (which is selected in the descending order of the required capacity) and the virtual links connecting it with the already mapped virtual nodes is mapped, and the mappings of these virtual links are based on the mapping of this virtual node. To select the substrate node for the virtual node nV to be mapped onto, the set of alternative mapping pairs for nV [(nV, nS) in which nV can be mapped on nS] is searched for as described in the GetSetD() function in Sect. 4.3. After getting the set, if the virtual node is the first one to be mapped, the pairs are sorted in the set by the FNV_Sort algorithm described in the FNV_Sort() function in Sect. 4.4. Otherwise, they are sorted by the cost of the associated link mapping [formulation (14)]. The first one is selected from the set, and when backtracking similarly, another one is selected sequentially from this set. When all the virtual nodes are mapped (which means all the virtual links are also mapped), the VN mapping succeeds. Otherwise, the mapping fails. In OVNM, our most important contribution is the use of the sorting algorithm FNV_Sort for mapping the first virtual node. As mentioned above, the alternative mapping pairs need to be sorted in the set for efficient mapping. In the process of mapping a VN, if there are some mapped virtual nodes, namely, ones that are not mapping the first virtual node, the pairs for the virtual node are sorted by the cost of the associated link mapping [by formulation (14)]. But the cost of mapping the first virtual node on any substrate nodes is zero. If the alternative mapping pairs for the first virtual node are sorted by the GetSetD() function, it may incur unnecessary iterations and even mapping failure with an iteration upper bound as shown in the example in Sect. 4.1. In FNV_Sort, for the first virtual node, we prefer a feasible candidate substrate node as the center of the region (for the VN mapping) in which the substrate components (nodes and links) are of sufficient capacities so that the subsequent mappings of the VN can be successful with a higher probability. To evaluate the associated resources for the VN mapping in the region, we need to estimate the VN mapping (region) first. Since the VN is mapped in a small region by formulation (14), the region can be estimated. For an alternative mapping pair of the first virtual

123

476

J Netw Syst Manage (2012) 20:468–488

node, the mappings of the connecting virtual links can be easily estimated. This is because the first virtual node is the end node of these virtual links, thus one end node of the underlying paths is known. For the virtual links not connecting the first virtual node, the substrate node in the observed pair may be the intermediate node of their corresponding underlying paths, and the bandwidth capacities close to the substrate nodes should be sufficient for these unconnected virtual nodes. Thus, we also search for the underlying paths with a large capacity between the first virtual node and the unconnected ones. For an alternative mapping pair, we search for |VV| - 1 paths, with relatively large capacities, connecting the substrate node component, and the pair with greater path capacities is selected with higher priority. This leads to VN being mapped within a region of sufficient capacities, thus avoiding unnecessary iterations and improving the probability of mapping success with the iteration upper bound. 4.1 An Example In explaining how substantial unnecessary iterations are incurred due to the first mapping, we explain the inefficient first node mapping using an example. As shown in Fig. 1, a VN is requested to be mapped onto a substrate. Figure 1a shows a physical substrate network with 4 computing substrate nodes A through D. We assume the cost of resources on the nodes and links are the same and equal to one unit. The values in the hexagons close to the nodes are the available computing capacities, and the values in the rectangles close to the links are the available bandwidth capacities. Figure 1b shows a VN request with 3 virtual nodes a, b, and c. Similar to the substrate network, values in the hexagons and rectangles are the required capacities of the virtual nodes and virtual links, respectively. For simplicity we assume the maximum hop limit h is 1. Since the required capacity of the virtual node a is the maximum, it is the first virtual node that is chosen to be mapped. The set of alternative mapping pairs is {{a} 9 {A,B,C,D}}. Mapping the virtual node a onto any substrate node in {A,B,C,D} is equivalent. We assume that the virtual node a is mapped onto A (then b is mapped onto C, and there is no available mapping for c). However, if the virtual

Fig. 1 Example for explaining first virtual node mapping

8

8

A 8

3

8

3

C

a 5

5

8

c

b B 8

D 8

(a) Substrate network

123

8

2

5

(b) VN request

1

J Netw Syst Manage (2012) 20:468–488

477

node a is mapped onto A, there is no possible mappings for the VN request, so subsequently, several backtracking steps are required to remap a. To remap a, more than 5 iterations are needed while the VN can be mapped in 3 (or 4) iterations (by FVN_Sort). If the iteration upper bound is 5, the VN request is rejected. In the example, mapping a onto A incurs unnecessary iterations that leads to mapping failure. Since the number of iterations is bounded by a given number, the whole search tree cannot be traversed. When mapping a VN, unnecessary iterations are incurred by the lack of available resource estimations for the unmapped components. Due to the unnecessary iterations long runtimes are incurred even when a mapping cannot be finished within the iteration bound, especially when searching deep into the search tree. Thus, VNs should be mapped in an efficient manner to avoid unnecessary iterations. We adopt the sorting algorithm FNV_Sort in Sect. 4.4 for mapping the first virtual node to address this problem. 4.2 The OVNM() Function The OVNM() function searches for the mapping of the VN. The set of all the virtual links comprises the subsets of virtual links associated with each virtual node. The function maps the virtual node and its associated virtual links, simultaneously. Thus, implying that if all the virtual nodes are successfully mapped, then the mapping of the VN is also accomplished (line 3). The number of the mapped virtual nodes is denoted as jFM j. In each iteration, the algorithm maps or remaps one virtual node and the associated virtual links that connect it with the mapped virtual nodes. If there are no alternative mapping pairs (line 18), the mappings of the latest mapped components are removed from the substrate (lines 20–22) and remapped (lines 18–31). Otherwise, the mappings are done with respect to the first selected mapping pair (lines 24–30), and the alternative mapping pairs for the subsequent virtual node are searched for and sorted (lines 8–16). Since the alternative mapping pairs for a virtual node are computed based on the mapped ones, if the already mapped virtual nodes are remapped, the mapping pairs also have to be searched for again. If there is no upper bound on the number of iterations in OVNM, then in the worst case, the V jV  Qj  S number of iterations is jV  ij . Lines 4–6 give a boundary on the number of i¼1

allowed iterations. If there is no backtracking in the latest iteration, then another virtual node is chosen to be mapped. The node chosen is selected as the one with the maximal required capacity among the unmapped virtual nodes that are connected to the mapped ones (line 8). The alternative mapping pairs for this chosen node are searched for by the GetSetD() function (line 9). If it is the first virtual node (line 12), the pairs in the set are sorted by the function FNV_Sort() (line 13), otherwise, line 10. This means that there are some mapped virtual nodes where the pairs are sorted by formulation (14) (line 11). Lines 28–30 implement the mapping of the virtual

123

478

J Netw Syst Manage (2012) 20:468–488

node and its associated virtual links. Also, the constraints of node mapping and link mapping are checked in the GetSetD() function, and the associated link mappings are updated in P. Algorithm1:OVNM(NS(VS, ES, CS), NV(VV, EV, CV)) // map NV(VV, EV, CV) onto NS(VS, ES, CS) 1: Counter = 0, FM = ∅ , P = ∅ 2: IfBacktrack = false 3: while |FM| ≠ | VV | do 4: if Counter > iteration upper bound then 5: The mapping fails 6: end if 7: if IfBacktrack == false then

CNV (niV ) // n|VFM | is the |FM|th vitual node to be mapped

8:

n|VFM | =

9:

D | F M | = GetSetD( n|FM | , D | F M | , FM , P, NS(VS, ES), NV(VV, EV))

argmax niV ∉FM ,nVj ∈FM ,lV (niV ,nVj )∈EV

V

// D | F

M

|

is the set of mapping pairs for

n|VFM | , and the substrate paths of the

associated virtual links for the mapping pairs are found and recorded in P if |FM| ≠ 0 then Sort mapping pairs in D | F

10: 11: 12: 13: 14: 15 16: 17: 18:

M

|

in the ascending order by formulation (14)

else // the first virtual node to be mapped if FNV_Sort( D0 , NS(VS, ES), NV(VV, EV)) fails then The mapping fails end if end if end if if D | F | is empty then M

19:

IfBacktrack = true

20:

Remove the mapping of

n|VFM |−1 and { lV (n|VFM |−1, nV ) ∈ EV | nV

∈ FM }

// backtracking: remove the last mapped virtual node and associated virtual links V

FM = FM – { n|FM |−1 }

21: 22: 23:

update P and CS else

24:

IfBacktrack = false

25:

Get

(n|VFM | , nS ) ∈ D|FM | sequentially from V |FM |

D | F M | = D | F M | -{ (n

26 27:

counter++

28:

map

n|VFM | onto

D|FM |

S

,n ) } V

n S and map { l

(n|VFM | , nV ) ∈ EV | nV

∈ FM } onto the

paths in P V

FM = FM + { n|FM | }

29: 30: 31: 32:

update CS end if end while

In the OVNM algorithm, node mapping and link mapping are coordinated, and backtracking steps are allowed. Backtracking steps are done to try more mapping

123

J Netw Syst Manage (2012) 20:468–488

479

possibilities. When not mapping the first virtual node, the cost of link mapping is minimized by formulation (14), trying to minimize the total cost of the VN mapping. When mapping the first virtual node, the VN is to be mapped within a proper region on the substrate. This can avoid unnecessary iterations and improve the probability of mapping success. The OVNM algorithm aims to maximize the number of coexisting VNs in a greedy manner. If the substrate resources are sufficient enough to find alternative mapping pairs by the GetSetD() function in each iteration, no backtracking is incurred. On the contrary, the lack of substrate resources results in backtracking, and the number of backtracking steps depends on the available substrate resources. Thus, a smaller iteration upper bound makes the mappings of VN requests failed more often when the substrate resources are not sufficient. Also, if the iteration upper bound is too large, a large number of backtracking steps are to be done when the mapping is failed.

4.3 The GetSetD() Function The GetSetD() function searches for the set of alternative mapping pairs for the given virtual node and the underlying paths of their associated virtual links, while satisfying the constraints. All the alternative mapping pairs are searched for in the function. To be an alternative mapping pair, in addition to satisfying the constraint (1) for the substrate node component (line 5), the underlying paths for the virtual links connecting this unmapped virtual node with the mapped ones must satisfy the constraint (7) and constraint (10) (line 7). The paths are between the substrate node in the pair and the mapped ones. Using the Dijkstra algorithm (line 7) the shortest paths (with minimal hop) are searched for while satisfying the constraints. To improve the probability of finding the paths, the associated virtual links are sorted in the descending order of the required capacity (line 4). The substrate resources should not be consumed in this function, but they are updated in the process of searching for multiple paths (line 9) and thus, they must be recovered for the new computation for a set of paths or at the end of the function (line 19).

V

Algorithm2 GetSetD( n|FM | , D | F | , FM , P, NS(VS, ES, CS), NV(VV, EV, CV)) M

// find the set of mapping pairs D | F paths into P

1:

D | F M | = ∅ , L= ∅ , C =

M

|

for

n|VFM | , and record the associated substrate



2:

record { C (l ) | l ∈ E S } in the set C

3:

put { l

4:

sort lV ∈ L in the descending order of CLV (l V ) in L

5:

for all n S ∈ V S not mapped and satisfying

S L

V

S

S

(n|VFM | , nV ) ∈ EV | nV

∈ FM } in the set L

CNS (nS ) ≥ CNV (n|VFM | ) do

123

480

J Netw Syst Manage (2012) 20:468–488

6: 7: 8: 9: 10:

for all lV ∈ L do if find the shortest path p for l V while satisfying constraint (7) and (10) then IsAvailable = true Update { C LS (l S ) | l S ∈ E S } else

11: 12: 13: 14: 15:

IsAvailable = false break end if end for if IsAvailable == true then

16: 17: 18: 19: 20:

put

(n|VFM | , nS ) into

D|FM |

put the substrate paths p for lV ∈ L into P end if restore { C LS (l S ) | l S ∈ E S } according to C end for

In the GetSetD() function, the constraints are already satisfied, thus the alternative mapping pair is not needed to be checked again in the OVNM() function.

4.4 The FVN_Sort() Function In the FVN_Sort() function, the alternative mapping pairs for the first virtual node are sorted in the set to map the VN within a region of sufficient capacities on the substrate. The function sets the weight of all the substrate links as in line 3 below, and searches for the minimal weight sum paths between all the node pairs using the Dijkstra algorithm (lines 5–8). A smaller link weight guides the virtual link path to choose substrate links with a larger available capacity. This weight assignment is used for load balancing. The paths are sorted in the ascending order of the weight sum (line 9). For an alternative mapping pair, from the sorted path set, we search for |VV| - 1 paths with minimal weight sums and record their sums. The paths must satisfy the constraint that the substrate node component is their end node, and the available capacities of the other end nodes must be greater than the minimal required capacity among all the virtual nodes (line 11). For any alternative mapping pair, there may be less than |VV| - 1 paths connecting the other substrate nodes (line 17). This is because there are not enough substrate nodes with available capacities for all the |VV| virtual nodes and the VN mapping cannot be accomplished (line 18). The alternative mapping pairs are sorted in the ascending order of the formulation on line 21, rather than the sum of available path capacities. Thus, there may be a path with low capacity and other paths with high capacity as a complement for one alternative mapping pair. The formulation on line 21 leads to selecting the alternative mapping pair for which the capacities of all the paths are not small.

123

J Netw Syst Manage (2012) 20:468–488

481

Algorithm3: FVN_Sort( D0 , NS(VS, ES, CS), NV(VV, EV, CV)) // sort the mapping pairs in D0 for the first virtual node to be mapped 1: 2:

A = ∅ , R (n S ) = ∅ ( ∀ n S ∈ V S ) for all l S ∈ E S do

3: 4: 5:

w( l S ) = 1/ ( C LS ( l S )) 2 end for for all { ( n iS , n Sj ) | ∀ n iS ∈ V S , ∀ n Sj ∈ V S , n iS ≠ n Sj } do

6: 7: 8: 9: 10: 11:

find the path p for ( n iS , n Sj ) while minimizing c(p) =

∑ 1/ w(l

S 2

)

l S ∈p

put p into the set A end for sort p ∈ A in the ascending order of c(p) in A for all ( n 0V , n S ) ∈ D 0 do for { p ( n iS , n Sj ) ∈ A | C NS ( n Sj )

≥ min CNV (nV ) , n nV ∈VV

S i

= n S , or C NS ( n iS ) ≥

min CNV (nV ) , n Sj = n S } do

nV ∈VV

13: 14: 15: 16: 17: 18: 19: 20:

put p ( n iS , n Sj ) into R ( n S ) if | R ( n S ) |== |VV| -1 then break end if end for if | R ( n S ) | < |VV| -1 then VN mapping unavailable end if end for

21:

sort ( n 0V , n S ) ∈ D 0 in the ascending order of

12:

∑ c( p)

p∈R(nS )

in D0

By mapping the first virtual node on the center of the region with sufficient substrate capacities with high priority, the FNV_Sort algorithm can avoid unnecessary iterations in OVNM and improve the probability of mapping success. In the example in Fig. 1, by using FVN_Sort, virtual node a is mapped onto D (or C) in the first iteration. If a is mapped on D, then b is mapped on B and c is mapped on C (or b is mapped on C and c is mapped on C). Thus, the complete mapping is achieved in three iterations. In the worst case, if a is mapped on C, and b is mapped on A, then there is a backtracking step and the mapping is achieved in four iterations.

5 Simulation Results In this section, we describe our simulation environment and analyze the results. 5.1 Simulation Environment We use the 27 node England network topology in our simulations, and assume that a VN node may be mapped onto any of the 27 substrate nodes. The total capacities of

123

482

J Netw Syst Manage (2012) 20:468–488

substrate nodes and links are 400 and 1,200, respectively. We assume unit costs for the substrate nodes and links. The VN requests arrive dynamically, their arrivals follow an exponential distribution of k, and their durations follow an exponential distribution of 1/l. The simulation ends when 1,000 VNs arrive, and we record the results after the arrival of 100 VNs. Network load is measured by k/l(Erlang). For each VN request, virtual node pairs are randomly connected by a virtual link with a probability 0.5. The capacity of virtual nodes and links both vary according to a uniform distribution between 1 and 10. We assume that the number of virtual nodes in a VN request varies between 4 and 18, and the hop limit h is 8. We compare the proposed OVNM algorithm with three other algorithms; namely, the improved-vnmFlib [13], vnmFlib simple [7] and vnmFlib advanced [7], which also perform coordinated node and link mapping, and allow backtracking. The objectives of these three algorithms are also to minimize the resource consumption and to maximize the coexistence of as many VNs as possible. During our comparison we use the same iteration upper bounds for all of the algorithms. Especially, in the case of vnmFlib advanced, which tries to map the VN several times with different (increasing) hop limit, the iteration upper bound is set for each hop limit. We use the blocking probability as a measure of the number of coexisting VNs achieved by the algorithms. We compare the algorithms under different network load conditions when the iteration upper bound is 100 leading to a better blocking probability performance as shown in Fig. 2. In order to observe the impact of different iteration upper bounds on the performances of different algorithms, we compare the four algorithms with different iteration upper bounds when the network load is 50 Erlang. Runtimes are also recorded during our simulation experiments. Since the difference between the runtime of failed mappings and that of successful mappings is substantial, the average runtimes of failed mappings and that of successful mappings are recorded appropriately.

5.2 Simulation Results Figure 2 shows that the blocking probability of the algorithms is not proportional to the iteration upper bound. The probability of successfully mapping a single VN is proportional to the iteration upper bound. But in the online environment, VN requests arrive dynamically. Since a large number of iterations for mapping a VN means that the substrate resources are critical for the VN request, rejecting the request may actually increase the probability of successfully mapping the subsequent VNs. When the upper bound is 10,000, the blocking probability is reduced and mapping a VN in a greedy manner enables coexistence of more VNs. As shown in Fig. 2, the blocking probability of OVNM is the best, regardless of the increase to the iteration upper bound.

123

J Netw Syst Manage (2012) 20:468–488

483

0.40

Blocking probability

0.35

Improved-vnmFlib vnmFlib simple vnmFlib advanced OVNM

0.30

0.25

0.20

0.15 100

500

1000

5000

10000

Iteration upper bound Fig. 2 Blocking probability of improved-vnmFlib, vnmFlib simple, vnmFlib advanced and OVNM with various iteration upper bounds

60 Improved-vnmFlib vnmFlib simple vnmFlib advanced OVNM

The average runtime (s)

50

40

30

20

10

0 100

500

1000

5000

10000

Iteration upper bound Fig. 3 The average runtime of failed mappings of improved-vnmFlib, vnmFlib simple, vnmFlib advanced and OVNM with iteration upper bound

Figure 3 shows that the average runtime of failed mappings is proportional to the iteration upper bound. This is because in most cases the upper bound dictates how much backtracking and how many computations are allowed. Thus the runtime increases with the increasing of the bound.

123

484

J Netw Syst Manage (2012) 20:468–488 2.0 1.8

Improved-vnmFlib vnmFlib simple vnmFlib advanced OVNM

The average runtime (s)

1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 100

500

1000

5000

10000

Iteration upper bound Fig. 4 The average runtime of successful mappings of improved-vnmFlib, vnmFlib simple, vnmFlib advanced and OVNM with different iteration upper bound

Figure 4 shows that the average runtime of successful mappings is also proportional to the iteration upper bound. We note that the runtimes of OVNM, improved-vnmFlib and vnmFlib simple, increase minimally. This is because the number of iterations for successful mapping has no relationship with iteration upper bound. The increase in runtime is due to the runtime of mapping the VNs that cannot be mapped with lower iteration upper bound. The runtime of vnmFlib advanced algorithm increases much faster compared to the other algorithms. This is because the hop limit tried is from 1 to 8 until successful mapping of the VN is achieved, and many VNs cannot be mapped successfully with a small hop limit. Figures 3 and 4 also show that the runtime of OVNM is close to that of improvedvnmFlib and vnmFlib simple. The runtime of OVNM is acceptable. Figure 5 shows tha thet blocking probability of the algorithms deteriorates with the increase of the network load, and the performance of OVNM is the best. This implies that OVNM can maximize the coexistence of a maximum number of VNs. The blocking probability of improved-vnmFlib and vnmFlib advanced is close, and that of vnmFlib is the worst. The relationship is proportional to the resource consumption (which can be seen in Fig. 3 in [13]). The relationship demonstrates that low resource consumption means the substrate resources are utilized efficiently, which leads more VNs to cohabit on the shared substrate. Figures 6 and 7 show that the average runtime of successful mappings or that of failed mappings is not sensitive to the network load. It is because, the runtime of most of the failed mappings depends on the iteration upper bound, and for successful mapping the number of iterations depends on the number of remaining substrate resources, which is affected by the mapped VNs rather than network load. As shown in Figs. 6 and 7, the average runtime of successful mappings of the algorithms is much shorter than that of the failed mappings. This is because that

123

J Netw Syst Manage (2012) 20:468–488

485

0.50 Improved-vnmFlib vnmFlib simple vnmFlib advanced OVNM

0.45

Blocking probability

0.40 0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00 20

30

40

50

60

Network load (Erlang) Fig. 5 Blocking probability of improved-vnmFlib, vnmFlib simple, vnmFlib advanced and OVNM with different network loads

The average runtime (s)

0.6

Improved-vnmFlib vnmFlib simple vnmFlib advanced OVNM

0.5

0.4

0.3

0.2

0.1 20

30

40

50

60

Network load(Erlang) Fig. 6 The average runtime of failed mappings of improved-vnmFlib, vnmFlib simple, vnmFlib advanced and OVNM with different network loads

mapping failure always means the number of the iteration is the iteration upper bound that is larger than the number of iterations for successful mappings. Figures 6 and 7 also show that the average runtime of successful mappings and that of failed mappings of the four algorithms is in the same order of magnitude and shorter than 1 s. It demonstrates that the runtime of OVNM is acceptable when the iteration bound is 100.

123

486

J Netw Syst Manage (2012) 20:468–488 0.10

The average runtime (s)

0.09 0.08 0.07 0.06 0.05 Improved-vnmFlib vnmFlib simple vnmFlib advanced OVNM

0.04 0.03 0.02 20

30

40

50

60

Network load (Erlang) Fig. 7 The average runtime of successful mappings of improved-vnmFlib, vnmFlib simple, vnmFlib advanced and OVNM with different network loads

6 Conclusion As virtualization becomes popular, the problem of efficient virtual network mapping becomes increasingly important. In this paper, we present an online virtual network mapping algorithm OVNM. In OVNM, we minimize the resource consumption of link mapping by coordinating node mapping and link mapping. This leads to more VNs coexisting on a share substrate. OVNM evaluates the substrate resources for the total VN mapping when mapping the first virtual node. This avoids unnecessary backtracking steps and improves the probability of successful mapping. Through detailed simulations we show that the OVNM algorithm improves the number of coexisting VNs, i.e., minimizes VN blocking, while having small run times. In our future work we will study techniques for providing survivable virtual network mapping that can survive substrate network failures such as the failure of substrate links and nodes. In addition to providing virtual network survivability, we will also consider making efficient use of network resources by using techniques that allow sharing of bandwidth and node resources. Acknowledgments This research was partially supported by Natural Science Foundation of China grant (No.60,872,032, 60,972,030 and 61,001,084), Sichuan Youth Science and Technology Fund (No.2012JQ0020) Program for New Century Excellent Talents in University (No.NCET-11-0058), and the Fundamental Research Funds for the Central Universities (ZYGX2010J002, ZYGX2010J009). The research of Dr. Vishal Anand is supported in part by the Scholarly Incentive Grant at the College at Brockport, SUNY.

123

J Netw Syst Manage (2012) 20:468–488

487

References 1. Turner, J.S., Taylor, D.E.: Diversifying the Internet, In: Proceedings of the Global Telecommunications Conference, pp. 755–760 (2004) 2. Anderson, T., Peterson, L., Shenker, S., Turner, J.: Overcoming the internet impasse through virtualization. IEEE Comput. 38(4), 34–41 (2005) 3. GENI http://www.geni.net/ 4. Chowdhury, N.M.M.K., Boutaba, R.: Network virtualization: State of the art and research challenges. Commun. Mag. 47(7), 20–26 (2009) 5. Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., Warfield, A.: Xen and the art of virtualization. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP19), pp. 164–177 (2003) 6. Rosenblum, M., Garfinkel, T.: Virtual machine monitors: Current technology and future trends. IEEE Comput. 38(5), 39–47 (2005) 7. Lischka, J., Karl, H.: A virtual network mapping algorithm based on subgraph isomorphism detection. In: Proceedings of the 1st ACM Workshop on Virtualized Infrastructure Systems and Architectures, pp. 81–88. (2009) 8. Yu, M., Yi, Y., Rexford, J., Chiang, M.: Rethinking virtual network embedding: Substrate support for path splitting and migration. ACM SIGCOMM Comput. Commun. Rev. 38(2), 17–29 (2008) 9. Houidi, I., Louati, W., Zeghlache, D.: A distributed virtual network mapping algorithm. In: Proceedings of the International Conference on Communications (ICC), pp. 5634–5640 (2008) 10. Chowdhury, N.M.M.K., Rahman, M.R., Boutaba, R.: Virtual network embedding with coordinated node and link mapping. In: Proceedings of IEEE INFOCOM, pp. 783–791 (2009) 11. Razzaq, A., Rathore, M. S.: An approach towards resource efficient virtual network embedding. In: Proceedings of the 2nd International Conference on Evolving Internet, pp. 68–73 (2010) 12. Zhang, S., Qiu, X.: A novel virtual network mapping algorithm for cost minimizing, cyber journals. J select Areas Telecommun, pp. 1–9 (2011) 13. Di, H., Li, L., Anand, V., Yu, H., Sun, G.: Cost efficient virtual infrastructure mapping using subgraph isomorphism. In: Proceedings of the Communications and Photonics Conference and Exhibition (ACP), pp. 533–534 (2010) 14. Kariv, O., Hakimi, S.L.: An algorithmic approach to network location problems. II: The p-medians. SIAM J. Appl. Math. 37(3), 539–560 (1969) 15. Kershenbaum, A., Kermani, P., Grover, G.: MENTOR: An algorithm for mesh network topological optimization and routing. IEEE Trans. Commun. 39(4), 503–513 (1991) 16. Duffield, N., Goyal, P., Greenberg, A.: A flexible model for resource management in virtual private networks. In: Proceedings of ACM SIGCOMM, pp. 251–262 (1998) 17. Cai, Z., Liu, F., Xiao, N.: Virtual network embedding for evolving networks. In: Proceedings of IEEE GLOBECOM, pp. 1–5 (2010)

Author Biographies Hao Di is a Ph.D. candidate and a research group member in University of Electronic Science and Technology of China. He received his B.S. degree and M.S. degree in Communication and Information Engineering in 2006 and 2009 from University of Electronic Science and Technology of China, respectively. His research interests include next generation network. Hongfang Yu received her B.S. degree in Electrical Engineering in 1996 from Xidian University, her M.S. degree and Ph.D. degree in Communication and Information Engineering in 1999 and 2006 from University of Electronic Science and Technology of China, respectively. Her research interests include network survivability and next generation Internet, cloud computing etc. Vishal Anand is an associate professor at The College at Brockport, SUNY. He received his Ph.D. in Computer Science and Engineering from the University at Buffalo (UB), SUNY in 2003. He is the recipient of the Visionary Innovator Award and the Rising Star Award from UB and SUNY. His research interests are in the areas of wired and wireless computer communication networks including cloud and grid computing.

123

488

J Netw Syst Manage (2012) 20:468–488

Lemin Li graduated from Jiaotong University, Shanghai, China in 1952, majoring in electrical engineering. From 1952 to 1956 he was with the Department of Electrical Communications at Jiaotong University. Since 1956 he has been with Chengdu Institute of Radio Engineering (now the University of Electronic Science and Technology of China). His present research work is in the area of communication networks including broadband networks and wireless networks. Dong Binhong received her Ph.D. in the National Key Laboratory of Science and Technology on Communications from University of Electronic Science and Technology of China in 2010. Her major research interests are mobile communication, frequency hopping techniques, etc. She has often worked as a technical reviewer for journals and conferences.

123