Workload aware autonomic resource management scheme using grey wolf optimization in cloud environment

IET CommunicationsVolume 15, Issue 14 p. 1869-1882 ORIGINAL RESEARCH PAPEROpen Access Workload aware autonomic resource management scheme using grey wolf optimization in cloud environment Bhupesh Kumar Dewangan, Corresponding Author b.dewangan@ddn.upes.ac.in School of Computer Science, University of Petroleum and Energy Studies, Dehradun, Uttarakhand, India Correspondence Bhupesh Kumar Dewangan, School of Computer Science, University of Petroleum and Energy Studies, Bidholi, Via Prem Nagar, Dehradun 248007, Uttarakhand. Email: b.dewangan@ddn.upes.ac.inSearch for more papers by this authorAmit Agarwal, School of Computer Science, University of Petroleum and Energy Studies, Dehradun, IndiaSearch for more papers by this authorTanupriya Choudhury, Associate professor, Department of Informatics, University of Petroleum and Energy Studies, Dehradun, IndiaSearch for more papers by this authorAshutosh Pasricha, Schlumberger Pvt. Ltd., New Delhi, IndiaSearch for more papers by this author Bhupesh Kumar Dewangan, Corresponding Author b.dewangan@ddn.upes.ac.in School of Computer Science, University of Petroleum and Energy Studies, Dehradun, Uttarakhand, India Correspondence Bhupesh Kumar Dewangan, School of Computer Science, University of Petroleum and Energy Studies, Bidholi, Via Prem Nagar, Dehradun 248007, Uttarakhand. Email: b.dewangan@ddn.upes.ac.inSearch for more papers by this authorAmit Agarwal, School of Computer Science, University of Petroleum and Energy Studies, Dehradun, IndiaSearch for more papers by this authorTanupriya Choudhury, Associate professor, Department of Informatics, University of Petroleum and Energy Studies, Dehradun, IndiaSearch for more papers by this authorAshutosh Pasricha, Schlumberger Pvt. Ltd., New Delhi, IndiaSearch for more papers by this author First published: 05 May 2021 https://doi.org/10.1049/cmu2.12198AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onEmailFacebookTwitterLinked InRedditWechat Abstract Autonomic resource management on cloud is a challenging task because of its huge heterogeneous and distributed environment. There are several service providers in the cloud to provide a different set of cloud services. These services are delivered to the clients through a cloud network, and it needs to satisfy the Quality-of-Service (QoS) requirements of users without affecting the Service Level Agreements. It can only manage through autonomic cloud resource managing frameworks. However, most of the existing frameworks are not much efficient for managing cloud resources because of the varied applications and environments of the cloud. To defeat such problems, this paper proposed the workload aware Autonomic Resource Management Scheme (WARMS) in the cloud environment. Initially, the clustering of cloud workloads is achieved by Modified Density Peak Clustering algorithm. Further, the workload scheduling process is done using fuzzy logic for cloud resource availability. The autonomic system uses Grey Wolf Optimization for virtual machine deployment to achieve optimal resource provisioning. The WARMS system focused on reducing the Service Level Agreement violation, cost, energy usage, and time, and providing better QoS. The simulation results of WARMS shows the system delivering the cloud services more efficiently by the minimized rate of violation and enhanced QoS. 1 INTRODUCTION The term “Cloud computing” refers to the on-demand accessibility of cloud resources anytime-anywhere for computation, information processing, and data storage without the direct intervention of human resources [1]. The crucial role of cloud computing is to offer various services to users over the internet. Instead of the local computers, the cloud service providers deliver computations in a virtualized manner, which is enlarged by the cloud computing model. SaaS (Software as a Service), PaaS (Platform as a service), and IaaS (Infrastructure as a Service) are the three basic computing services in cloud computing [2-4]. The valuable computing requirements such as storage, applications, servers, networks, and services are shared by enabling convenient, ubiquitous, on-demand network access of the Cloud computing business model [5]. The key functionalities of the cloud computing model are on-demand self-assistance, comprehensive access to network, pooling of resources, quick scalability, and service monitoring. The key problem in the Cloud paradigm is to permit users to obtain their facilities all over the world without SLA violation [6]. The on-demand share and distribution of the resource is also a vital part of the service provider, which can be achieved by an efficient resource allocation process. The most important benefit of resource allocation is to improve useful resource usage as well as limit the working costs. The virtualization technology provides more flexibility, which includes hardware virtualization along with CPU, memory, storage, and network [7, 8]. The resource management in the cloud is essential to regularize the resource allocation and service provisioning from the perspective of both service provider and cloud user. Normally, resource allocation straight away assigns a suitable workload to the cloud resources. Still, scheduling is required to allocate the resources in an optimal way when various categories of tasks with different workloads are received at the cloud. The conventional resource allocation schemes are concerned about QoS parameters but fail to address the type of the task and category of workload [9, 10]. The additional allocation of resources does not assure the performance due to the unawareness of workload type. The CPU intensive applications only require an additional processing unit to accomplish the tasks, but the present resource allocation schemes can additionally add a set of other resources which does not require to run the specific applications. The over-allocation of resources minimizes resource utilization as well as affects the scalability of resources. Moreover, due to the dynamic behaviour of the cloud environment, the need for the resources demanded by the cloud users and the number of resources allocated for processing are frequently changing over time [11, 12]. Hence, the autonomic cloud management system must adopt the dynamic behaviour of tasks and control the trade-off among task types and QoS parameters. To mitigate the above discussed issues, an intelligent autonomic resource management scheme must be developed for data centres to accomplish frequently changing task demands with the help of a limited available number of resources. The distributed cloud environment consists of heterogeneous computing resources and different resource-intensive workloads. Therefore, clustering of workloads becomes significant as it can efficiently reduce the problems related to scheduling of the workloads. It can ease the process of scheduling the multiple workloads in distributed computing. Clustering is basically used in grouping of the objects exhibiting similar features. In conventional studies, K-means clustering technique is employed for the clustering process as it provides high performance in terms of grouping of objects, but the dynamic feature and the presence of large count of workloads make the traditional K-means clustering inefficient. Also the initial centroid point in this method is chosen randomly which may give inappropriate results. Moreover, the results of K-means clustering highly depend upon the initial centroid point and hence there will be a great influence in the solutions. The typical first-in-first-out (FIFO) and Fair-share scheduling techniques failed to effectively match the task to the hosting node. The proposed WARMS system uses a modified density peak clustering algorithm (MDPCA) for clustering which finds the cluster centre quickly by the help of kernel function further fuzzy logic is employed to schedule the workload. For selecting the optimized VM for executing the workload, GWO (Grey Wolf Optimization) is utilized; at this process, faulty or malicious VM in the network will be detected and removed. The remainder of this paper is organized as follows: Related works on autonomic resource management are discussed in Section 2. A detailed description of our proposed autonomic resource management scheme is discussed in Section 3. The proposed schemes simulation results are demonstrated and discussed in Section 4. In Section 5, we provide a conclusion of this paper. 2 RELATED WORKS Some of the recent related works related to autonomic resource management are listed below: Suresh et al. [13] presented a resource allocation method with different techniques. Right here, the KFCM algorithm becomes utilized to cluster to be had resources. In this method, the process of allotting tasks with all available resources is carried out with Modified Cloud Resource Provisioning Algorithm (MCRP). On MCRP framework, initially, the optimal cost had been selected by using the PSO algorithm. Then, the result from in step is utilized, and the resource had been allotted. The authors of this paper described that most of the traditional k-modes clustering techniques might have multiple varieties of destination clusters on its created cluster mode range. Domanal et al. [14] presented a resource scheduling method with a HYBRID Bio-Inspired algorithm. Here, the researchers particularly centred on cataloguing the jobs using MPSO, the assignment of task, and dealing with the cloud resources with the use of MPSO, MCSO, and HYBRID Bio-inspired procedures. The time intervals of the jobs will stay steady even if multiple jobs arrive at the same periods. The resources needed to process have been allotted after correctly allotting the jobs to the corresponding VMs. The MPSO algorithm performs a crucial function in allotting the coming jobs to the VMs as successfully as available. Clustering depends on the variety of VMs taken for experimentation, and VMs should need to have sufficient resources for executing the customers’ requests and providing it to VMs, which are needed to control by MPSO. Ghobaei-Arani et al. [15] presented a technique with the base of resource provisioning for the applications of cloud, which are providing various services. Here, different concepts of two techniques (Reinforcement Learning [RL] and autonomic computing) were integrated by the authors. Additionally, they utilized IBM's control loop technique called MAPE for acquiring autonomic computing. The MAPE is a WARMS agent that perceives its environment with the usage of sensors. Along with those perceptions for establishing the activities to be performed within the surroundings, it has been processed constantly and controls the VMs, which are allotted to every service provider at unique time durations. Marinescu et al. [16] suggested a self-managing framework for scaling the management schemes of cloud resources. This presented framework includes a market-based tool which acts as an agent for accomplishing the principles of resource managing systems of cloud and determines how to expand the system by making the management system to manage the resource automatically. Firstly, clear communication among the cloud consumer and provider will be assumed in this presented approach. At the run time of applications, the services are expressed as a workload herewith the nodes characterize the edges and present applications by distinguishing the service steps. The authors said that this process could greatly reduce the cost. Sotiriadis et al. [17] presented a self-managing method for VM scheduling in a cloud environment. There, the researchers used a platform called Open Stack for public and private cloud establishment. From the actual structure of Open Stack, it chooses the host after the placement of VMs based on the offered memory before it overreaches the amount of VMs limit. These operations may exceed loads of utilized PMs and remain low RAM. The presented method is effective and adaptable to the utilization of historical data of PMs and VMs. Additionally, the machine learning technique is utilized on this self-managing scheduling method for pattern extraction, and it is done by examining the data and permanent inspection. Filelis-Papadopoulos et al. [18] extended a framework of cloud simulation for making it support self-managing and organizing abilities with cloud resources. From the presented framework, the simulation process is carried out for altering the situation of systems more dynamic on every time step, and this process is done with the base of time advance looping technique by combining the components of the systems. When comparing this proposed hierarchical-based VM placement approach to the classical management approach, the hierarchical-based approach delivered much correct decision while placing the VMs. Zuo et al. [19] introduced a method with the base of self-adaptive threshold called Dynamic Weighted Load Evaluation Method (SDWM). Initially, for estimating the state of the cloud resources, they presented the dynamic evaluation indicators for accurate estimation. Here, the SDWM separates a load of resources into three different situations; they are, normal state, idle state, and overloaded state. At last, the researchers exploited their method as a model for energy evaluation for describing the energy level utilized for migrating the resources based on the request from users. This method earned excellent adaptability, and even the resources leave or enter dynamically. For Efficient Resource Management, Zahoor et al. [36] portrayed a Cloud/Fog based Smart Grid Model. To improve the systems' response time and to reduce delay, the Fog computing remains an aid, and hence in the SG domain, the resource management cloud-fog computing is used. Some of the load balancing algorithms such as ACO, PSO, and ABC were used with the proposed HABACO algorithm for optimal resource management in cloud and fog based environment. For load balancing, five algorithms are employed amongst an SG user's requests and service providers. The proposed work mainly determines a hierarchical cloud–fog computing structure to offer several computing services for SG resource management. Xiong et al. [37] developed a Cloud/Fog Computing Resource Management and Pricing for Blockchain Networks. The price-based computing resource management was investigated to support the providers of offloading mining tasks to cloud/fog in proof-of-work based public blockchain networks. To investigate the profit maximization of cloud/fog provider and the utility maximization of miners, a two-stage Stackelberg game model was adopted. Also, the ideal resource management system having the discriminatory and uniform pricing for the cloud/fog provider was implied and studied. The proposed analytical model was validated by performing the real experiment. The network performance is evaluated using simulations which aid the cloud/fog provider to gain the highest profit and to achieve the optimal resource management. Gai et al. [38] presented a Heterogeneous Cloud Computing based Resource Management scheme in Sustainable Cyber-Physical Systems. The sustainability of the system was increased by combining CPS with a heterogeneous cloud computing method. The task assignment is considered as an NP-hard problem in this paper. Tasks are assigned to the heterogeneous clouds in the Smart Cloud-based Optimizing Workload (SCOW) model using predictive cloud capacities. The competitiveness of the enterprises is embarrassed due to unstable service demands. The Workload Resource Minimization Algorithm (WRM), Smart Task Assignment (STA) Algorithm, and Task Mapping Algorithm (TMA) algorithms were proposed to reach the optimization objective The following Table 1 summarizes the recent autonomic resource provisioning works; their techniques, objective, performance metrics, advantage, and disadvantages are discussed. TABLE 1. Comparison of autonomic resource provisioning techniques Technique Objective Performance metrics Advantage Disadvantage Type-2 fuzzy logic based auto scaling Jamshidi et al. [29] To develop an elasticity Controller for autonomic resource provisioning Workload estimation accuracy, effectiveness, robustness Decrease cost of ownership without violating SLAs Task type and their relationship with resource demands does not consider Auto-scaling mechanism based on machine learning Moreno-Vozmediano et al. [30] To accurately predict the processing load of a distributed server and optimize the service response time mean absolute error, mean squared error and root mean squared error Minimize the service time, and fulfil the SLA contracted by the user The problem of starvation cannot be reduced Reinforcement learning-based elasticity Controller Nouri et al. [31] To scale up quickly to meet rising demand but also scale down by shutting down excess servers Number of SLA violations, overall cost of the system Reduce the cost of provisioning infrastructure Self-protecting and self-healing attributes are not considered Learning automata-based resource provisioning Aslanpouret al. [32] Dynamic resource provisioning Response time, cost and allocated virtual machines To reduce the cost of resource rental for the cloud gaming provider Self-protecting is not considered Self-configuration and self-healing in resource management Gill et al. [21] To enhance the quality of cloud services Execution cost, resource contention, execution time and SLA violation Improves user satisfaction by maintaining SLA based on QoS requirements Starvation problem exists Reinforcement learning-based Proactive Auto-Scalar Benifa and Dejey [33] To allocate necessary resources by learning the environment dynamically. CPU utilization, response time and throughput Learn the environment in parallel which is utilized for resource allocation in a realistic cloud environment Self-protecting and self-healing attributes are not considered KNN-based resource scaling and priority-based resource allocation Mazidi et al. [34] To provide autonomic resource provisioning for multilayer cloud applications Operational costs, resource utilization, response time and profit To solve the scaling problem of computational resources in cloud computing environment Support only for homogenous cloud resources Task-aware autonomic resource management Sujaudeen and Mirnalinee [35] To effectively do the allocation when a similar task is submitted in the future by the user Execution time, Execution cost and Resource contention Efficiently classify the tasks based on their type, identify the relationship with the resources and allocate suitably Self-protecting is not considered The significant capability of a VM deployment algorithm is to balance the workloads to the resources for optimal performance. So, varied task parameters are considered for VM deployment. Available resources should be effectively utilized to achieve fair resource utilization. As users increase, tasks to be scheduled also increase. So, better algorithms are needed to deploy VM on systems. VM deployment algorithms are service-oriented and vary in environments. Meta-Heuristic optimization algorithms are employed to improve the effectiveness or to reduce the cost of the scheduling process. To reduce the computational cost, most of the scheduling problems use various optimization techniques. Meta-heuristic algorithms like PSO and Simulated Annealing are powerful methods for solving many optimization problems. Apart from that, GWO algorithm is a well-recognized optimization technique to resolve the various non-linear problems in numerous research areas due to its well suitable parameter settings and to achieve the optimal solution in a minimum number of iterations. 3 DESIGN OF WARMS ARCHITECTURE The architectural design of WARMS comprises three different phases, that is, workload submission, optimal resource provisioning, and service monitoring. In the workload submission phase, cloud users submit the works based on their demand. An optimal resource provisioning phase manages the cloud resources, and the workload is coming from the cloud users more efficiently with the help of clustering and VM deployment. Service Monitoring phase maintains the QoS parameters and self-management properties of Service Level Agreement (SLA). The proposed WARMS architecture is shown below. Cloud Users: The users are the consumers present under the provider, who request for the specific resource based on their requirements. The requests collected from the users are considered as the workload and used for further process. Cloud Provider: The cloud provider offers a set of services and manages the resources that are stored on their database. These resources will be distributed based on the requirements of the users. QoS Management: It manages the possible QoS requirements to access the workloads. Based on the QoS needs of the workload, it will be managed. SLA Management: The SLA management will manage the SLA among the cloud user and the provider. Workload Clustering and Scheduling: This process cluster and schedule the specific workload to the corresponding VM based on the QoS and SLA. 3.1 Workload clustering The clustering process helps to analyse the workload and describe the important features and patterns available on the cloud workload. In our work, the MDPCA is used to cluster the workload [20]. MDPCA works based on three parameters, data subset, centre selection, and similarity measurement. Initially, the centroid will be selected from the workload randomly. After that, the Euclidean distance is calculated, which follows kernel-based similarity Measure for all data points. After calculating the distance, the local density point will be grouped and create the cluster. The Gaussian kernel is used instead of the cut-off kernel to calculate the local density of the data points. The Gaussian kernel can be expressed as follows: K ( x ⇀ i , x ⇀ j ) = exp − | | x ⇀ i − x ⇀ j | | 2 2 σ 2 , σ > 0 . (1) In MDPCA to compute the distance between two data points x ⇀ i and x ⇀ j , as follows: d i , j = | | ϕ ( x ⇀ i ) − ϕ ( x ⇀ j ) | | = 2 ( 1 − K ( x ⃗ i , x ⃗ j ) ) . (2) In Equation (1), x ⇀ i , x ⇀ j represents the two data points and K ( x ⇀ i , x ⇀ j ) denotes the kernel function of two data points, σ which is a constant value. The mean value for every cluster will be estimated, and based on this mean value, the centroid is moved along the graph. An important issue in clustering is how to determine the similarity between two objects so that clusters can be formed from objects with high similarity to each other. Euclidean distance computes the absolute differences between the coordinates of a pair of objects. A distance function yields a higher value for pairs of objects that are less similar to one another. The kernel function based distance between two items is the sum of the differences of their corresponding components. The maximum number of the centre point is taken depending upon the minimum value of the objective function. Then, the clusters are formed using those centre points represented as Gang. The members in the clusters with centre point surely belong to that cluster. The members other than the centre point could not be assigned to any cluster; therefore, it will belong to two or more clusters. Algorithm 1 describes workload clustering process. ALGORITHM 1. Workload clustering The number of clusters needed completely will be decided by K. Step 1: The subclasses of objects K which are non-empty, will be separated randomly. Step 2: At present, the centroids of clusters are the separating seed points of clusters. Step 3: An object will be allotted with an object in which one has the nearer seed points. Step 4: Until getting an unchangeable assignment, step 2 will be repeated. The clustered workload final set is given in Table 2: TABLE 2. Clustered workload set Cluster Cluster name QoS requirement Resources C1 334 SLA violation, cost, availability 4 C2 234 Availability, reliability, energy consumption and time 4 C3 138 SLA cost, time, resource utilization 4 C4 463 Execution time, energy consumption and SLA violation 5 3.2 Workload scheduling The workload scheduling process is conducted based on fuzzy logic [25]. Here, the resource for executing the task is served by the general expectation vector of the task. This general expectation vector is defined during the task classification. The task classification is held based on the QoS requirements and SLA agreements of users. The general expectation vector of the task H is given by, V w i = V w i 1 , V w i 2 , V w i 3 ∑ j = 1 3 V w ij = 1 (3) From Equation (3), V w i 1 , V w i 2 , V w i 3 represent the weights of No. of CPU, memory, and bandwidth. Another function on a task called Justice Evaluation Function (JEF) helps to detect and prevent resource shortage from starting the task. It is calculated by the ratio of actual allotted resources and expected resources. If the justification value is lower than 1, it represents the task needs more resources to process. The JEF for task h is estimated by, J f i = AR ER , (4)where, AR and ER represent the allotted resource and the resource expected by the cloud user. The actual time needed for the execution of the task is estimated by, ATE = FZ MIPS , (5)where, the size of the resource or the file is denoted as FZ and the MIPS denotes the transmission speed. (i.e. Million Information per Second). To process the workload, the eligible VMs will be selected by comparing the ATE and the time expected for the execution of the task. Additionally, the memory needed for the execution of the task and the size of the VM memory and the bandwidth needed for the execution and availability of every VMs are also compared. The justification of every class type of the task is estimated by JfC t i and JfB w i (JfCti, completion time and JfBwi, bandwidth; both values are assumed as 0.9). The JEF parameters are fuzzified for getting better mathematical associations which are passed through the rule base (QoS). The fuzzification is performed by using Mamdani Fuzzy inference system, and defuzzification is performed by the centroid method. It provides the output in the range of [0, 1]. The defuzzified result is described as F_res, and it is used to update the classified task. Algorithm 2 describes the task classification process. ALGORITHM 2. Task classification Input: Initializing tasks Output: Classified tasks Begin Step 1: Initialize the tasks to be executed, H = h 1 , h 2 … … . . h n Step 2: Classify tasks based on QoS. Step 3: Time needed for the execution is estimated by (23) Step 4: Choose the VMs which are eligible to execute the task h using GWO algorithm. Step 5: Estimate the Euclidean Distance of VM. Step 6: Estimate JEF using (22); JfCtandJfBw are estimated by, JfCt = ∑ i = 1 k Actual Ct Expected Ct , JfBw = ∑ i = 1 k Actual Bw Expected Bw , where k indicates the requirement No. of task Step 7: Initialize the rule base and JEF parameters are given as input, Rb = R b 1 , R b 2 , … … . R b n Step 8: The inputted parameters are fuzzified with triangular membership function μ ( ν ) . μ ( ν ) → [ 0 , 1 ] μ ( x ) = Ct , Bw Step 9: Utilize the fuzzified input parameters in rule base. R b i if ( L , M , H ) and if ( L , M , H ) and if ( L , M , H ) where, L indicates low, M indicates medium, and H indicates high. Step 10: Generate F _ res ( L , M , H ) → [ 0 , 1 ] Step 11: Defuzzify F _ res by centroid method. F _ res → F min , F max End 3.3 VM deployment and selection This section presents the deployment and the selection of VMs for processing the workload with the cloud resources. 3.3.1 Configuration VM In this work, VMs are deployed randomly; the configuration of VM is shown in Section 4. Once the VMs are deployed, it then goes for the sleep state. It will wake and start to process after getting the workload from the users. These are managed by the self-management system present under the SLA; the optimal VM to process the workload is chosen by using an optimization algorithm. 3.3.2 VM selection Here, we used GWO algorithm for selecting the optimal VM based on the workload information. It follows a hierarchical style to explain the positions of grey wolves dominantly. The hierarchical patterns of the grey wolves are built by way of four levels of search agents, Alpha (α), Beta (β), Delta (δ), and Omega (ω) [22]. Some decisions, such as hunting (processing), sleeping, and time to walk (awake) are made by initial level Alpha (α). The next level Beta (β) are the subordinate wolves, which helps to decide for α. The Delta (δ) level is designed to help α and β. The Omega (ω) is described as lower level. The first three levels ( α , β , δ ) are considered as the best candidate solution, it chooses the best VM based on energy, memory, and QoS needed to pr