A two-phase virtual machine placement policy for data-intensive applications in cloud

https://doi.org/10.1016/j.jnca.2021.103025Get rights and content

Abstract

Cloud computing and big data are two technologies whose combination can yield many benefits and challenges. One of the most significant challenges is the traffic produced by data-intensive jobs within a data center. A possible way to manage the produced traffic is optimizing the placement of virtual machines (VM) on hosts. However, placing VMs compactly to reduce the communication cost can negatively impact on other aspects such as host utilization and load balancing. In this paper, we aim to make a balance between optimizing the host utilization and the communication cost while considering load balancing. We investigate the VM placement problem by modeling it as the minimum weight K-vertex-connected induced subgraph. We prove the NP-Hardness of the problem and propose a novel two-phase strategy for placing VMs on hosts. At first phase, in order to balance traffic and workload among racks, we rank all racks using a fuzzy inference system and select the best ones based on a linear programming model. At second phase, we introduce a novel greedy algorithm to assign each VM to a host regarding a proposed communication cost metric. We evaluate our approach using CloudSim simulator whose results show our two-phase strategy is able to make a balance between host utilization and network traffic. It keeps more than 80 percent of the traffic rack local while reduces the average network link saturation to almost 40 percent with a low variance. Besides, the number of used hosts increase linearly by increasing the number of VMs which leads to a higher host utilization.

Introduction

Data-intensive applications such as image processing and machine learning, play an increasingly important role in many domains of business and scientific research. They are required to efficiently analyze a huge amount of data which is known as big data. In terms of big data analysis, the data-parallel strategy is an efficient approach to process large amounts of data on a cluster of computing machines. On the other hand, big data processing tools require a host cluster such as private cloud whose maintenance is not feasible for a majority of companies and institutes. Therefore, utilizing a public cloud infrastructure is a common and acceptable solution (Assunção et al., 2014, Philip Chen and Zhang, 2014, Hashem et al., 2015).

As virtual machines running a data-intensive application transfer a large amount of data among each other, running big data analytical jobs on the public cloud highly effects network traffic. Based on Cisco global cloud index 2016–2021, big data as a significant driver of data center traffic will be responsible for 20 percent of all traffic within the data center by 2021 which was 12 percent in 2016. Inefficient management of this traffic results in various undesirable effects like data transferring latency, high job completion times, network failure , etc. (Mann, 2015, Cisco, 2018). In addition, by rising the popularity of some platforms like Kubernetes which uses a virtual cluster of VMs to provide a specific service including data analyzing, the importance of considering the communication between VMs has been increased.

An optimized VM placement can improve the network scalability and reduce the communication cost to a great extent. Nevertheless, a majority of the preposed placement schemas model the VMs as independent objects and assign them to the physical machines without considering consumption of network resources (Filho et al., 2017, Masdari and Zangakani, 2019). On the other hand, the proposed methods for reducing the communication cost either contain some assumptions which make them impractical or do not consider others essential aspects of infrastructure management such as resource utilization and load balancing.

In this work, in contrary to previous works, we do not consider any predefined traffic among virtual machines. The reasons for elimination of this assumption are (1) it is hard to predict traffic among each pair of virtual machines beforehand, (2) in real-world environments these simplifying assumptions do not hold due to the dynamic interactions between these virtual machines. Alternatively, we assume there is a high amount of traffic with an unknown pattern and search for a cluster of close hosts whose connecting links have the maximum available bandwidth. However, this assumption may lead to a suboptimal solution where the communication pattern among VMs is neither many-to-many nor one-to-many. Therefore, the optimal placement is achieved by dividing VMs in groups as a majority of previous works has done.

In addition to communication cost, we consider improving host utilization as the second optimization objective which is a main concern for cloud service providers. In order to address the problem of east–west traffic flow within a data center, we only consider big data processing batch jobs where data is stored inside the VMs and exchanged between them as network traffic.

