ReviewAn overview of virtual machine placement schemes in cloud computing
Introduction
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable virtual resources which can rapidly be provisioned and used based on the pay-for use model. It provides facilities to its users to dynamically scale up the applications, the platform and the hardware infrastructure (Gahlawat and Sharma, 2014, Tang et al., 2014, Shu et al., 2014). The cloud service models can be categorized into Software-as-a-Service (SaaS), Platform-as a-Service (PaaS) and Infrastructure-as-a-Service (IaaS) (Buyya et al., 2009, Lombardi and Di Pietro, 2011, Zhang et al., 2010).
In addition, some primary deployment models as public clouds, community clouds, private clouds, and hybrid clouds exist (Komu et al., 2012, Davidovic et al., 2015, Srinivasan et al., 2015, Zhang et al., 2013).The Public clouds provide their services via the Internet to everyone, while private clouds are internally managed and operated by a single organization and offer increased reliability, control, and security to their users. On the other hand, a community cloud is deployed between two or more organizations with similar service requirements. Moreover, the hybrid clouds are a collection of the clouds which possibly of different types and interconnected with each other (Komu et al., 2012, Zhang et al., 2013). The cloud computing provides numerous advantages to its users and providers. Some of the key benefits of the cloud computing are flexibility, cost savings, location and hardware independence, multi-tenancy and reliability.
The cloud computing enables its users to utilize computing resources from the cloud data centers as a service, instead of owning it. For this purpose, cloud computing applies virtualization in which hardware resources of one or more computer systems are divided into several execution environments called Virtual Machines (VMs). Generally, each VM is isolated from other VMs and can act as a complete system to execute the user applications. In order to host a VM, a Physical Machine (PM) or server must provide all resources that the VM requires, including its CPU, memory, storage and network bandwidth requirements (Vu and Hwang, 2014). Inside a server or a physical machine, the VMs are controlled by a layer of software called VM Monitor (VMM) or hypervisor, which, as indicated in Fig. 1, resides between the hardware platform and the VMs. Generally, the VM monitor supports the creating, migrating and terminating VM instances (Komu et al., 2012).
VM migration is an interesting cloud computing feature which is aimed to respond to dynamic requests of the VMs in order to guarantee the promised Service Level Agreement (SLA) to the cloud consumers. Thus, when a VM requests some resources which cannot be provided in the hosted physical machine, the VM is migrated to another physical machine to satisfy the VM׳s requested resource. Also, the VMs may be migrated to provide better management of the physical machines and data centers.
One of the important operations which is conducted as a part of the VM migration is the VM placement in which a proper physical machine is selected to host the VM. Because of its importance, the problem of the VM placement in the cloud computing environment has been the focus of substantial researches, and numerous VM placement schemes have been designed and proposed in the literature. Each VM placement scheme pursuits some objectives and utilizes a placement algorithm which applies some placement factors to achieve these objectives. For example, some VM placement schemes try to reduce the data center׳s network traffic and power consumption. Also, an ideal VM placement scheme should reduce the need for future VM migrations and improve the resource utilization and availability of the data centers’ resources (Dashti and Rahmani, 2015).
This paper presents a comprehensive survey and analysis of the various state of the art the VM placement solutions have been proposed for the various cloud computing environments and data centers. The proposed schemes are classified according to the algorithm type applied in the VM placement, and the properties, advantages and limitations of each scheme are investigated in detail. Also, besides analyzing the objectives of each VM placement scheme, we have investigated and compared various placement factors which have been utilized to realize each objective. Conducting this research is very important for understanding the current trends in the VM placement methods and designing effective VM placement for emerging issues of the cloud computing environment.
The rest of the paper is organized as follows: Section 2 illuminates the VM placement problem in cloud computing and Section 3 provides an overview of proposed VM placement schemes. Section 4, discusses about the simulators/provider applied in VM placement schemes and Section 5 presents an in-depth comparison of VM placement schemes. Finally Section 6 provides the concluding remarks and future research directions.
Section snippets
Problem definition
Virtualization is one of the core technologies of the cloud computing environment. A Virtual Machine (VM) emulate a computer system and presents the targeted system and support the execution of an operating system. Classification of the VMs can be based on the extent of which they implement functionality of the targeted machines. Various levels of virtualization are as follows:
- •
Full virtualization
- •
Para virtualization
- •
Hardware assisted virtualization
- •
Resource virtualization
Generally, each VM shares
Analysis of VM placement scheme
This section discusses the existing VM placement schemes proposed in the literature for cloud IaaS layer. Almost all of the proposed VM placement schemes consider a three-tier architecture for data center network. The goal of data center network is to interconnect several servers with high-speed links. As indicated in Fig. 5, at the bottom level servers are organized in racks, and each server in a rack connects to one or two Top-of-Rack (ToR) switches. Also, each ToR switch connects to one or
Cloud simulators and providers
This section analyzes some of the simulators and cloud providers which have been utilized in evaluation and analysis of the VM placement schemes. Each subsection illustrates the capabilities and properties of each environment.
Discussion
This section provides a complete comparative analysis of the VM placement schemes proposed for the cloud environment. It mainly provides a comparison of the following issues:
- •
The number of schemes provided for each algorithm.
- •
The VM placement factors applied in each scheme.
- •
The resources which have been considered in each.
- •
The power-related factors in the VM placement schemes.
- •
The cost factors in the VM placement schemes.
- •
The network factors in the VM placement schemes.
Figure 14 indicates the number
Conclusion
Cloud computing is an emerging computing platform which presents virtual resources pool by centralizing computing resources connected with network and presents them as various services such as IaaS, PaaS, SaaS. Virtualization is one of the necessary technologies which make the cloud computing possible. Recently, the VM placement problem has become a hot topic in the cloud data centers because proper placement can greatly reduce the VMs traffic in the data center and improve the physical
References (77)
Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility
Future Gener Comput Syst
(2009)Private cloud computing and delegation of control
Procedia Eng
(2015)Virtual machine placement optimizing to improve network performance in cloud data centers
J China Univ Posts Telecommun
(2014)VMPlanner: optimizing virtual machine placement and traffic flow routing to reduce network power costs in cloud data centers
Comput Netw
(2013)A multi-objective ant colony system algorithm for virtual machine placement in cloud computing
J Comput Syst Sci
(2013)Virtual machine placement with two-path traffic routing for reduced congestion in data center networks
Comput Commun
(2014)- et al.
Secure virtualization for cloud computing
J Netw Comput Appl
(2011) Energy efficient virtual machine placement algorithm with balanced and improved resource utilization in a data center
Math Comput Model
(2013)The placement method of resources and applications based on request prediction in cloud data center
Inf Sci
(2014)- et al.
Era of cloud computing: a new insight to hybrid cloud
Procedia Comput Sci
(2015)
Cloud brokering mechanisms for optimized placement of virtual machines across multiple providers
Future Gener Comput Syst
A solution of dynamic VMs placement problem for energy consumption optimization based on evolutionary game theory
J Syst Softw
Automatic software deployment using user-level virtualization for cloud-computing
Future Gener Comput Syst
Dynamic VMs placement for energy efficiency by PSO in cloud computing
J Exp Theor Artif Intell
Survey on virtual machine placement techniques in cloud computing environment
Int J Cloud Comput: Serv Archit
Cited by (245)
Sustainable computing across datacenters: A review of enabling models and techniques
2024, Computer Science ReviewA multi-objective grey-wolf optimization based approach for scheduling on cloud platforms
2024, Journal of Parallel and Distributed ComputingA Utilization Based Genetic Algorithm for virtual machine placement in cloud systems
2024, Computer CommunicationsA survey study on trust-based security in Internet of Things: Challenges and issues
2023, Internet of Things (Netherlands)Analyzing GPU Performance in Virtualized Environments: A Case Study
2024, Future Internet