Keywords

1 Introduction

Cloud computing is a research area which deals with on-demand availability of computer resources. Almost all IT industries need flexible cloud computing platform with millions of physical hosts and devices. It is also the computing over Internet with no requirement of the infrastructure at the user’s site. The main technology behind cloud computing is virtualization with the help of which the cloud providers offer the on-demand services to the users. These services are Pay-Per-Use services which are flexible, reliable, and available. Instead of purchasing the high-cost infrastructure and maintaining it, organizations can make use of cloud platform. There exists pool of resources associated with cloud and these resources are labeled as local or global pool resources [1]. Local pool resources belong to same cluster and can be accessed by clients belonging to same cluster without authorization. While the global pool resources belong to distinct clusters, these resources are outside the premises of client. In order to access these resources proper authorization is required. The cost encountered while accessing such resources is high [2], and in order to tackle this issue, optimum allocation policies are worked upon where global pool resources are accessed only if local resources are unavailable.

However, reliability is a major concern in cloud computing since the resources and mass requirements may vary. The required resources for the desired period of time may not serve the purpose of client and hence reliability is an issue that is considered in this research. One of the possible mechanisms to enhance reliability is to make use of load balancing strategies [3]. Several mechanisms are prescribed for balancing the load on virtual machines (VMs) and though cloud is considered to be containing virtually infinite resources but still load asserted by various clients makes it fail in one way or the other [4].

This has led to the creation of large-scale data centers which contain large number of nodes which consumes enormous amount of electricity hence leading to environmental degradation. This inefficient usage of resources is the main reason for this high energy. The handling and managing of the over-provisioned resources result toward the high cost. Another problem is the servers, even the ideal servers consume up to 70–75% of the power. Hence keeping the servers underutilized is highly inefficient. High-energy consumption by the infrastructure leads to carbon dioxide emission which leads to greenhouse effects.

With the help of the virtualization, multiple virtual machines can be created on a single physical server which improves the utilization of the resources. This also leads to increased Return on Investments (ROI). Switching the ideal nodes to sleep or hibernate mode can help to achieve reduction in energy consumption. Live migration is one technique, using which the VMs can be consolidated to least number of nodes based upon their requirement. With application’s increased demand that leads to rise in the resource utilization can cause performance degradation in VMs. If the application’s resource requirements are not met, then the application faces increased time outs, failures, response times, etc. Hence the providers focus on the reduced energy consumption which is a part of Service Level Agreement (SLA).

This paper pays stress on determining accurate load on servers and then initiates migration depending upon the migration time and the utilization of the virtual machine. The load balancing strategies considered for evaluation are broker dependent. The enhancement to load balancing strategies leads to migration strategies. Rest of the paper is organized as follows: Sect. 2 discusses earlier work that focuses primarily on load balancing strategies. Section 3 provides in depth the research methodology followed. Section 4 provides performance analysis and results. Finally, we make concluding remarks in Sect. 5.

2 Review of Literature

This section is categorized into two subsections. In the first subsection, we discuss the various work done in load balancing strategies. While the second subsection discusses about migration.

  1. (a)

    Load Balancing Strategies: In this subsection, we discuss the various contributions made in the field of load balancing in cloud environment.

Nathuji and Schwan [5] were the first to consider the issue of power management of virtualized data centers. Their proposed technique divided the resources into local and global level. The operating system’s power management strategies were supported by local level. While the global manager gets the information from the local mangers regarding the current resource allocation and then applies its policies to decide if the VM placement needs to be considered.

Pinheiro et al. [6] worked on minimization of power consumption which serves multiple web applications. In their technique the idle nodes were turned off. The load of the nodes was monitored periodically to take the decision to turn off the idle nodes. This check helps to minimize the overall power consumption. However, their technique suffered from a major shortcoming as the algorithm used to run on master node, it created the problem of single point failure.

Chase et al. [7] worked on the problem of homogeneous nature of resources in Internet hosting centers. Since determining the resource demand of the application and allocating the resources is a major challenge. Therefore, they applied a technique where the services used to bid for quantity of resources. The system serves the request for each service by maintaining an active set of servers. By switching the ideal servers to power saving modes the energy consumption was reduced. The web workload was targeted by the system which includes noise in the data. This problem was addressed by applying “flip-flop” filters.