We also consider a one-to-one mapping for the assignment of the VMs to the hosts. Some of the previous placement schemas try to assign all the VMs to a single host which causes a low degree of reliability in the case of host failure (Liu et al., 2019). To decide about how many VMs of an application are allowed to place on a single host is out of the scope of this research and is discussed in Section 6 as the future work. Therefore in this work, we consider a high degree of reliability which means no two VMs belonging to the same application are placed on the same host.

In summary, in this paper the virtual machine placement (VMP) problem is investigated to improve the data center network performance and resource usage. Our work aims to select a group of hosts to place a cluster of virtual machines on them in order to keep the traffic more local and balanced inside a rack as well as between different racks in a data center while considering the hosts’ utilization. For this reason, we first try to find a specific area of data center with regard to our objectives, and then select the final hosts from the specified area. The target area, in the ideal case, is a single rack with enough resources and low network traffic, and if it is not possible, a combination of a minimum number of racks which are more likely to handle the request efficiently. In this work, the term distance refers to the number of hops between the source and the destination in a data center.

The main contributions of this work are summarized as following:

  • A new metric, namely networking-cost, is defined to calculate the communication cost between hosts. It considers both the traffic and the number of hops between hosts.

  • A fuzzy inference system (FIS) is designed to rank the racks based on their total free resources and intra-rack traffic.

  • A linear programming (LP) model is defined to select a minimum number of close racks having high rank while the traffic on their uplinks is low.

  • A greedy method is implemented to assign VMs to the hosts inside the selected rack(s) based on the metric networking-cost in order to create a balanced traffic in the data center.

The remainder of this paper is organized as follows: In Section 2, we review the related works. In Section 3, we introduce our VM placement problem and prove its NP-Hardness characteristic. In Section 4, we present our strategy which solves the problem in two phases. In Section 5, the evaluation results are analyzed; and in the final Section 6, we conclude our research and discuss the possible future works.

Section snippets

Related work

In a cloud data center, one of the main challenges is deciding on where to place the newly requested VMs which has to be done autonomously. There are different goals for VM placement such as load balancing, energy saving, minimizing network traffic, and reducing SLA violations (Masdari et al., 2016, Filho et al., 2017, Masdari and Zangakani, 2019). In this section, we briefly review the related work which considers the network traffic as the main objective or tries to improve it alongside other

VM placement problem modeling

To model our problem, we first define the metric networking-cost for computing the communication costs between hosts, which considers the number of hops and the existing traffic in the route from source to destination in order to make a balanced traffic within the data center network. Then, we exploit this metric to define our VM placement problem using graph theory. All the symbols are explained in Table 2.

A two-phase VM placement strategy

The analysis in Section 3 shows that the defined VM placement problem is NP-hard. Therefore, in this section, we introduce a Two-Phase VM Placement (2PVMP) strategy to solve the described problem.

In the first phase, we aim to find the optimal subarea of the data center which can fulfill the defined objectives including close hosts with low traffic rate and high resource utilization. We also try to avoid selecting the idle hosts.

In the second phase, we introduce a greedy algorithm, namely

Simulation experiment

In this section, we analyze the performance of the proposed VM placement strategy (2PVMP), described in Section 4, using CloudSim 4.0 (Calheiros et al., 2011) (in particular the package “org.cloudbus.cloudsim.network.datacenter”) which is a toolkit to model and simulate cloud computing. To make generating workload with communication stages more flexible and independent from the code, we extended the simulation to dynamically create and submit the VMs in various time intervals based on a dataset

Conclusion and future works

This paper presents a novel strategy for solving VMP problem intending to decrease inter-rack and balance intra-rack traffic while utilizing the infrastructure’s resources. we first select a small subarea (one or more close racks) of the data center which is able to fulfill the optimization objectives, then the final hosts are selected from the subarea in order to optimize the main objective (reducing the communication cost).

We evaluate our method using CloudSim simulator whose results show a

