Meta heuristic-based task deployment mechanism for load balancing in IaaS cloud

https://doi.org/10.1016/j.jnca.2018.12.010Get rights and content

Abstract

An Infrastructure-as-a-service (IaaS) cloud is a new paradigm which offers computing and storage services in form of virtual machines to the cloud users. Due to increasing demand and diversity of the applications, most of the servers are become overloaded or imbalanced and affects the performance of the cloud system. Most of the existing strategies have developed a series of algorithms to pick out the optimal target server to achieve the immediate load balancing. However, it is proved in the literature that immediate load balancing does not meet the high execution efficiency and resource utilization of the servers. In this paper, we propose a new load balancing mechanism for a long-term process referred as LB-RC (load balancing resource clustering). The meta-heuristic Bat-algorithm is applied to obtain optimal resource clustering and their cluster centers for faster convergence. We also propose a new dynamic task assignment policy to achieve the minimum makespan and execution cost within the given constraints. The proposed algorithm is tested and compared with the existing algorithms over various synthetic datasets and performance matrices to prove its superiority.

Introduction

Cloud computing is a new distributed environment has gained popularity for providing computing resources over the Internet (Garg et al., 2012; Suresh and Sakthivel, 2017; Banerjee et al., 2014). The cloud service provider runs data centers consist of thousands of servers which can host multiple virtual machines (Adhikari and Amgoth, 2018). The cloud provides three types of services such as Infrastructure-as-a-service (IaaS), Platform-as-a-service (PaaS), and Software-as-a-service (SaaS). An IaaS cloud offers computing and storage services in form of virtual machines to the cloud users. The infrastructure of the cloud deals with dynamic load changes, ranging from peak performance to utilization gaps. This brings up two points: firstly, pre-establishment of cloud infrastructure to handle the dynamism of resource consumption and secondly, it has to utilize the resources efficiently and reduce the resource wastage (Garg et al., 2014; Teylo et al., 2017). For example, if the remaining resource capacity of the server is smaller than the resource amount requested by the task, then the server cannot handle the task within the given time constraints. On the other hand, most of the servers remain relatively ideal which cause the resource wastage of the cloud data center.

Most of the recent works (Kumar Bishwkarma and Vyas, 2016; Basker et al., 2014; Elzeki et al., 2012; Song et al., 2014; Nurmi et al., 2009; Jia, Yang, Wei, Ding, Hu, Xu; Maguluri and Srikant, 2013; Xu et al., 2013; Pham et al., 2016; Wang, Tao, He, Kuang; Dhinesh Babu and Venkata Krishna, 2013; Hu et al., 1998; Cao et al., 2014; Chitra Devi and Rhymend Uthariaraj, 2016; Gill et al., 2017a; Gill et al., 2017b; Kumar and Sharma, 2017a; Kumar and Sharma, 2017b; Wang et al., 2011; Google. Google Cluster Da; ZhangJoseph and Boutaba, 2011; Mishra et al., 2010; Moreno et al., 2014) have focused on immediate load balancing on the servers and deployed the tasks to the optimal loaded server. This may affect the performance and efficiency of the data center in the long-term and may increase the waiting time of the users. Due to increasing demands and diversity of the tasks, the resources requested by the tasks have rarely possible to meet the remaining resources available on the server. Based on the above statement, it does not ensure that the immediate load balancing mechanism is successful in achieving their objectives. Resource clustering is a procedure of organizing the resources into several homogeneous groups whose members are similar in nature (Moreno et al., 2013). Clustering algorithms are normally classified in two ways: hierarchical and partitional clustering (Sarkar et al., 1998; Frigui and Krishnapuram, 1999). In hierarchical clustering, resources are grouped like a tree structure. The partitional clustering is a procedure that attempts to divide the resources into some non-overlapping subsets. Implementing partitional clustering can group the servers into some homogeneous groups according to their load and a high degree of similarity. Some of the others clustering methods are (Zahn, 1971; Paterlini and Minerva, 2003; Omran et al., 2005). Most of the clustering methods achieve the local optimum solutions but suffer from achieving the global optimum.

