[IEEE 2014 5th International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur,...

4
978-1-4799-4653-2/14/$31.00 © 2014 IEEE Virtual Machine Migration Implementation in Load Balancing for Cloud Computing Rabiatul Addawiyah Mat Razali, Ruhani Ab Rahman, Norliza Zaini, Mustaffa Samad Faculty of Electrical Engineering, Universiti Teknologi MARA (UiTM) 40450 Shah Alam, Selangor Darul Ehsan, Malaysia [email protected], [email protected], [email protected], [email protected] Abstract- The demand for Cloud computing usage is increasing day by day due to the advantages and facilities it offers. The fast growing rate of the usage of large-scale computing machines on cloud platform has resulted in increased consumption of energy and emission of carbon. Such negative effects should be curbed for a more environmental-friendly computing platform, e.g. a green cloud computing platform. Scheduling is one of the aspects that can be looked into in regards to the improvement of the whole cloud architecture, specifically in the scope of resource management. One of the important features that need to be optimized in regards to scheduling is the load balancing process that emphasizes on optimal resource utilization, maximum throughput, maximum response time and prevention of overload. One way to optimize the load balancing process is by implementing the migration of virtual machines across multiple hosts, in which utilization of CPU resources can be optimized. The appropriate use of two different classes of resources e.g. low-powered and high-powered machines based on their Million Instructions Per Second (MIPS) metrics, will lead to minimal process execution time if both types of resources are being efficiently used and effectively mapped to suitable types of processing. According to different machine performance, the migration of virtual machines will be computed based on the current CPU utilization following three different conditions, i.e. when the CPU usage reaches its 90%, 10% and 0% marker. Based on this idea, a general algorithm in activating the virtual machine migration is proposed, in which the overall load balancing process could be improved. Keywords—Cloud Computing, virtual machine migration, load balancing, Cloudsim, CPU Utilization. I. INTRODUCTION In recent years, the demand for Cloud computing is on the rise and it has become a focus in information technology arena. Cloud computing has been widely employed by the industry community, government bodies, business and also among academy and research community [1]. As shown in Figure 1, Cloud computing is the Internet service provider that manages computing resources such as networks, servers, storage, applications and services with minimal management effort. The services provided by Cloud are accessible anywhere. This computing platform offers pools of virtualized computing resources that can help in reducing the initial investment and maintenance cost, especially for the requirements of hardware, software and professional skills [2, 3]. This technology is also known as a pay-per-use service technology, in which the cost is measured based on the usage. Cloud platform is known to provide fast service delivery to its clients and thus should be reliable in managing its computational resources to ensure and maintain its high-performance. In this aspect known as the scheduling activity, load balancing is one of the important features. Cloud computing uses virtualization technology in managing a large pool of processes and data and also in managing the computational resources that are supporting the the cloud itself. The virtualization technology also makes the cloud computing infrastructures to be scalable and expandable. Supported by the virtualization, the use of virtual devices will significantly reduce server power costs and minimize hardware cost [4]. In managing resources of Cloud, virtual machines are arranged to particular hosts available in the Cloud and such arrangement will be decided by a scheduler. In this context, one important detail is the appropriate mapping and placement of virtual machines onto the hosts on the Cloud platform. Any request for computational resources will be constructed in the form of virtual machines that can be freely distributed among physical resources. To ensure efficient use of physical resource, migration of virtual machine across different hosts should be appropriately considered especially to enable the data center to consolidate their computing services and use minimal number of physical servers. The advantages of appropriate migration of virtual machines include effective load balancing, server consolidation, online maintenance and proactive fault tolerance. In this given scope, the main objective of our research is to improve the load balancing process by having efficient migration of virtual machines across physical resources hosted on the Cloud infrastructure. In the long run, improvement of the load balancing process will improve the overall process of resource management on Cloud and thus will help in promoting the concept of green cloud computing. Figure 1. Overview of cloud computing

Transcript of [IEEE 2014 5th International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur,...

Page 1: [IEEE 2014 5th International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur, Malaysia (2014.6.3-2014.6.5)] 2014 5th International Conference on Intelligent and

978-1-4799-4653-2/14/$31.00 © 2014 IEEE

Virtual Machine Migration Implementation in Load Balancing for Cloud Computing

Rabiatul Addawiyah Mat Razali, Ruhani Ab Rahman, Norliza Zaini, Mustaffa Samad

Faculty of Electrical Engineering, Universiti Teknologi MARA (UiTM) 40450 Shah Alam, Selangor Darul Ehsan, Malaysia

[email protected], [email protected], [email protected], [email protected]

Abstract- The demand for Cloud computing usage is

increasing day by day due to the advantages and facilities it offers. The fast growing rate of the usage of large-scale computing machines on cloud platform has resulted in increased consumption of energy and emission of carbon. Such negative effects should be curbed for a more environmental-friendly computing platform, e.g. a green cloud computing platform. Scheduling is one of the aspects that can be looked into in regards to the improvement of the whole cloud architecture, specifically in the scope of resource management. One of the important features that need to be optimized in regards to scheduling is the load balancing process that emphasizes on optimal resource utilization, maximum throughput, maximum response time and prevention of overload. One way to optimize the load balancing process is by implementing the migration of virtual machines across multiple hosts, in which utilization of CPU resources can be optimized. The appropriate use of two different classes of resources e.g. low-powered and high-powered machines based on their Million Instructions Per Second (MIPS) metrics, will lead to minimal process execution time if both types of resources are being efficiently used and effectively mapped to suitable types of processing. According to different machine performance, the migration of virtual machines will be computed based on the current CPU utilization following three different conditions, i.e. when the CPU usage reaches its 90%, 10% and 0% marker. Based on this idea, a general algorithm in activating the virtual machine migration is proposed, in which the overall load balancing process could be improved.

Keywords—Cloud Computing, virtual machine migration, load balancing, Cloudsim, CPU Utilization.

I. INTRODUCTION

In recent years, the demand for Cloud computing is on the rise and it has become a focus in information technology arena. Cloud computing has been widely employed by the industry community, government bodies, business and also among academy and research community [1]. As shown in Figure 1, Cloud computing is the Internet service provider that manages computing resources such as networks, servers, storage, applications and services with minimal management effort. The services provided by Cloud are accessible anywhere. This computing platform offers pools of virtualized computing resources that can help in reducing the initial investment and maintenance cost, especially for the requirements of hardware, software and professional skills [2, 3]. This technology is also known as a pay-per-use service technology, in which the cost is measured based on the usage. Cloud platform is known to provide fast service delivery to its clients and thus should be

reliable in managing its computational resources to ensure and maintain its high-performance. In this aspect known as the scheduling activity, load balancing is one of the important features.

Cloud computing uses virtualization technology in managing a large pool of processes and data and also in managing the computational resources that are supporting the the cloud itself. The virtualization technology also makes the cloud computing infrastructures to be scalable and expandable. Supported by the virtualization, the use of virtual devices will significantly reduce server power costs and minimize hardware cost [4]. In managing resources of Cloud, virtual machines are arranged to particular hosts available in the Cloud and such arrangement will be decided by a scheduler. In this context, one important detail is the appropriate mapping and placement of virtual machines onto the hosts on the Cloud platform. Any request for computational resources will be constructed in the form of virtual machines that can be freely distributed among physical resources. To ensure efficient use of physical resource, migration of virtual machine across different hosts should be appropriately considered especially to enable the data center to consolidate their computing services and use minimal number of physical servers. The advantages of appropriate migration of virtual machines include effective load balancing, server consolidation, online maintenance and proactive fault tolerance. In this given scope, the main objective of our research is to improve the load balancing process by having efficient migration of virtual machines across physical resources hosted on the Cloud infrastructure. In the long run, improvement of the load balancing process will improve the overall process of resource management on Cloud and thus will help in promoting the concept of green cloud computing.

Figure 1. Overview of cloud computing

Page 2: [IEEE 2014 5th International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur, Malaysia (2014.6.3-2014.6.5)] 2014 5th International Conference on Intelligent and

II. RELATED WORKS

In the cloud computing research area, a number of migration techniques have been proposed by taking the different approaches. Xiaoying Wang implemented the design of the decentralized virtual machine migration approach, which considers both load balancing and saving energy costs by turning some underutilized nodes into sleeping states. The migration of the virtual machine was decided by two thresholds for the system [5]. In a different work, Ts’epo Mofolo has developed a resource allocation mechanism based on virtual machine migration by keeping the migration time as minimums possible, while also minimizing the number of migrations. This work presents a virtual machine placement algorithm that is the Best Fit Decreasing (BFD) algorithm, which takes into account the resource utilization of CPU, RAM and the network bandwidth, but not considering the physical resources [6].

By looking at the single virtual machine migration and dynamic virtual machine consolidation problem, K.Maurya has conducted a competitive analysis of optimal online deterministic and adaptive migration thresholds based algorithms. The work considers the higher and lower thresholds for migration of virtual machine on the servers, while also considering RAM and bandwidth for better performance and load balancing. To reduce the number of migration, the integration of the minimum migration time policy was proposed [7]. In a different study, W. Voorsluys, J. Broberg, and S. Venugopal has analyzed the effect of virtual machine live migrations on modern internet applications, which are directly responsible to changes in environment behavior such as service availability and responsiveness. The results show that the migration process as a useful capability of virtualized clusters and data centers, which allows more flexible management of available physical resources. This is by making it possible to load balance and do infrastructure maintenance without compromising application availability and responsiveness [8].

In comparison to others, our proposed model emphasizes the idea of having thresholds with three conditions and physical resources are distinguished based on their MIPS performance, e.g. high-powered and low-powered. The proposed method constructed based on this idea is expected to promote the minimum number of virtual-machine migration onto the appropriate hosts classified as low-powered and high-powered resources. While at the same time, this approach is expected to appropriately balance the load in the cloud computing system, and thus promoting the green computing, in which the energy consumption and carbon emission are being reduced. Without load balancing implementation, users could experience delays, timeouts and possible long system responses [9].

III. VIRTUAL MACHINES MIGRATION

The virtual-machine migration is defined as the movement of virtual machine from one physical host to another [10]. Migration time is the time taken by each task to migrate between virtual machines in cloud computing. Thus, to achieve proper load balancing, the cloud data center dynamically migrates and deploys virtual machine to meet user’s needs without disrupting the service being delivered to the user [11]. Several migration techniques are available for migrating virtual machine from one host to another such as pre copy, post copy, adaptive compression, Least Recent Used (LRU) and splay tree, check point recovery trace and replay method [12]. The migration process also helps in supporting other Cloud activities, such as server consolidation, online maintenance, proactive fault tolerance and load balancing [9]. In addition, it can also reduce the cost of usage and perform a fast resource allocation in cloud computing. Apart from that, the solution of high energy consumption is not just the quantity of computing resources and the power inefficiency of hardware, but it is because of inefficient usage of these resources [11].

IV. CPU UTILIZATION

The main idea we are proposing for this method is to rely on the CPU utilization to determine the threshold conditions. One of the way to assess the efficiency of a particular system is to look at its utilization rate, which can be measured in various methods. One of the method is presented in [13], i.e. the sar that is one of the sysstat packages, namely a collection of system measurement and monitoring tools being used for analyzing system performance such as CPU, I/O, memory, and others. Another approach is presented in [14], where the CPU utilization can be measured by the count out of the CPU usage of a current server, which makes the historical data as a training set, establish prediction model, and predict the CPU usage for the next moment. The CPU utilization Uvirtual machine (Uvm) can also be calculated from the given formula (1) stated in [15]:

(1)

V. CLOUDSIM TOOLKIT SOFTWARE

Our proposed method will be implemented by using the Cloudsim toolkit software [16], which is a new and extensible simulation framework. The general architecture is shown in Figure 2. Cloudsim allows seamless modeling, simulation, and experimentation of emerging cloud computing infrastructures and application services. By using Cloudsim, the researchers can examine the performance of a new development application service and it is also easy to innovate with little programming and deployment effort. The Cloudsim also

Page 3: [IEEE 2014 5th International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur, Malaysia (2014.6.3-2014.6.5)] 2014 5th International Conference on Intelligent and

support both system and behavior modeling components of the system such as data centers, virtual machines and resource provisioning policies. The features of Cloudsim would boost the development of new application provisioning algorithms for cloud computing. From that, this research will deploy the Cloudsim framework in order to achieve the objectives of the study.

Figure 2. Layered Cloudsim architecture [16]

VI. PROPOSED WORK

In our proposed model, the scheduler will start its process by arranging multiple resources in ascending order in accordance to their power consumption, i.e. based on Million Instructions per Second (MIPS) and bandwidth (MbPS). The virtual machines will also be sorted based on their expected execution time on the resource with low power (MIPS) in order to save energy and reduce the use of physical machines. In a distributed system environment, there might be cases which will lead to long waiting time, e.g. if all virtual machines are waiting for a single preferred resource, even though there are other resources available to execute the task. In such a scenario, our proposed algorithm will avoid the long wait by migrating the virtual machine to other available resources in accordance to the right CPU utilization and virtual-machine’s minimum execution time. Furthermore, this method will also maximize the utilization across multiple resources to avoid the idling of resources and long execution time on a particular resource.

Therefore, if a virtual machine is found to have the maximum expected execution time, it will be assigned to the resource, which will lead to the minimum execution time. While for a virtual machine that has minimum execution time, it will be assigned to a resource with the minimum cost and minimum execution time. Furthermore, a virtual machine that requires a large size of RAM (Read Only Memory) must be executed on a high capability resource (with big memory size) in order to have a minimum execution time. Once each of the virtual machines has finished their current execution, each of them will update the CPU usage on each resource and ready to be re-assigned again.

A. When And Where To Migrate In order to have a minimum migration time, the virtual-

machine migration will depend on the following three conditions:

1. If the current resource’s CPU usage is greater than 90% (which means that it is overloaded), then the virtual machine will be migrated to another resource with the CPU usage that is less than 50%.

2. If the current resource’s CPU usage is less than 10% (which means that it is underutilized), then the virtual machine will be migrated to another resource with CPU usage that is less than 70%.

3. If a resource’s CPU usage is 0% (which means that it is not in used), then the resource will be put in the sleep mode, which will save energy.

B. Allocation Of Virtual machines Once chosen for migration, the placement of a virtual

machine is dependent on the CPU usage of the destined resource. Each resource will update their CPU usage once a task has been completed. In order to save energy, the allocation of a virtual machine will be decided based on the CPU utilization, i.e. one with minimal usage, based on the three conditions mentioned earlier. This approach will lead to higher utilization of resources, while avoiding the long-wait cases.

VII. PRELIMINARY RESULTS

In a simulation conducted on Cloudsim, one data center is deployed, which has two physical hosts, specifically one low-powered MIPS and one high-powered MIPS, each with 2048MB and 8192MB RAM respectively. While the virtual machines are having the same parameters of 2048MB RAM each. The same size Cloudlets of 300byte have been assigned to each virtual machine as showed in Figure 3 as follows:

Cloudlets Virtual Machines

Cloudlet 0 VM 0 Cloudlet 1 VM 0 Cloudlet 2 VM 1 Cloudlet 3 VM 1 Cloudlet 4 VM 2 Cloudlet 5 VM 3 Cloudlet 6 VM 4

Figure 3. Assignment of Cloudlets onto virtual machines

Figure 4. Time taken to finish the tasks

Page 4: [IEEE 2014 5th International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur, Malaysia (2014.6.3-2014.6.5)] 2014 5th International Conference on Intelligent and

Figure 4. Time taken to finish the tasks A Cloudlet is the task that has been assigned to each virtual

machine (VM) according to the Cloudsim allocation policy. Figure 4 shows the time taken for each of the virtual machines to complete the task. Since there are two cloudlets running on VM 0 and VM 1, it takes two times longer than other VM to execute. The result shows that most of the virtual machines execute in the high power MIPS host and only one virtual machine operates in low-powered MIPS host, which is VM 0. Thus, it is important to have a virtual machine allocation policy in order to be more balanced and to reduce the utilization of high-powered MIPS host by default. The high-powered host will execute the virtual machine faster than low-powered MIPS host, but it will lead to high cost and energy consumption.

VIII. CONCLUSION AND FUTURE WORKS

The main objective of a cloud computing platform is to deliver efficient services to its clients. Its physical and logical infrastructure is known to consist of a large number of resources. Testing a new improved implementation on such an environment on a real setup is difficult to manage and time consuming. Thus as an initial study, this paper presents a simulated implementation of virtual machine migration for load balancing by classifying virtual machines according to their expected execution time. Virtual machines with maximum execution time will be allocated and migrated to high-powered resources, while virtual machines with minimum execution time will be allocated to low-powered resources. As shown in the initial experiment, based on the proposed method, it is possible to have a minimum migration of virtual machines and efficient utilization of resources, which will eventually lead to a green cloud computing approach. The full implementation of the proposed algorithm will be carried out in the future on a real physical setup.

ACKNOWLEDGMENT

This research is funded by the Dana Kecemerlangan (RIF) Fund, UiTM (600-RMI/DANA 5/3/RIF (85/2012)).

REFERENCES

[1] [1] W. Zhao, Y. Peng, F. Xie, and Z. Dai, “Modeling and Simulation of Cloud Computing : A Review,” pp. 20–24, 2012.

[2] A. Corradi, L. Foschini, J. Povedano-Molina, and J. M. Lopez-Soler, “DDS-enabled Cloud management support for fast task offloading,” 2012 IEEE Symp. Comput. Commun., pp. 000067–000074, Jul. 2012.

[3] A. Bardsiri and S. Hashemi, “A Review of Workflow Scheduling in Cloud Computing Environment,” chinacloud.cn, vol. 1, no. 3, pp. 348–351, 2012.

[4] T. Vinh and T. Duy, “Performance Evaluation of a Green Scheduling Algorithm for Energy Savings in Cloud Computing.”

[5] X. Wang, X. Liu, L. Fan, and X. Jia, “A Decentralized Virtual machine Migration Approach of Data Centers for Cloud Computing,” vol. 2013, 2013.

[6] R. Suchithra, “Heuristic Based Resource Allocation Using Virtual machine Migration : A Cloud Computing Perspective,” vol. 2, no. 5, pp. 40–45, 2013.

[7] M. Computing, “Energy Conscious Dynamic Provisioning of Virtual machines using Adaptive Migration Thresholds in Cloud Data Center,” vol. 2, no. March, pp. 74–82, 2013.

[8] W. Voorsluys, J. Broberg, and S. Venugopal, “Cost of Virtual machine Live Migration in Clouds : A Performance Evaluation,” pp. 1–12.

[9] Z. Chaczko, V. Mahadevan, S. Aslanzadeh, and C. Mcdermid, “Availability and Load Balancing in Cloud Computing,” vol. 14, pp. 134–140, 2011.

[10] Rakhi k Raj, “Live Virtual Machine Migration Techniques – A Survey” vol. 1, no. 7, pp. 1–7, 2012.

[11] K. Li, G. Xu, G. Zhao, Y. Dong, and D. Wang, “Cloud Task Scheduling Based on Load Balancing Ant Colony Optimization,” 2011 Sixth Annu. Chinagrid Conf., pp. 3–9, Aug. 2011.

[12] Ottawa ON K1A 1H3, “Introduction to Cloud Computing Cloud Computing.”

[13] M. Bourguiba, K. Haddadou, I. El Korbi, and G. Pujolle, “Improving Network I / O Virtualization for Cloud Computing,” pp. 1–11, 2013.

[14] “The concept of virtualization « IT Support IT Consulting IT Outsourcing Managed IT Services Smartech.” .

[15] C. Science and W. Bengal, “A Smart Job Scheduling System for Cloud Computing Service Providers and Users : Modeling and Simulation,” 2012.

[16] V. Kunamneni, “Dynamic Load Balancing for the Cloud,” no. 2315, pp. 33–37, 2012.