Kusic et al. [8] used heterogeneous environment to define the problem of the power management and addressed it using Limited Lookahead Control (LLC). To estimate the future requests and the future state, Kalam filters are applied to perform the reallocations. Due to model’s complexity the execution time was more.

Zhu et al. [9] worked on the issue of automated resource allocation and capacity planning. They considered different time scale ranging from hours to seconds. This places workload onto the groups of servers, reallocates the VMs, allocates resources to the VMs, and applied an approach of setting up the fixed utilization threshold value, which was not that efficient.

Berral et al. [10] used the machine learning technique to optimize energy consumption and SLA. Their proposed approach was designed for the High-Performance Computing (HPC) where concept of deadline constraint occurs making it unsuitable for the mixed workload.

Keahey and Deshpande [11] considered the migration of the multiple virtual machines from multiple source hosts to multiple destination hosts taking network contention into consideration.

Beloglazov and Buyya [12] proposed an algorithm which is used to reduce energy consumption while maintaining high-level SLA. Their approach was based upon a novel adaptive heuristics for dynamic consolidation of VMs which is used to analyze the historical resource usage of the VM.

  1. (b)

    Migration: Since, the literature discussed in the above subsection mainly focused on load balancing strategies that ultimately lead to migration strategies. Generally, load balancing strategies are categorized as the following [13,14,15,16]:

    • Time Quantum-Based Load balancer

    • Weighted Round Robin Load balancing

    • Least Connection-based Load balancing

    • Weighted Least Connection

    • Agent-based Load balancing approach.

The migration is initiated if any of the above load balancing strategies fail. The migration strategies are commonly used for fault tolerance and increasing reliability. Migration is required if deteriorated virtual machines or servers are detected [17, 18]. The migration mechanism could be data oriented or virtual machine oriented [19, 20].

Data Migration [21, 22]: Data migration mechanism shifts the data from current server or virtual machine to next virtual machine. The data centers in the cloud act as resource provider and virtual machine mechanism divides the data centers into a set of virtual machines. Time-critical applications often require that virtual machine to complete the assigned task within prescribed deadline. This task execution requires data and if virtual machine is not executing task within deadline then data migration is also required. Moreover, data migration plays a critical role in reactive fault tolerance.

VM Migration [23, 24]: VM migration is required incase virtual machines become unusable. The VM migration mechanism could be live or offline. In offline migration, source and destination virtual machines must be switched off while performing transformation. This leads to increase in downtime and migration time. In live migration source and destination both are online in nature. This means that downtime and migration time shows great deviation as compared to offline deviation. Live VM migration, however, suffers from overhead problem of maintaining database and storage resources all the time. A possible solution to overcome this problem is to use hybrid migration that uses advantages of both offline and online migration.

Core Migration: The core level migration is within the local pool of virtual machines. The virtual machines are divided into cores as per requirements of the client. The dynamic requirements cause virtual machines to split into parts where each distinct part is known as core. Core migration mechanism initiates if one part of virtual machine fails then other core within same virtual machine is selected for migration. The core level migration is divided into static and dynamic parts. Static cores are fixed that means core division is fixed to specific quantity and in dynamic core division, core partitioning depends upon the requirements of the clients. The reliability in both the cases is high but overhead in dynamic cores is more as compared to static core migration.

So taking inspiration from above studies, migration mechanism in the proposed system is dynamic and online facility of virtual machines is used for decreasing downtime and migration time. Through this research we try to fulfill two main objectives: (a) To reduce the overall energy consumption in the cloud environment. (b) To increase the overall efficiency of the cloud system.

3 Research Methodology

Multiple hosts are considered during migration process. Physical machine selected as a host for migration does not perform any migration. In other words, this host is a static host that is optimal enough without deterioration affects. The simulation setup for the proposed mechanism is described in Table 1.

Table 1 Simulation setup for the proposed mechanism

