2013 IEEE International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing
VCE-PSO: Virtual Cloud Embedding through a Meta-heuristic Approach Chunguang Wang∗ , Qingbo Wu∗ , Yusong Tan∗ , Deke Guo† , Quanyuan Wu∗
∗
†
College of Computer, National University of Defense Technology, Changsha, China Key lab of Information System and Management, National University of Defense Technology, Changsha, China
[email protected], {wu.qingbo2008, yusong.tan, guodeke, quanyuan.wu}@gmail.com
Abstract—Resource allocation, an integral and continuously evolving part of cloud computing, has been attracting a lot of researchers in recent years. However, most of current cloud systems consider resource allocation only as placement of independent virtual machines, ignoring the performance of a virtual machine is also depending on other cooperating virtual machines and also the net links utilization, which result in a poor efficient resource utilization. In this paper, we propose a novel model Virtual Cloud Embedding (VCE) to formulate the cloud resource allocation problem. VCE regards each resource request as an integral unit rather than independent virtual machines including their link constraints. To address the VCE problem, we develop a metaheuristic algorithm VCE-PSO, which is based on particle swarm optimization algorithm, to allocate multiple resources as a unit considering the heterogeneity of cloud infrastructure and variety of resource requirements. We exploit specific knowledge like the locations of virtual machines, inter-link distance, etc., to measure the fitness of different resource assignments, and utilize them to define the assignment update operation corresponding to the operations and steps of particle swarm optimization algorithm. Experiment results demonstrate that VCE-PSO can find an optimal resource assignment with 12% reduction of average linkmapped-path length than existing greedy algorithms. Index Terms—Cloud computing; resource allocation; virtual cloud embedding; Particle Swarm Optimization
with the extra-scale numbers of potential solutions. These disadvantages make them unsuitable to use especially in large cloud systems which need an efficient and scalable method. Hence, in this paper, we propose a novel approach to allocate cloud resources that considers the multi-resources of nodes and inter-dependence of links. We treat each resource requirement as an integral unit denoted by Virtual Cloud Embedding (VCE) which assigns nodes and links of this request onto the physical nodes and paths in the substrate cloud infrastructure according to the global assignment fitness. We also present an intelligent algorithm VCE-PSO based on particle swarm optimization [21] to solve such a virtual cloud embedding problem. It utilizes the position of particle to represent a cloud assignment and the velocity of particle to denote the change of such an assignment. In this way the algorithm will find optima potential solutions according to the fitness metric defined by the revenue and cost of this assignment. It is undeniable that the VCE model brings more intelligent insights into the cloud resource allocation and the VCE-PSO provides an intelligent approach to solve this problem either. However, there are also some intractable challenges to be addressed in order to optimize the resource allocation.
I. I NTRODUCTION Cloud computing has emerged recently for its capacity to provide numerous and dynamic computing infrastructure. This new computing scheme brings lots of convenience but also technical challenges, one of which is to allocate resources for large number of users and applications. A lot of research works and practical systems have been promoted to efficiently solve this problem [1] [5] [7]. However, given the heterogeneity of cloud infrastructure and the variety of resource requirements, resource allocation is more like an open issue to be continuously optimized than a problem to be settled. Cloud systems usually leverage virtualization technology to adapt the resource provision for dynamic request. Thus, the placement of virtual machines is a main part of resource allocation processes. Most of current technologies assign virtual machines mainly based on requirement of CPU and memory and physical nodes. At a later date, some research works take the network bandwidth resource into account. While allocate it independently as a stand-alone character of each virtual machine just like CPU/memory, neglecting that link requirement depends on two involved nodes and also determined by characters of the substrate path such as a link mapped [11]. Related works mainly exploit greedy algorithms to allocate multiple resource and multiple nodes one by one, which needs a sizable processing time to find a workable solution. These methods lack the ability to measure the fitness of different resource assignments and also fail to find such optima along 978-0-7695-5088-6/13 $31.00 $26.00 © 2013 IEEE DOI 10.1109/HPCC.and.EUC.2013.274
•
•
•
First, each virtual cloud requirement includes multiresource nodes and their corresponding links, as well as each node may have multiple resource. The way to satisfy all aspects of such a request remains unresolved. Second, virtual cloud requirements are incoming infinitely and might be at an unpredictable process. Optimization of a single assignment might make the allocation service trap in a local optimal but fail to obtain a global optimal solution. Third, since tenants might not know the exact amount of resource that required, the virtual cloud resource requirement may scale up/down in its lifetime. Finding the optimized location to place new appended nodes or consolidate low-utilized nodes is also an intractable problem.
To address these challenges, we investigate the specific issues of cloud resource allocation and analyze them and map such specific knowledge into our models and algorithms. Choosing the optima of large number of solutions will consume a long period unacceptable in online processing, so traditional greedy algorithms maybe not the suitable solution of these problem. We design VCE-PSO based on cloud operations we defined to find a global optimal assignment quickly by utilizing the swarm intelligence. We extend VCEPSO to contain multiple best positions to process several 1908
demands at a step to find global best assignments of several virtual cloud requests. We also change the parameters like selfconfidence c1 , swarm confidence c2 , and inertial weight factor w to tolerate the fuzzy information of requests. The history assignments of the VCE-PSO processed are memorized to guide the new nodes placement and consolidation supporting virtual cloud scaling up/down. To summarize, our contributions in this papers have threefold: 1) We propose a Virtual Cloud Embedding model to formulate the problem of cloud resource allocation, which takes the multi-resources of multi-nodes and corresponding links into account. This model has more accurate characters than existing solutions. 2) We develop a meta-algorithm VCE-PSO to solve the virtual cloud embedding problem. We analyze the cloud resource allocation problem and utilize the specific knowledge into our VCE-PSO algorithm to optimize the process of finding optima in large number of workable solutions. 3) We write a prototype of VCE-PSO into a discrete simulator and evaluate its performance compared to existing methods. And we select the proper parameter of VCEPSO by training it tens of times. The remainder of this paper is organized as follows. In Section II, we introduce the background of our research and summarize some challenges in cloud resource allocation. In Section III, we define the VCE problem and present our objectives in such a problem. We introduce the detail procedure of VCE-PSO algorithm in Section IV, and evaluate its performance in Section V. Section VI introduces some related works in cloud resource allocation, and in Section VII we conclude this paper.
Fig. 1: Embedding of virtual cloud request onto the substrate cloud infrastructure, where three nodes of request I are consolidated on a single physical node 5. While (g, d) of request II has been mapped to a path of 4 hops.
differences which make VNE unsuitable for cloud computing. First, the different virtual nodes of a virtual network should be assigned to different substrate nodes for connectivity, but may be consolidate in a physical node in cloud computing. Take Fig.1 for example, three nodes of virtual Request I are consolidate on physical node 5 for resource utilization and efficiency. Second, VNE simplifies the node capacity just as single resource like CPU, which is disagreed with the fact in cloud resource allocating. Some researches have reported that different jobs need multiple resources and might consume heterogeneous amount of such resources [8]. Resource request I in Fig.1 have a three-tuple vector for node resource requirement denoting CPU,memory and storage. While physical node 2 failed to fulfill the requirement of virtual node f by memory capacity. So, resource allocation problem in cloud computing is different from VNE problems. To optimize the resource allocation, each resource request should be treated as an integral unit to optimize the whole fitness not only a single node. Hence, we abstract each resource request as a weighted undirected graph Gv = (Nv , Lv , Cvn , Cvl ), where Nv , Lv denote the set of physical machines and the set of network links, and the Cvn and Cvl denote the capacity attributes of the servers and links respectively. We define a metric to measure the fitness of different assignments and optimize the assignment in the benefit of the whole request rather than each single node. So as to provide a more efficient resource allocation mechanism for large scale cloud computing. However, because of the multiple resources attributes and variety of resource requirements, cloud resource allocation is an in-trivial problem no less easy than such combinatorial NP problems as bin-pacing, job shopping etc. Thus traditional greedy algorithms, or even other heuristic algorithms based on specific knowledge also are failed to provide a practical solution for the extra-large numbers of potential assignments in large scale cloud systems. Thus, we have to research another solutions as the resource allocation problem are becoming critical as the increasing employment of cloud computing.
II. BACKGROUND Cloud computing provides a beauty foreground to deliver demanded computing infrastructure to any people, from any location, at any time. However, resource allocation, the integral and key part of cloud computing, is failed to fulfilled people’s demand to archive a utility and efficient computing [1]. Here we introduce the current cloud resource allocation technology and their problems, which motivate us to propose our new model and solutions. Current cloud systems mainly solve resource allocation problem in an intuitive way without many theory considerations [4]. Given the heterogeneity of cloud infrastructure and variety of resource requirement, current solutions always adapt a greedy approach to allocate multiple resources one by one and neglect the internode network characters. Take a resource request scenario for an example (illustrate at Fig.1). Resource request 2 consisted of four nodes and their nodes maybe assigned in a unsuitable way with a long physical path distance among nodes (the virtual link (g,e) have four hops in assignment of Fig.1) and there is no proper metric to measure the cost and guide the resource assignment in current systems. Even some work take the bandwidth and distance into account, they are failed to fulfill these requests especially in large scale systems. Virtual Network Embedding [17] is a network-centric resource allocation technology which process a virtual network of multiple nodes as an integral unit. However, there are two
III. VCE M ODEL AND P ROBLEM F ORMULATION In this section, we propose our Virtual Cloud Embedding model to formulate the resource requirement and allocation in cloud computing, which take all aspects of resource requirement like multi-nodes, multi-results, and corresponding links
1909
etc. into an integral unit, for the optimization of utilization of cloud infrastructure.
Symbos Gs Ns Ls CsN CsL Psl Nv Lv CvN CvL MN ML MC R(GV ) C(GS )
A. Substrate Cloud Infrastructure We model the substrate cloud infrastructure as a weighted undirected graph and denote it by Gs = (Ns , Ls , CsN , CsL ), where Ns is the set of substrate nodes and Ls is the set of substrate links, while CsN and CsL denote the substrate nodes capacity set and link capacity set respectively. Each nodens ∈ Ns is associated with a resource vector < CP U, memory, disk > containing of multiple resources which have capacity weight value < c(ns ), m(ns ), d(ns ) >. Each substrate link ls (i, j) ∈ Ls between two substrate nodes i and j is associated with the bandwidth capacity weight value b(ls ) denoting the total bandwidth of this link.
TABLE I: Notations used in Virtual Cloud Embedding Meanings Graph of Substrate cloud Nodes of Substrate cloud Links of Substrate cloud Node Capacity of Substrate cloud Link Capacity of Substrate cloud Path of several links in Substrate cloud Nodes of Virtual cloud Links of Virtual cloud Node Capacity of Virtual cloud Link Capacity of Virtual cloud A Map of virtual Nodes to substrate nodes A Map of virtual Links to substrate links A Map of virtual Cloud to substrate cloud resource Requirement of Virtual cloud Cost of resource of Substrate cloud to fulfill the request
As above Equation(5) shows, the link mapping cost is increased along with the physical links involved in the mapped path of the virtual link. In order to reduce the link assignment cost we should decrease the number of physical links.
B. Virtual Cloud Demand Similar to the substrate cloud infrastructure, we model resource requests as weighted undirected graphs and denote a VC(Virtual Cloud) request by Gv = (Nv , Lv , RvN , RvL ). Each VC request containing a node set of Nv and link set of Lv . Each node nv ∈ Nv has a resource requirement R(nv ) denoted by an associated non-negative valued vector < c(ns ), m(ns ), d(ns ) >, and each link lv (i, j)has a resource amount of b(lv ) denoting the bandwidth requirement between node i and node j.
D. VCE Measurment Virtual cloud embedding usually consults multiple resources allocation of the substrate cloud infrastructure. The cost of substrate resources might be different when fulfilling a same virtual cloud resource requirement. So, we define the revenues of the virtual cloud embedding as the metric to optimize the virtual cloud assignment. First we define the revenue of a VC request as expression (6). R(GV ) = r(nv ) + b(lv ) (6)
C. Virtual Cloud Embedding When a VC request arrives, the substrate cloud has to determine whether to accept the request or not. If accepted, the substrate network then selects a suitable set of nodes and links assigned to the request. The assignment of the VC has two major components: Node assignment and Link assignment, which will be subtracted from the total resources of SC and allocated resources will be released once the VC has finished. Each virtual node from the virtual cloud request is assigned to a substrate cloud server node by a mapping Mn : nv → ns , and all the nodes are mapped in MN : Nv → Ns . This mapping is strict as a single mapping for each virtual node and it will not be distributed at different physical servers, which is coinciding with the fact of existing cloud technology. MN (mv ) = MN (nv ), if mv = nv (1) Node mapping also has to consider the node resource capacity and requirement. Every virtual node resource requirement should not exceed the remained resources of the respecting physical node (Equation 2), and the capacity a physical node should subtract the requirement of the virtual node after an assignment, which denotes the nodes cost of mapping. r(nv )