Article Preview
Top1. Introduction
Cloud computing is slowly but steadily occupying the space in the IT industry as it plays a very significant role for the organizations in their establishment for various Cloud services e.g. IaaS, PaaS, and SaaS. These cloud services are not confined to business organizations rather proliferated to academia, research, and other industries. Of these services, IaaS is provided in form of Virtual Machines (VMs) that cut down the installation and maintenance cost for the organizations. In a cloud data center, VMs are hosted on Physical Machines (PMs) for effective resource utilization (Kapil et al., 2013; K. Li et al., 2013; Tordsson et al., 2012). Virtualization is the key technique for offering VMs in cloud computing. These VMs are mapped dynamically on the PMs using an effective VM placement algorithm. VM placement algorithm decides on PMs which can host the VMs based on the capacity of the PMs and other requirements. The decision, on the selection of PMs, is often done by a cloud management tool without involving the cloud customer. The customer only defines its requirements and expected Quality of Service (QoS) in a Service Level Agreement (SLA) with Cloud Service Providers (CSPs). VM placement is often a nontrivial problem because of the following reasons:
- •
Cloud data centers may be geographically apart, so may incur an inordinate delay.
- •
The multi-dimensional nature of the VMs’ requirements e.g. CPU, RAM, Storage, etc. makes the problem complex.
- •
Optimal usage of the PMs, while satisfying the SLA’s constraints, further adds complexity to it.
- •
For energy saving, only an optimal number of physical machines should be active.
- •
To avoid traffic congestion on links, the load on the PMs is to be balanced.
The management of the cloud services and virtual machines (VMs) is done by the CSP using a cloud management tool based on the hosted services and the need of the cloud customers. Mismanagement, in VMs hosting, may lead to not only SLA violation but also may result in poor resource utilization, excessive energy consumption, huge heat dissipation, and more carbon emission in the cloud data center. Therefore, it is expected that the management tool addresses the VM placement problem in an effective and efficient manner. The aforementioned reasons make the VM placement an NP-hard problem (Guoqiang & Farkas, 2017; Hao et al., 2017; Tan et al., 2017). Numerous algorithms have been developed in the literature with effective formulation from different aspects (Gao et al., 2013; Jayasinghe et al., 2011; Meng et al., 2010). However, most of these do not suffice in a real cloud environment as the problem instance size is very large.