The simulation mechanism first of all initializes the Cloudsim. Once the Cloudsim is initialized, datacenter is created. The datacenters provide resources to the virtual machines. The virtual machines are given proportionate resources corresponding to the datacenter. The broker initialized for the simulation determines the optimal VM and assign cloudlets to the VM. The VM capacity is the critical parameter determining load over the host machine. As the load over the host increases, host may deteriorate. This requires a special host machine that is used for hosting the migrated task. This machine has high memory capacity for holding the task list that is received from deteriorated machines.

The entire implementation of the proposed work is done using Cloudsim 3.0. Host-based migration is considered in the proposed system for achieving optimality of result. With the decreasing migration time and the increasing utilization, Energy consumption is decreased to some extent and if the expected migration time of any VM is less as compared to the other VMs, it will be migrated to the destination host. The flowchart of the proposed work is given in Fig. 1.

Fig. 1
figure 1

Flowchart of the proposed work

The proposed mechanism follows the broker aware monitoring that allows the load to be balanced in case threshold load is exceeded. In case overloaded host is detected, host-level migration is initiated. The overloaded host list is maintained to prevent the load allocation on the overloaded host. The starvation problem and reliability are resolved using the proposed mechanism. This is demonstrated using the result and performance analysis.

4 Performance and Result

The performance and result analysis indicate the performance betterment in terms of downtime and migration time. The downtime indicates amount of time during which virtual machine does not perform any operation. Migration time indicates the amount of time that is required for transferring the memory and processing elements toward the destination host. Migration time and downtime are being optimized using the proposed mechanism.

To accomplish the task of comparing the efficiency of our algorithm, we have made use of several metrics. These metrics include Energy Consumption by the servers; another metric is VM migration time and the last metric is Utilization of the VMs which is considered high. With the combination of the decreased VM migration time and the increased utilization of the VM, Energy Consumption is decreased. The result of downtime comparison is shown in Fig. 2.

Fig. 2
figure 2

Downtime of existing and proposed mechanism

It is observed that at lower cloudlet count, the value of downtime does not show much variation but at high cloudlet count downtime shows significant deviation. The proposed mechanism reduces downtime as the load on the host increases. The migration time is compared against the existing migration time which is much greater at higher loads as compared to proposed mechanism. This is demonstrated through Fig. 3.

Fig. 3
figure 3

Migration time comparison of existing and proposed system

The migration time at significantly low load is similar for both existing and proposed mechanism. At higher load the values show deviation toward the proposed system. The Score factor is given in Eq. 1, where f1 is the migration time (factor 1) and f2 is the utilization (factor 2). \(\alpha\) is the weight of the various VMs.

$${\text{SF}} = \alpha 1f1 + \left( {1 - \alpha 1} \right)f2$$
(1)

The performance and result are observed in terms of energy consumed which are also optimized through the proposed system. For optimization, this factor must be reduced. By following our proposed approach energy consumption is significantly reduced. The plots in terms of energy consumed are given in Fig. 4. The results show that energy consumed is reduced significantly using our proposed approach.

Fig. 4
figure 4

Comparison of energy consumption

Through this study, we also tried to established migration time, utilization and energy consumption. The results are shown in Table 2, while they are presented as a correlation plot in Fig. 5. Migration time and energy consumption share a strong positive association of 87%, utilization and energy consumption share a moderate positive association of 38%, while migration time and utilization share a weak negative association of 7%.

Table 2 Values of various parameters
Fig. 5
figure 5

Relationship plot

5 Conclusions

Nowadays cloud computing is providing a cheap alternative to organizations to carry out their operations. However, the problem of load balancing creates a major hindrance at performance level. The aim of this paper was to work on the principle of load balancing and migration. The load on the host is observed, and then threshold values are maintained to check overloaded virtual machines. In addition, overloaded virtual machine host deterioration is checked. In case deterioration is detected, hosts which are not overloaded are considered and randomly the VMs are selected from those hosts. The randomly selected VMs migration time and the utilization are checked. The machine with the minimum migration time and the maximum utilization will be migrated to the destination host. The result obtained shows improvement at greater load and hence proves worth of study.