CRediT authorship contribution statement

Samaneh Sadegh: Conceptualization, Methodology, Software, Validation, Investigation, Writing - original draft, Writing - review & editing. Kamran Zamanifar: Supervision. Piotr Kasprzak: Software, Investigation, Writing - review & editing. Ramin Yahyapour: Resources, Supervision.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Samaneh Sadegh received the M.S. degree in Computer Engineering from the Isfahan University of Technology, Iran, in 2011. She is a member of the Pervasive Computing Group in the Software Engineering Department, Faculty of Computer Engineering, University of Isfahan, Iran where she is pursuing her Ph.D. degree. Currently, she is a gust researcher at Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG) working in cloud computing research group. Her research interests include

References (44)

  • XuC. et al.

    Optimal construction of virtual networks for Cloud-based MapReduce workflows

    Comput. Netw.

    (2017)
  • Al-FaresM. et al.

    A scalable, commodity data center network architecture

    ACM SIGCOMM Comput. Commun. Rev.

    (2008)
  • AlicherryM. et al.

    Optimizing data access latencies in cloud systems by intelligent virtual machine placement

  • AssunçãoM.D. et al.

    Big data computing and clouds: Trends and future directions

    J. Parallel Distrib. Comput.

    (2014)
  • BiranO. et al.

    A stable network-aware VM placement for cloud systems

  • BuyyaR. et al.

    Energy-efficient management of data center resources for cloud computing : A vision, architectural elements, and open challenges

  • CalheirosR.N. et al.

    CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms

    Softw. - Pract. Exp.

    (2011)
  • ChenJ. et al.

    AAGA: Affinity-aware grouping for allocation of virtual machines

  • ChenY. et al.

    The case for evaluating mapreduce performance using workload suites

  • Cisco, ., 0000. Cisco Data Center Spine-and-Leaf Architecture: Design Overview White Paper. URL:...
  • CiscoY.

    Cisco global cloud index: forecast and methodology, 2016-2021

    (2018)
  • CooperB.F. et al.

    Benchmarking cloud serving systems with YCSB

  • Cited by (7)

    View all citing articles on Scopus

    Samaneh Sadegh received the M.S. degree in Computer Engineering from the Isfahan University of Technology, Iran, in 2011. She is a member of the Pervasive Computing Group in the Software Engineering Department, Faculty of Computer Engineering, University of Isfahan, Iran where she is pursuing her Ph.D. degree. Currently, she is a gust researcher at Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG) working in cloud computing research group. Her research interests include cloud computing, resource allocation, virtual machine placement and migration.

    Kamran Zamanifar is the director of the Pervasive Computing Group in the Software Engineering Department, Faculty of Computer Engineering, University of Isfahan, Iran, where he is an associate professor. He received Ph.D. in Parallel and Distributed System from the University of Leeds, England. His research interests include cloud computing, pervasive computing, parallel and distributed systems, and soft computing.

    Piotr Kasprzak received his Master degree in Computer Science from Technical University of Dortmund, Germany, in 2009. He has worked in the area of high performance computing at the Technical University of Dortmund and is now working on cloud computing at the Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG) while pursuing a Ph.D. in Computer Science. His research interests are cloud computing, artificial intelligence, security and software defined storage.

    Ramin Yahyapour is a Full Professor at the Georg-August University of Göttingen. He is also the Director of the GWDG, a joint compute and IT competence center of the university and the May Planck Society. He holds a Doctoral degree in Electrical Engineering and his research interest lies in the area of efficient resource management in its application to service-oriented infrastructures, clouds, and data management. He is especially interested in data and computing services for eScience. He gives lectures on parallel processing systems, service computing, distributed systems, cloud computing, and grid technologies. He was and is active in several national and international research projects. He serves regularly as reviewer for funding agencies and consultant for IT organizations. He is an organizer and program committee member of conferences and workshops as well as reviewer for journals.

    View full text