Article Preview
Top1. Introduction
Cloud computing can be classified as a new paradigm for the dynamic provisioning of computing services supported by datacenters that usually employ Virtual Machine (VM) technologies for consolidation and environment isolation purposes (Barham et al., 2003; Beloglazov et al., 2012). Cloud computing delivers an infrastructure, platform, and software (applications) as services that are made available to users in a pay-as-you-go model. These services are referred to as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) respectively. These services (Buyya et al., 2009) are not only used but also installed, deployed or replicated with the help of virtualization.
Virtualization is a technique that enables several operating systems to run simultaneously on a single physical machine. It has become a core aspect in modern servers and datacenters due to several advantages, such as flexible and efficient sharing of resources, fault tolerance, portability, and cost efficiency (Barham et al., 2003). In a virtualized environment, virtual machines (VM) acting like real physical machines can run in parallel and in isolation from each other and yet sharing the same physical resources. This ability to boot a virtual machine (VM) image on any available physical machine (PM) in a datacenter, or even across datacenters, is a key enabler for the many benefits promised by cloud computing such as resource consolidation, elastic scaling, and computation migration.
VM migration is one of the important capabilities of system virtualization, which allows applications to be transparently migrated along with their execution environments across physical machines (PMs). Live migration further allows the VM to be migrated almost without any interrupt to its application’s execution. VM migration is an important means for managing applications and resources in a large virtualized system. It enables resource usage to be dynamically balanced in the entire virtualized system across physical host boundaries, and it allows applications to be dynamically relocated to improve performance and reliability (Yangyang & Zhao, 2010).
Certainly, virtualization is a very useful technology that allows simulating a variety of different platforms and managing the resources of the system. By applying the virtualization technology and VM migration technique, in accordance with the requirements of the users to configure a virtual machine, both the computing environment and resource management problems can be solved. However, with more and more suppliers began offering cloud computing services, these services are convenient to users but consuming a lot of energy. Thus, how to save the energy of the datacenter without affecting the system performance (Quality of service) is an important issue. The problem has become more complicated and the use of the simple VM migration technique alone has become no longer enough, so, the scientific community began proposed migration strategies based on cost models, heuristics, meta-heuristics, or economic models...etc., to meet the growing needs of cloud computing users and service providers.