In this work, we propose a new load balancing approach for finding the optimal set of servers for task assignment to balance the load of the servers in a long-term process. The proposed algorithm referred as LB-RC. The algorithm is divided into four phases, resource clustering, merging of clusters, resource optimization, and task assignment policy. In the first phase, servers are grouped into homogeneous clusters based on their loads and cluster centers. Next phase, the null cluster and small cluster problem are solved by adopting a rule-based merging technique. This phase merges the null cluster and the small cluster with the similar types of the clusters to reduce the number of clusters. In resource optimization phase, the population size is optimized using Bat algorithm to obtain the optimal clustering set of the servers to overcome the global optimum problems. The Bat algorithm is a nature-inspired technique and it is selected for the optimization of cluster centers because this procedure is equipped with quick convergence capability for detecting multiple objects. Finally, the tasks are deployed to the optimal servers with the best-fit VM instances based on the QoS constraints such as deadline and budget constraints. The performance of the proposed algorithm is evaluated using synthetic datasets and compared with the state-of-arts existing algorithms. The main contributions of the work are summarized as follows.

  • 1)

    A comparative review of existing load balancing strategies along with their merits and demerits.

  • 2)

    Devised a new resource clustering strategy to cluster the servers based on their current loads and cluster centers.

  • 3)

    Proposed a new rule-based merging technique to merge the null and small clusters to minimize the number of clusters.

  • 4)

    Applied the Bat optimization technique to combine both the local and global search capabilities for finding the optimal cluster centers with faster convergence rate.

  • 5)

    Developed a new task assignment policy to minimize the makespan and execution cost.

  • 6)

    Finally, a comprehensive validation of the proposed algorithm via simulation runs using synthetic datasets.

The rest of the paper is organized as follows. Section 2 presents the related work. The overview of the Bat optimization technique is discussed in Section 3. The system model along with the problem statement are discussed in Section 4. The proposed algorithm described in Section 5. Performance evaluation of the proposed algorithm is discussed in Section 6 and concluding remarks are given in Section 7.

Section snippets

Related work

