The Computer Journal Advance Access published January 14, 2015 c The British Computer Society 2015. All rights reserved. For Permissions, please email:
[email protected] doi:10.1093/comjnl/bxu154
Exact Multi-Objective Virtual Network Embedding in Cloud Environments Ines Houidi1 , Wajdi Louati1,2,∗ and Djamal Zeghlache2 1 RedCAD Lab, National Engineering School of Sfax, Sfax University, Tunisia 2 Institut Mines Telecom, Telecom SudParis and UMR5157 of CNRS, Evry, France ∗Corresponding author:
[email protected]
Virtual networks (VNs) are considered today as a critical IT resource that connects distributed and virtualized Cloud services and components like servers, applications and storage. Network virtualization allows traffic isolation between different tenants, security, efficient migration of virtual machines and reduced cloud service management complexity. One of the goals of this work is to develop a multi-objective VN embedding algorithm for optimal placement taking into account constraints such as power consumption, availability and load balancing. Adaptive provisioning is also required to maintain VNs in cloud environments and deal with user mobility, resource reoptimization and to respond to anomalies, faults and evolving demands. An exact adaptive faulttolerant embedding algorithm to cope with node and link failures in cloud networks is also proposed. The embedding problem is formulated and solved as a mixed integer program. Performance of the proposed algorithms is reported. Keywords: cloud computing; network virtualization; VN placement; linear programming Received 7 October 2013; revised 19 October 2014 Handling editor: Mohamed Jmaiel
1.
INTRODUCTION
Cloud computing is a large scale distributed model for providing on demand IT resources like compute, storage, networks and applications as a service through data centers and via high speed networks. Cloud computing [1] relies on server and storage virtualization technologies to make better use of the server’s capacity and to ensure higher flexibility and availability. Networking in data centers, however, is widely recognized as a barrier to achieve the promise of cloud computing. Using physical networks to connect cloud resources does not allow full traffic isolation, scalability, security and flexible cloud service deployment. Network virtualization (NV) has recently received some attention [2–4] to design diversified Internet architectures. In the cloud computing paradigm, NV represents today a promising way to deliver lower cost, higher scalability and reduced complexity management for cloud providers and customers. Just as server virtualization, it decouples network services from the underlying physical network hardware while ensuring traffic isolation and full control of the data transiting to the cloud. NV provides separate logical networking environments, called virtual networks (VNs), over
a shared physical (data center) network. Each VN is seen as a group of virtual nodes interconnected via dedicated virtual links. In cloud infrastructures, VNs are offered as a service (VNaaS) to interconnect distributed cloud components and resources to support Cloud-based services for different customers. Consequently, the cloud service request can be abstracted as a VN request where VN nodes represent virtual machines and VN links represent cloud infrastructure links (e.g. VLAN). VN provisioning is typically achieved via a cloud management system (like OpenStack, OpenNebula, CloudStack . . .) using software defined network controllers like Openflow, OpenStack Neutron and underlying networking such as OpenvSwitch [5]. The cloud manager relies on optimization algorithms to efficiently allocate resources from the underlying cloud infrastructure to VN requests. This optimization problem is commonly known as VN embedding (VNE)1 [6]. Most of the proposed algorithms try to solve the VNE problem while satisfying some objectives like reducing cost, load 1 The words ‘embedding’, ‘placement’ and ‘mapping’ are used interchangeably throughout this paper
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
2
I. Houidi et al.
balancing (LB), energy saving (ES), survivability and availability. The optimization objectives, however, have been considered separately. Even multi-objective optimization proposals have prioritized or emphasized some constraints to reduce complexity [7, 8]. The main objective of this work is to develop a multiobjective VNE algorithm, based on a mixed integer program (MIP) formulation, to determine the optimal VN placement. The VNE algorithm considers various objectives and constraints including power consumption, availability and LB without any prioritization of objectives or constraints. An optimal initial VNE is not sufficient to maintain VNs running in best conditions. Once allocated, VNs will be subject to dynamic variations due to changes in cloud services demands, user mobility, traffic loads, resource elasticity, node migration, physical/virtual resource failures and so on. These changes require dynamic VN node and link re-allocation and assignment. A fault-tolerant algorithm for VN survivability to cope with virtual node and link failures in cloud environments is also proposed. For this purpose, we propose a modified version of the initial embedding MIP that integrates the initial embedding information and resources assigned to the original VN request that present performance degradations. This works aims at exact solutions in order to provide a baseline for benchmarking and evaluation of heuristic multi-objective VNE algorithms. Section 2 of this paper provides the related work in VNE. Section 3 presents a VN provisioning mathematical model and Section 4 an exact VNE solution using constraints to improve convergence times and linear programming tools. Section 5 provides an exact adaptive VNE solution to deal with virtual node and link failures or degradations. Performance results are reported in Section 6.
2.
RELATED WORK
The VNE problem represents today the main resource allocation challenge in virtualized cloud infrastructures. Several studies have proposed optimal VN allocation algorithms with constraints (QoS, resilience, cost, revenue . . .) [6] while satisfying economical profit [9–14], energy-efficiency [15, 16], survivability [17–21] and quality of services [22] objectives. Exact- and heuristic-based solutions are proposed to achieve VNE. Authors in [9, 11–14] proposed heuristic-based solutions to find an acceptable near-optimal embedding within reasonable time. In [11, 12, 14], authors proposed heuristic greedy algorithms to maintain low and balanced stress among all substrate nodes and links during the VN assignment process. The aim of such greedy algorithms is to assign virtual nodes to substrate nodes with maximum available resources. However, the
proposed VN mapping algorithms are carried out in a centralized manner. A central coordinator is required to maintain global substrate information. In previous work [9], a distributed embedding algorithm simultaneously assigns virtual nodes and links to a shared substrate without any centralized coordinator. This distributed greedy algorithm is developed for large scale networks to deal with substrate node failures as a special case of dynamic variation to which VNE must react while VNs are active and running. In [13], authors aim at ensuring coordinated node and link mappings by formulating the VNE problem as an MIP. The node mapping is achieved to facilitate the link mapping in the subsequent phase. The authors also mentioned that solving simultaneous node and link embedding (in one phase) using an MIP formulation is practically infeasible and proposed to relax the integer constraints to obtain a linear program. Deterministic and randomized rounding techniques are used to ensure better correlation between node and link mapping phases. In our previous work [10], an exact embedding algorithm that enables optimal and simultaneous node and link mapping increases the acceptance ratio of VN requests while decreasing the provisioning cost for providers. The proposed algorithm solves the on line VNE problem using an exact mathematical formulation to simultaneously assign nodes and links in one phase. Authors in [16] proposed an MIP solution to resolve the energy aware embedding problem by consolidating resources. The main goal is to minimize the number of switched on nodes and links after VN mapping. Their proposed solution, however, does not consider the embedding cost and does not ensure LB. To solve the problem, authors in [15] proposed an exact solution that reduces energy consumption while minimizing the embedding cost and ensuring LB. In real cloud environments, VNs will be subject to dynamic changes and have to deal with node and link failures. Adaptive and survivable embedding algorithms are proposed in [17–21]. For instance, in [19–21], the authors proposed heuristic algorithms to deal with link failures where the objective is to minimize the embedding cost. In [18], three types of failures are considered: virtual node failure, physical node failure and physical link failure. Two heuristic algorithms (faulttolerant embedding and resource re-optimization algorithms) are proposed to repair resource failures and dynamically optimize the substrate networks. A distributed VN nodes and links migration strategy is proposed to deal with resource failures. However, all embedding proposals, presented in the literature, tried to relax some constraints and objectives. The optimization objectives mentioned above have been considered separately. Multi-objective optimization must be able to prioritize or arbitrate conflicting constraints [7, 8]. The main contribution of our work is to propose an exact multiobjective optimization for VNE that takes jointly into account cost, survivability, LB and ES.
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
Exact Multi-Objective VNE in Cloud Environments 3.
3
VNE PROBLEM FORMULATION
This section presents mathematical models for the VNE problem to derive algorithms that can be used by infrastructure (cloud) providers to achieve optimal placement and schedule the allocation of resources to user or consumer expressed VN requests. The proposed models consider multiple optimization criteria or objectives such as minimizing energy consumption, resource usage, cost and LB. 3.1.
Cloud infrastructure model
The cloud infrastructure (referred in this work as substrate network) can be represented by a weighted undirected graph G s = (Ns , L s ), where Ns is the set of substrate nodes n s (e.g. physical servers) and L s is the set of substrate links ls (e.g. data center links). G s is used to represent the substrate. Let An s denote the available capacity of node n s (typically CPU and memory) and Als denote the available bandwidth on link ls . ϕ is used to denote a substrate path (a single or a sequence of substrate links) between two substrate nodes. Pϕ represents the set of substrate paths. The available bandwidth Aϕ associated to a substrate path ϕ can be evaluated as the smallest available bandwidth on the links along the substrate path so that: (1) Aϕ = min Als . ls ∈ϕ
The weight (i.e. cost) of the substrate path Cϕ can be measured as the sum of all link weights along the path ϕ: Cϕ =
C(ls ).
(2)
ls ∈ϕ
3.2.
VN request model
This section models the user expressed VN requests (supporting cloud services) that are sent to cloud providers [23]. A VN request is a set of virtual nodes interconnected via virtual links. The VN request topology is represented by a weighted undirected graph G v = (Nv , L v ), where Nv is the set of required virtual nodes and L v is the set of required virtual links. Each virtual node n v ∈ Nv is associated with a minimum required capacity denoted by tn v as well as a set of node requirements including: node type, location, type/number of network interfaces, etc. Each virtual link lv ∈ L v is associated with a minimum required bandwidth denoted by tlv as well as a set of link requirements including: link type, QoS constraints, etc. 3.3.
VNE model
VNE consists in selecting for each virtual node n v and virtual link lv the best substrate node n s and substrate paths ϕ ∈ Pϕ that ensure optimal VNE. This embedding/mapping is denoted
FIGURE 1. VN allocation from data center.
by MAP. Figure 1 shows an example of embedding a VN request in a shared physical substrate. Node Mapping: Let MAP N : Nv → {Ns , ∀ n v ∈ Nv } denote a mapping function between virtual nodes and substrate nodes. As depicted in Fig. 1, the VN request node mapping is {a → A, b → F, c → G, d → E}. Link Mapping: Let MAP L : L v → ψ denote the mapping function between virtual links and substrate paths, where ψ = {ϕ ∈ Pϕ | A(ϕ) ≥ A(lv ), ∀ lv ∈ L v } As shown in Fig. 1, the VN request link mapping is {ab → {AF}, ac → {AB, BG}, cd → {G D, D E}, db → {E F}}.
3.4.
VNE objective
This section provides mathematical models for VNE objectives considered in this work including minimizing cost and power consumption, improving availability and achieving LB. (1) Cost minimization strategy: The goal of the Cloud Manager is to find the best and optimal VN request allocation that minimizes the VN provisioning cost. Similar to previous work in [11, 12, 24], the provisioning cost of a VN request is equal to the sum of the costs of allocating its virtual nodes and links from the data center or infrastructure resources (physical nodes
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
4
I. Houidi et al. and substrate paths): C G v (t) =
wi VMi (t) r + A i∈Nv i ∈Ns i we ij f e (t), + r Ae + e∈L s
(3)
i, j∈Nv
where VMi is a Virtual Machine allocated for the ij requested node i and f e (t) denotes the amount of bandwidth allocated from the substrate link e to support the virtual link established between virtual nodes i and j. Variables we and wi represent, respectively, the unit costs of the substrate link e and substrate node i supporting the virtual node i. More specifically, we consider resource allocated for each virtual node/link normalized by the host residual capacity. Thus, Arj and Are denotes, respectively, the residual/available capacity of substrate node i and of substrate link e. A small value ( → 0) is introduced to avoid dividing by zero. Since our objective is to minimize the embedding cost, Equation (3) will be integrated in the objective function of our mathematical formulation provided in Section 4. (2) Energy minimization strategy: For this purpose, we propose to use consolidation techniques that consist in putting as many virtual machines as possible in the same physical machines to reduce overall energy consumption. We define E(δt) as the Energy required to maintain all servers up during a certain period δt as the sum of power consumptions of the substrate nodes and links that are activated to fulfill the VN request. Pn s ·s (δt) + Pe · e(δt), (4) E G v (δt) = n s ∈Ns
e∈L s
where Pn s (and Pe ) are the amount of power (or equivalently energy) required (consumed) when using substrate node n s (substrate link) during a period of time δt. Since the power consumption of nodes is generally much higher than that of links. Thus, the objective of minimizing energy consumption reduces to minimizing the number of activated nodes for VNE. For this purpose, only the first term of the following expression will be integrated in the objective function of our mathematical formulation provided in Section 4. E G v (δt) =
1 Pmax
Pn s · n s (δt).
(5)
n s ∈Ns
We consider the percentage of energy consumed for each host normalized by the maximum allowed energy in the host Pmax (or energy/power budget of a physical node).
(3) LB strategy: To integrate LB in the energy aware solution, we need to steer the optimization toward balanced distribution of load across physical nodes thus increasing the number of nodes available for hosting virtual resources nodes. LB and minimization of energy consumption are conflicting objectives. This requires a trade-off between these two objectives. To achieve LB, the difference between the most and the least loaded hosts is introduced in the objective function so it is minimized when searching for the optimal solutions. More specifically, we consider the actual load (i.e. resource allocated for each host normalized by the host capacity). i i∈Nv ai VMi (t) LBG v (t) = max Ari + i ∈Ns i i ∈Ns ai VMi (t) , (6) − min Ari + i ∈Ns where Arj denotes the residual/available capacity of substrate node j and ai represents required capacity for Virtual Machine i. variable → 0 is a small value introduced to avoid dividing by zero. (4) Availability strategy: The Availability of a virtualized data center depends primarily on the co-existence of VMs of the same request in the same host [25]. The availability of the resources for the whole request will be governed by the failure of this single host if redundant VMs are deployed on this same host. To prevent such a situation, the idea is to distribute virtual machines from the same request across distinct physical machines. Indeed, a cloud provider can limit the consequence of a failure by enforcing a limit on the number of requested virtual machines to be allocated on a single physical machine. Our model considers the loss of redundancy as a constraint: VMii (t) ≤ k ∀i ∈ Ns (7) i∈Nv
k represents the maximum number of virtual nodes that can be placed together in the same host. The challenge is that various VM placement objectives, established by the cloud provider, are in conflict with each other. For instance, reducing power consumption may conflict with high availability. Indeed, ensuring high availability may increase power consumption. In one hand, excessive power consumption of a server could reduce its reliability and, in the other hand, with aggressive consolidation, some VMs may not obtain required resources and fail to meet the desired QoS. All these issues require effective consolidation policies that can minimize energy consumption without violating QoS requirements.
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
Exact Multi-Objective VNE in Cloud Environments Moreover, to explore both energy efficiency and LB, crucial issues must be addressed. Indeed, an aggressive consolidation may cause the violation of users requirements. Thus, we propose to apply a LB strategy that minimizes the risk of QoS violation. One of the challenges for a cloud administrator is determining how to arbitrate such conflicting constraints [15]. Constraints prioritization could be a solution, but it is not optimal. Finding the optimal multi-constraints VM placement is NP hard [26]. The goal of our work is to propose an optimization algorithm that reduces the data center energy consumption while satisfying the user requirements.
4.
EXACT NETWORK PLACEMENT ALGORITHM
In this section, we propose an exact and optimal solution for the VNE problem introduced in the previous section. Thus, we provide a multi-objective model of the VNE problem that considers consolidation, cost, availability and LB constraints. For this purpose, the VNE problem is formulated as an MIP. 4.1.
4.2.
ai j =
j
ai j xii (t)x j (t) ∀i , j ∈ Ns .
(8)
i, j∈Nv , i< j i j
i
By introducing the binary variable z i j (t) = xi (t) ·
j x j (t); (i
< j), Equation (8) becomes linear and the quadratic optimization problem can be formulated as a simple linear integer program. Linear programming is a technique for the optimization of a linear objective function, subject to linear equality and inequality constraints [27]. This model leas us to an MIP formulation that is presented in details in the next section for completeness and the reader’s convenience.
Objective function
The objective function (9) of the linear program minimizes the VNE cost while reducing the power consumption of the data center under LB and availability constraints (AC). ⎛ ωi ai xii (t) min ω C ⎝ r + A i∈Nv i ∈Ns i ⎞ ⎛ ⎞ ωe Pi i j + f e (t)⎠ + ωE ⎝ vi (t)⎠ Are + P max e∈L s i , j ∈Ns i ∈Ns ⎛ ⎞ 1 + ω LB ⎝ ai xii (t)⎠ . (9) r + A i i ∈Ns
i∈Nv
This MIP formulation is composed of three main terms: (i) The first term minimizes cost by including the node and link embedding costs. (ii) The second term minimizes energy consumption by adding the energy consumed by the selected substrate nodes and links to fulfill the VN requests. (iii) The third and last component in Equation (9) handles LB among hosts.
VM placement problem formulation
The objective is to efficiently map the VN request onto infrastructure resources while ensuring simultaneous node and link embedding (or stated equivalently the selection of hosting nodes and substrate paths). Despite the fact that finding the optimal solution for VNE while considering multiple objectives for cloud provider is NP hard [26], we propose a formulation using a 01 quadratic program based on a boolean variable xii (t) for each virtual node i. Variable xii (t) is equal to 1 (respectively, 0) if the virtual node i is hosted (respectively, not allocated) by the substrate node i . Since we aim at simultaneous node and link embedding, when substrate node i (respectively, substrate node j ) is selected to support the virtual node i (respectively, virtual node j), variable ai j will express the amount of bandwidth allocated from substrate node i to substrate node j that will support the required bandwidth ai j in the original VN request: Thus, ai j is expressed as follows:
5
All the terms in the MIP objective function expression are normalized by their respective remaining resource budgets. The parameters and variables used in the formulation are listed in Table 1. 4.3.
Constraints
4.3.1.
Flow conservation constraints i j
i j
i j
f e (t) = f − (t) + f ← (t), → e e− ⎛ ⎞ ⎛ ⎞ 0 i j f− → (t) j ⎟ a ⎜ e1 ⎟ ⎜ i ⎟ ⎜ i j ⎟ ⎜ ⎜ . ⎜ f− (t)⎟ ⎜ .. ⎟ → ⎟ e ⎜ ⎟ M ×⎜ 2 ⎟ ∀i , j ∈ Ns , ⎟=⎜ ⎟ 0 ⎜ ... ⎟ ⎜ ⎟ ⎝ ⎠ ⎜ ⎝ ⎠ −a i j i j f− (t) → en 0 i j ai j z i j (t) = ai j ∀i , j ∈ Ns .
(10)
(11)
(12)
i, j∈Nv , i< j
Constraints (10)–(12) are related to the flow conservation in the substrate paths. 4.3.2.
Capacity bounds constraints
i j
≤ Are
∀e ∈ L s ,
(13)
ai xii (t) ≤ Ari
∀i ∈ Ns .
(14)
fe
i , j ∈Ns
i∈Nv
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
6
I. Houidi et al. TABLE 1. Inputs and variables of MIP formulation.
Inputs
Constraints (13) and (14) contain the substrate node and link capacity bounds.
Description
− → Gs
Is the directed graph associated to the undirected graph G s . Each undirected virtual link e ∈ G s is − → replaced in G s by two → directed links with opposite directions − e and ← e− − → M The incidence matrix of a directed graph G s of the substrate which is an Ns × L s matrix [bi j ] with bi j = 1 if the link (i, j) leaves the node i, −1 if it enters the node i, and 0 otherwise. Required capacity vector for virtual nodes i ∈ Nv (ai )i∈Nv (ai j )i, j∈Nv Required bandwidth matrix for virtual links between virtual nodes i, j ∈ Nv (Ari )i ∈Ns Available capacity vector for substrate nodes i ∈ Ns r (Ae )e∈L s Available bandwidth matrix for substrate links e ∈ Ls (Pi )i ∈S Power vector to keep the physical machine i active or up (yi (t − 1))i ∈S The initial state of Server i equals to 1 (respectively, 0) if the physical machine i is running (respectively, shutdown) Represent, respectively, the unit costs of the we and wi substrate link e and substrate node i supporting the virtual node i Represents the cost weight in the objective wC function Represents the LB weight in the objective wLB function Represents Energy weight in the objective wE function
4.3.3.
i ∈Ns
i j
∀i, j ∈ Nv ; i < j; ∀i ∈ Ns ,
(15)
i j
j
∀i, j ∈ Nv ; i < j; ∀i ∈ Ns ,
(16)
z i j (t) = xii (t)
j ∈Ns
Linearization related constraints
z i j (t) = x j (t)
j
i j
xii (t) + x j (t) − z i j (t) ≤ 1 ∀i, j ∈ Nv ; ∀i , j ∈ Ns ; i < j. (17) Constraints (15)–(17) denote the correlation between variables x and z and ensure coherence between the virtual links mappings and their associated virtual node mappings. xii (t) = 1 ∀i ∈ Nv , (18) i ∈Ns
Constraint (18) ensures that only one substrate node is selected for each virtual node. 4.3.4.
Availability constraint xii (t) ≤ k
∀ j ∈ Ns .
(19)
i∈Nv
Constraint (19) ensures that at most k of requested nodes from the same request will be allocated on a single substrate node (This constraint should be added only in the case of Availability Strategy). 4.3.5.
Energy constraints xii (t) − yi (t) ≤ 0
∀i ∈ Nv ; ∀i ∈ Ns .
Variables
Description
i j f e (t)
Denotes the flow transmitted from substrate node i to substrate node j through the substrate link e
Constraint (20) guarantees that when a virtual node is selected, the associated substrate node is running.
(t) + f ← (t), (i < j ) f e (t) = f − → e e− represents the sum of the flows transmitted from substrate node i to j → in both directions − e and ← e− Denotes a binary variable equals to 1 (respectively, 0) if the virtual node i is allocated (respectively, not allocated) from the substrate node i denotes A binary variable equals to 1 (respectively, 0) if the substrate node i is running (respectively, shutdown) Denotes a binary variable equals to 1 (respectively, 0) if the substrate node i becomes active after the request allocation (respectively, if not)
∀i ∈ Ns ,
(21)
yi (t) − yi (t − 1) = vi (t) ∀i ∈ Ns .
(22)
i j
xii (t)
yi (t)
vi (t)
i j
yi (t − 1) ≤ yi (t)
i j
(20)
Constraints (21) and (22) concern substrate nodes that should be activated and those maintained active after the allocation process. 4.3.6.
Constraints for variable domains xii (t) ∈ {0, 1}; yi (t) ∈ {0, 1}; z i (t) ∈ {0, 1},
(23)
i j f e (t)
(24)
≥ 0.
Constraint (23) specifies the integer domain of variables x and z and constraint (24) specifies the real domain of variable f .
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
Exact Multi-Objective VNE in Cloud Environments 5.
EXACT ADAPTIVE EMBEDDING ALGORITHM
Once the VN has been allocated to support the cloud service, adaptive provisioning and maintenance of the VN comes into play. Dynamic and adaptive provisioning should handle changes in the topologies and simultaneously cope with resource failures or performance degradation. The main goal of adaptive provisioning is to maintain VN topologies, established contracts and service level agreements. Dynamic changes that call for adaptive embedding correspond to scenarios where virtual or physical resources allocated to VNs fail or suffer from anomalies (e.g. substrate or virtual node failure or performance degradation). In this section, we present and implement an adaptive embedding algorithm to deal with virtual node, substrate node and link degradations or failures that require adaptation of a previous configuration or embedding. 5.1.
Adaptive VNE
After a substrate node failure (or unacceptable performance degradation), virtual nodes hosted by this node must migrate to other available substrate nodes. Virtual links directly associated to the migrated virtual nodes must also migrate to other substrate paths. Figure 2 shows an example of substrate node G failure. The virtual node c migrates to the substrate node C. The associated virtual links ac and cd should
7
also migrate to the substrate paths AB, BC and C D, D E, respectively. The outcome of the adaptation is: Node mapping adaptation c → C, Link mapping adaptation ac → {AB, BC}, cd → {C D, D E}. 5.2.
MIP formulation
As previously mentioned, simultaneous node and link adaptation while considering multiple objective for cloud providers is NP hard [26]. However, using the linear programming techniques introduced in the previous section, the adaptive VNE can be modeled and solved as a linear integer program. We also propose an MIP program formulation to deal with substrate node failures through adaptive embedding that re-maps hosted virtual nodes and their associated virtual links to a new substrate node and new paths. For this purpose, we propose a modified version of the initial VNE. In our proposed adaptive VN model, the initial embedding information will be considered as an input to the linear program. (i) Let β be the set of failed substrate nodes. (ii) Let α be the set of affected virtual nodes. (iii) The initial embedding results (Node Mapping (MAP N ) and Link Mapping (MAP L )). To handle the virtual node re-mapping, the modified version of the initial VNE integrates the following modifications: (i) Variables in the objective function will concern only the embedding of the virtual nodes to be migrated and their associated virtual links. (ii) The failed substrate nodes and links should be removed from the substrate graph in order to avoid allocating them again. (iii) The initial embedding results are added as inputs to the MIP formulation:
xii (t) = 1 if MAP N (i) = i ∀i ∈ Nv \ {α}. (25) Constraint (25) integrates the initial node embedding i j
z i j (t) = 1 if MAP L (lv (i, j)) = ls (i , j ) ∀i, j ∈ Nv \ {α}; ∀i , j ∈ Ns \ {β}, (26) i j
f e (t) = 1 if MAP L (lv (i, j)) = ls (i , j ) And e ∈ ls (i , j ) ∀i , j ∈ Nv \ {α}; (27) ∀e ∈ L s . Constraints (26) and (27) express the initial link embedding information. FIGURE 2. Adaptive VNE in the case of node failure.
The proposed adaptive VNE is presented in more details in the Appendix.
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
8 6. 6.1.
I. Houidi et al. PERFORMANCE RESULTS Evaluation environments
Since, we have no access to any relevant data sample from operational or commercial infrastructures, we resort to a deterministic approach to conduct the performance evaluation of the exact VNE and the exact adaptive VNE algorithms. This is in fact common practice [10–12, 24] when the evaluation objective is to assess performance when seeking optimal solutions only and not assessing any suboptimal heuristic approach. The alternate approach is to use Monte Carlo simulations and assessments. In any case, both can capture the algorithms performance trends and behaviors and lead to the same conclusions. We prefer the deterministic approach as it will lead always to the optimal solutions as opposed to the Monte Carlo methodology that will not guarantee finding the optimal solutions irrespective of the selected scenarios and the statistics of the VN requests. To find the optimal solutions, we use the branch and bound algorithm [27] to solve the MIP formulation for the multiobjective exact VNE and the exact adaptive VNE. The strength of the branch and bound algorithm is that it finds the optimal solutions via an exhaustive search but it does not scale well as the problem size grows because of exponential explosion. For the proposed algorithms, we can nevertheless manage graphs of a hundred nodes hosting multiple virtual resources in few seconds as will be reported in the sequel. The proposed exact embedding algorithm is implemented using C++ with the library ILOG [28]. The evaluation environment used to evaluate our algorithms is similar to that described in [10–12, 24]. The georgia tech-internet topology model (GT-ITM) tool [29] is used to randomly generate a substrate network topology with different sizes. The average substrate graph connectivity is fixed at a typical value of 0.5. The available capacity of substrate nodes (CPU) and links (bandwidth) are real numbers uniformly distributed between 50 and 100 units. The GT-ITM is also used to generate VN requests with several graph connectivity averages (0, 0.5 and 1). The number of virtual nodes in VNs drawn from a uniform distribution between 2 and 10 (a typical range for the number of virtual nodes composing the VN sub-graphs). The CPU of virtual nodes is chosen uniformly in the range from 1 to 20 processing power units. The required bandwidths of virtual links requests are real numbers uniformly distributed between 0 and 50 bandwidth units. Our initial and adaptive VNE algorithms are executed on a PC with an 1.5 GHz Intel XEON Processor with 2 GBytes of RAM.
6.2.
Evaluation results of the multi-objective VNE
This section evaluates our proposed multi-objective VNE in terms of ES energy, minimizing cost under the LB strategy and the ACs. Scalability issue is also discussed.
The evaluation scenario involves a data center with a fixed size (100 hosts) and an average resource load in the 10–90% range. For the AC, we consider k = 1, so each virtual node from the same request will be allocated to a single physical machine. The evaluation scenario will be discussed related to the average VN graph connectivity. In the first case (case 1), the average VN graph connectivity is set to zero, where we consider only VN requests with disconnected topology. Only node constraints are considered. The objective is to limit the problem size since we primarily assess the algorithm behavior. In the second case (case 2), the average VN graph connectivity is fixed at 0.5 and 1 in order to evaluate the impact of the VN graph connectivity on the scalability of our algorithm. Case 1: Evaluation of different embedding approaches Figure 3a depicts the average utilization of substrate nodes for the Exact VNE algorithm (used for initial embedding) when one criterion or more criteria are used in the objective function. The results are reported for the ES criterion alone and for ES combined with LB and ACs (ES-LB and ES-LB-AC) (see Table 2). As depicted in Fig. 3a, the VNE algorithm enables good ESs by increasing (optimizing) the number of unused physical nodes so they can be put to sleep or shutdown. The ES criterion achieves higher VMs consolidation and uses less physical nodes (90% of nodes not used at low load and 15% at high load) while ES-LB and ES-LB-AC use more nodes to host the requested VMs since their objectives are to distribute the VMs across more nodes for better resilience or resistance to degradations and faults. The ES-LB criterion achieves lower consolidation and ES-LB-AC even less (respectively, in the ranges [50%, 10%] and [40%, 5%] unused physical nodes). Depending on the desired objectives, the multi-objective exact embedding algorithm can be tuned according to target objectives to trade-off consolidation and resilience or ES and tolerance to degradations or faults. In view of the closeness between ES-LB and ES-LB-AC results, using the ES-LB-AC is advocated as it offers the best trade off if resistance to degradation is the favored criterion. If the concern is primarily ESs, the ES version of the algorithm should be used. Figure 3b provides a comparison view to that of Fig. 3a. The figures should actually be analyzed jointly with the VN requests acceptance ratios depicted in Fig. 3c. The cost per accepted requests or embedded resources in physical nodes is in line with the consolidation characteristics or performance of each combination of the criteria with ES inducing lowest cost (since it uses less physical nodes) and ES-LB and ES-LBAC requiring around 30–50% higher costs for the evaluated scenarios (looking at the 90 physical nodes results). The ESLB and ES-LB-AC versions of the exact VNE algorithm accept fewer requests that ES, with ES-LB close to ES while ES-LB-AC accepts considerably less requests to guarantee the best resilience and tolerance to degradations or faults in the physical (substrate or infrastructure) nodes. Figure 3d reports the performance of the exact embedding algorithm as
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
Exact Multi-Objective VNE in Cloud Environments
(a)
(b) 3
0.9 ES−LB−AC ES−LB ES
0.7
ES−LB−AC ES−LB ES
2.5 Cost/Accepted requests
0.8 Percentage of Inactive Nodes
9
0.6 0.5 0.4 0.3
2
1.5
1
0.2 0.5
0.1 0
10
20
30
40
50 Load
60
70
80
0
90
(c)
0
10
20
30
40 50 Load
60
70
80
90
(d)
Percentage of Accepted VN requests
100 ES−LB−AC ES−LB ES
90 80 70 60 50 40 30 20 10
0
10
20
30
40 50 Load
60
70
80
90
FIGURE 3. Multi-objective VNE evaluation results. (a) Percentage of inactive nodes, (b) embedding cost per accepted VN requests, (c) acceptance ratio and (d) average time delay required by the exact VM placement algorithm.
TABLE 3. VNE scalability: execution time (s).
TABLE 2. Compared approaches. Notation ES ES-AC ES-LB-AC
Approach description Minimizing cost and ES Minimizing cost and ES with AC Minimizing cost and ES with LB under AC
a function of the number of VMs to be hosted and the number of physical nodes in the infrastructure. The key result is the rather reasonable time needed to achieve optimal embedding since the collected results indicate that only a few seconds are required to ensure embedding (less than 2 s for 100 VMs and 1000 physical nodes or hosts). Case 2: Scalability study Table 3 provides a scalability evaluation of the algorithm in terms of execution time where three graph connectivity
Substrate size VN connectivity 0 0.5 1
10
25
50
0.01 1 80
0.07 5 900
0.1 20 Undefined
averages are considered: 0, 0.5 and 1. In the case of VN requests with disconnected topology, the VNE algorithm converges in a reasonable time (less than 1 s) since the problem size is limited by considering only nodes constraints. In the case of partial mesh topology (VN connectivity fixed at 0.5), the algorithm is executed in a polynomial time (∼15 s for a substrate size of 25 nodes). The exponential convergence
Section B: Computer and Communications Networks and Systems The Computer Journal, 2015
10
I. Houidi et al.
time is due to the links constraints. In the worst case, with full mesh topology, the algorithm cannot converge especially when the data center size increases. The explosion is due to the huge number of possible combinations in link mappings. Performance limits are also related to capacity of the PC used in the evaluation.
6.3.
Evaluation results of the fault-tolerant algorithm
To evaluate the proposed adaptive VN model, whose goal is to react to node performance degradation and failures (and potentially link failures), we will consider only minimization of the cost objective for simplicity reasons. Thus, in the objective function (Equation (A.1), see Appendix), we set wLB = w E = 0 for the reported evaluation. The model can be extended to multi-objective optimization by considering other objectives (such as ES, LB, etc.) in the same manner as the initial VNE model. We are especially interested in evaluating the time needed by the exact adaptive VNE to find the optimal VN adaptation when nodes fail, become congested or unavailable. All these situations will require replacement of the affected nodes and their associated links. The assessment is performed for different VN requests sizes (more specifically for two arbitrary but sufficiently illustrative sizes: Request1 = 4 n v , Request2 = 6 n v ) for infrastructure or substrate networks sizes in the range 20–50 hosts. The average VN graph connectivity is fixed at 0.5. When a substrate node needs to be replaced because of a predicted failure for instance, our exact adaptive VNE finds a new substrate node to host the affected virtual nodes to replace the defective physical node.
(a)
Figure 4a shows that the proposed adaptive VNE solution using an MIP formulation is executed in a polynomial time. The exponential convergence time and explosion is due to the huge number of possible combinations in link mappings especially when the connectivity in the infrastructure increases. In order to assess the performance of the algorithm, it should be ideally compared with similar approaches. Unfortunately, there is currently no known exact adaptive VNE algorithm available in the literature, at least to our knowledge, and this paper is not in a position to provide any comparison with other exact adaptive embedding solutions. Nevertheless, we can hopefully compare our adaptive VNE algorithm with existing heuristic algorithms presented in previous work [18] designed to address the same problem. A comparison with the centralized and distributed algorithms [18] fulfills this assessment goal. The comparison depicted in Fig. 4a shows that the time required by our exact adaptive fault-tolerant embedding algorithm to adapt a VN upon failures is an order of magnitude slower in convergence times (few seconds versus tens of seconds). The convergence times are nevertheless not unreasonable since our algorithm provides the optimal adaptation as opposed to the distributed and centralized adaptive heuristic algorithms of [18] that can only find suboptimal solutions. The distributed and centralized heuristic algorithms of [18] rely on a hub and spoke and greedy optimization approach to find good suboptimal solutions. The results also indicate that the gap in convergence times is not as significant for graph sizes of