Load balancing is an important research topic in the field of cloud computing and its goal is to balance the workload among the servers and maximizes resource utilization. Researchers proposed various static, dynamic and hybrid load balancing strategies for the cloud environment. Here, we discussed some of the recent static and dynamic load balancing algorithms in the related area (Kumar Bishwkarma and Vyas, 2016; Basker et al., 2014; Elzeki et al., 2012; Song et al., 2014; Nurmi et al., 2009;

Bat algorithm

Bat algorithm is a meta-heuristic algorithm proposed by Xin-She Yang in 2010. The method was inspired by the echolocation behavior of Bats (Yang, 2010). Bats are the only mammals with wings and they also have the capability of echolocation. These Bats release a loud sound pulse and listen for the echo that bounced back from the surrounding objects. The pulse rates of the Bats vary in prosperities and can be related to their hunting strategy. All Bats use echolocation to identify the distance

Preliminaries

In this section, we first elaborate on the system model followed by the problem statement of the proposed LB-RC algorithm along with the objectives of the work.

Load balancing based on resource clustering algorithm

The proposed LB-RC algorithm consists of four phases, resource clustering, merging clusters, optimizing clusters, and task assignment. They are as follows

Resource clustering: The IaaS cloud consists of a large number of servers with heterogeneous loads. The resource clustering strategy clusters the servers in various homogeneous groups. Initially, the algorithm starts with randomly selected K cluster centers {CC1, CC2, CC3, …, CCK} which minimizes the error function.Err(CC1,CC2,...,CCK)=i=1KErr

Performance evaluation

The proposed LB-RC algorithm is a meta-heuristic technique therefore, simulation results are the best way to measure the performance of the proposed method. The evaluation of the LB-RC algorithm was performed over different synthetic datasets of various sizes. The sizes of the different synthetic datasets with a number of tasks associated with it are shown in Table 2. In the experiment, the sizes of the tasks are generated randomly at runtime and the size is represented as Millions of

Conclusion

In this paper, we have proposed a new meta-heuristic based task deployment policy for long-term load balancing effect in cloud data center. The proposed LB-RC algorithm employed a center-based clustering process with Bat based optimization technique to select the optimal cluster sets of the servers. The Bat algorithm has an ability to find the optimal cluster sets of the servers with faster convergence capabilities. This may reduce the execution time and makespan of the task while meeting the

Mr. Mainak Adhikari, currently pursuing his Ph. D in Cloud Computing from IIT(ISM) Dhanbad from the year 2015. He has obtained his M.Tech. From Kalyani University in the year 2013. He earned his B.E. Degree from West Bengal University of Technology in the year of 2011. He is presently working as an Assistant Professor in the Department of Computer Science and Engineering, Budge Budge Institute of Technology, Kolkata, West Bengal. His area of research includes Cloud Computing, Distributed

References (40)

  • Mainak Adhikari et al.

    Heuristic-based load-balancing algorithm for IaaS cloud

    Future Generat. Comput. Syst.

    (2018)
  • S. Banerjee et al.

    Development and analysis of a new cloudlet allocation strategy for QoS improvement in cloud

    Arabian J. Sci. Eng.

    (2014)
  • R. Basker et al.

    An enhanced scheduling in weighted round robin for the cloud infrastructure services

    Int. J. Recent Adv. Eng. Technol.

    (2014)
  • J. Cao et al.

    Optimal power allocation and load distribution for multiple heterogeneous multicore server processors across clouds and data centers

    IEEE Trans. Comput.

    (2014)
  • D. Chitra Devi et al.

    Load balancing in cloud computing environment using improved weighted round robin algorithm for nonpreemptive dependent tasks

    Sci. World J.

    (2016)
  • L.D. Dhinesh Babu et al.

    Honeybee behavior inspired load balancing of tasks in cloud computing environments

    Appl. Soft Comput.

    (2013)
  • O.M. Elzeki et al.

    Improved max-min algorithm in cloud computing

    Int. J. Comput. Tasks

    (2012)
  • H. Frigui et al.

    A robust competitive clustering algorithm with tasks in computer vision

    IEEE Trans. Pattern Anal. Mach. Intell.

    (1999)
  • S.K. Garg et al.

    A framework for ranking of cloud computing services

    Future Generat. Comput. Syst.

    (2012)
  • Saurabh Kumar Garg et al.

    SLA-based virtual machine management for heterogeneous workloads in a cloud data center

    J. Netw. Comput. Tasks

    (2014)
  • Sukhpal Singh Gill et al.

    CHOPPER: An intelligent QoS-aware autonomic resource management approach for cloud computing

    J. Cluster Comput.

    (2017)
  • Sukhpal Singh Gill et al.

    BULLET: Particle swarm optimization based scheduling technique for provisioned cloud resources

    J. Netw. Syst. Manag.

    (2017)
  • Google. Google Cluster Data V1. Available:...
  • Y. Hu et al.

    An optimal migration algorithm for dynamic load balancing

    Concurrency Comput. Pract. Ex.

    (1998)
  • G.Q. Huang et al.

    Bat algorithm with global convergence for solving large-scale optimization problem

    Appl. Res. Comput.

    (2013)
  • Zhao Jia et al.

    A heuristic clustering-based task deployment approach for load balancing using Bayes theorem in cloud environment

    IEEE Trans. Parallel Distr. Syst.

    (2015)
  • G. Komarasamy et al.

    An optimized K-means clustering technique using bat algorithm

    Eur. J. Sci. Res.

    (2012)
  • Mohit Kumar et al.

    Deadline constrained based dynamic load balancing algorithm with elasticity in cloud environment

    J. Comput. Electr. Eng.

    (2017)
  • Mohit Kumar et al.

    Dynamic load balancing algorithm for balancing the workload among virtual machine in cloud computing

  • Manoj Kumar Bishwkarma et al.

    Survey on round robin and shortest job first for cloud load balancing

    Int. J. Eng. Res. Gen. Sci.

    (2016)
  • Cited by (69)

    • A review on job scheduling technique in cloud computing and priority rule based intelligent framework

      2022, Journal of King Saud University - Computer and Information Sciences
      Citation Excerpt :

      The bat population is categorized to ensure that the algorithm does not fall into a local minimum. The LB-RC load balancing system is a revolutionary longterm process load balancing technology described in this Adhikari et al. (2019) work (load balancing resource clustering). Optimized resource clustering and cluster centers are obtained using the meta-heuristic Bat-algorithm.

    • Heuristic initialization of PSO task scheduling algorithm in cloud computing

      2022, Journal of King Saud University - Computer and Information Sciences
    View all citing articles on Scopus

    Mr. Mainak Adhikari, currently pursuing his Ph. D in Cloud Computing from IIT(ISM) Dhanbad from the year 2015. He has obtained his M.Tech. From Kalyani University in the year 2013. He earned his B.E. Degree from West Bengal University of Technology in the year of 2011. He is presently working as an Assistant Professor in the Department of Computer Science and Engineering, Budge Budge Institute of Technology, Kolkata, West Bengal. His area of research includes Cloud Computing, Distributed Computing and Machine Learning. He has Contributed numerous research Articles in various national and international journal and Conference.

    Dr. Sudarshan Nandy was facilitated with a Ph. D (Engineering) from Kalyani University, Kalyani, Nadia, West Bengal, India in the year 2014. He has obtained his M.Tech. (Computer Science and Engineering) from Netaji Subash Engineering College in the year 2007. He earned his B.E. (Computer Science & Engineering) from BPUT, Odisha, India in the year 2004. He is currently working in the Amity School of Engineering, Kolkata. His area of research includes Neural Network, Digital Image Processing, AI, Cloud computing, and optimization. He has contributed many research articles in various journals and conference of repute. He is also a member of various national and international bodies.

    Dr. Tarachand Amgoth received B.Tech in Computer Science and Engineering from JNTU, Hyderabad and M.Tech in Computer Science Engineering from NIT, Rourkela in 2002 and 2006 respectively and Ph.D. form Indian Institute of Technology (Indian School of Mines), Dhanbad. Presently, he is working as an Assistant professor in the Department of Computer Science and Engineering, Indian Institute of Technology (Indian School of Mines), Dhanbad. His current research interest includes wireless sensor networks and cloud computing. He has contributed more than 50 publications in reputed international journals and conference. Currently, he is teaching Algorithm design and analysis and computer architecture to UG students and high performance computer architecture to PG students. He also acted as a technical programme committee member for many international conference held in India and abroad.

    View full text