Abstract
Cloud computing technology is playing a major role in the industry and real-life, for providing fast services such as data sharing and allocating the cloud resources that are paid and truly required. In this scenario, the cloud users are scheduled according to the rule-based systems for attempting to automate the matching between computing requirements and resources. Even though, the majority auto-scaling algorithms only helped as indicators for simple resource utilization and also not considered both cloud user needs and budget concerns. For this purpose, we propose a new model which is the combination of auto-scaling algorithms, resource allocation and scheduling for allocating the appropriate resources and scheduled them. This model consists of three new algorithms namely Grey Wolf Optimization and Fuzzy rules based Resource allocation and Scheduling Algorithm (GWOFRSA), Auto-Scaling Algorithm for Cloud based Web Application (ASACWA) and Auto-Scaling Algorithm for handling Distributed Computing Tasks (ASADCT). Here, we introduce new auto-scaling algorithms for enhancing the performance of cloud services. In this work, the optimization technique is used to predict the cloud server workload, resource requirements and it also uses fuzzy rules for monitoring the resource utilization and the size of virtual machine allocation process. According to the workload prediction, the completion time is estimated for each cloud server. The experiments are conducted by using a simulator called CloudSim environment of Java programming and compared with the existing works available in this direction in terms of resource utilization and enhance the cloud performance with better Quality of Service of Virtual Machine allocation, Missed Deadline, Demand Satisfaction, Power Utilization, CPU Load and throughput.
Keywords
Introduction
Cloud Computing technique provides the easiest way for retrieving the fitness function the data and also stores the files. The main objective of cloud computing is to create a huge volume of data and file sizes for preparing the number of cloud users that are scattered the entire universe [26]. The number of cloud user requests to access the cloud server with enough size of data. Here, a new solution is required for handling the huge volume of data that is available in cloud server. For this purpose, the huge volume of server data can be divided into a smaller size of the data and stored in various nearby servers in a distributed manner. On the other hand, distributed services are very useful and contributed enormously in the cloud computing technique by responding to the different kinds of cloud user’s requests in applications. Moreover, cloud computing is sharing the data, resources, and network services. These are all able to reduce the cost and to improve the Quality of Service (QoS) in terms of cost, performance, resource utilization, response time and throughput. Virtualization is the key feature that acts as the foundation to provide the cloud resources for the users on demand. The virtualized server is also called Virtual Machine(VM) that is used to assign and reassign the cloud resources according to the cloud user’s requests. The VM services can offer anywhere anytime like cloud service with the help of the internet. The need for the VM’s is decided based on the availability of jobs. Cloud computing is balancing the workflow through VMs. Moreover, the workflow has managed the cost and performance for the various scheduling techniques. In this paper, the cost-efficient task scheduling technique is also introduced dynamically along with the auto-scaling mechanism.
Auto-scaling is a process [20] which is used to allocate the resources for matching the performance requirements. When increases the number of works, the particular application required extra resources for maintaining the specific performance level and also must be satisfied with the service level agreements. Moreover, the extra resources use when it is required otherwise it can be de-allocated for reducing the costs. The main advantage of auto-scaling is to provide elasticity on cloud environments when ease of maintaining the overhead. The auto-scaling is used for minimizing the need for an operator to monitor the performance continuously and it makes decisions by adding or removing the available resources. There are two kinds of the way such as vertical scaling and horizontal scaling can scale the application. Among them, vertical scaling is nothing but up and down scaling that means by changing the resource capacity. In this scaling, it can be moved an application from a smaller size of VM to a larger size of VMs. It is temporarily unavailable when redeployed the excess VMs. So that it is less common for automating the vertical scaling process. On the other hand, horizontal scaling is also called out and in scaling process which means that adding or removing instances of resources. Here, the new solution is deployed over the additional resources that are used as extra. In this case, the additional resource requirement is canceled then the additional resources request will be shut down and de-allocated.
The auto-scaling [26] following the loop called Monitoring (M), Analysis (A), Planning (P), and Execution (E) (MAPE). Here, the Monitoring (M)system is used to collect the data from a cloud the compliance of cloud user expectations, the status of the resource and violation in Service Level Architecture. Moreover, it is also providing the level of structure to the cloud service provider and also know the status of the application with the Service Level Agreement(SLA). Analysis(A) is used to analyze the collected data further. It collects all data from metrics and the utilization of the current system and to predict the data of future workload. Planning (P) used to evaluate the current state and to decide the scale up/down or scale in/out to compliance with SLA and profit trade-off. Finally, the Execution (E) is used to finalize the planning, and the cloud service providers related API is responsible for the execution of planning.
The auto-scaling mechanism [9] is facing the challenges such as under-provisioning, over provisioning, Taxonomy of auto-scaling, type, policy, auto scaling techniques, approach, monitoring, SLA, performance metrics, pricing model, experiments and elastic applications. These are all the research challenges that have been resolved by various researchers according to their research capabilities. Even though, no auto-scaling mechanism is resolved the maximum number of challenges. For this purpose, this paper introduces a new auto-scaling mechanism with the incorporation of resource allocation and scheduling for enhancing the performance of the cloud application.
Resource allocation and scheduling processes can be done in a cloud environment as static or dynamic in nature. Here, the static allocation process is nothing but a process of a cloud user requesting the specific quantity of resources proactively. Even though, this kind of allocation causes low utilization or the high utilization of cloud resources [31]. At the same time, the cloud users are requesting for the resources according to the user’s requirements of relevant cloud-based web applications by on-demand. Generally, the cloud users requested services always to be satisfied by the Cloud Service Provider (CSP). Sometimes, the requested resources may not be available in the cloud database of the specific cloud server. In this scenario, the proper cloud database of the cloud server is to be identified by the CSP and it provides the requested resources to the specific users. Moreover, the future resources also to be identified and allocated to the specific cloud users in advance based on the past experience of CSP and cloud user’s demand [15].
The Particle Swarm Optimization (PSO) algorithm developed by Kennedy and Eberhart [35] and its basic verdict is inspired initially by performing the animal’s behavior including fish schooling and bird flocking. When searching the food for them, the birds are scattered and go together before settling over the location where they identify the food. Here, the birds smell the food during the food search process from one location to another location. Other birds are able to identify the food location through receive the message by the bird which is smelled already. The birds are transmitting the useful messages quickly within a specific time period during the food search process and finally got food by all the birds. This method is taken from the animal’s behaviors for computing the optimization issues globally and all the birds are considered as particles. Generally, the location of each particle in global search space is updated by using mathematical formulas. Similarly, the Grey Wolf Optimizer (GWO) was developed by Mirjalili et al. [36] which is a novel swarm intelligence method for investigating the capabilities of solving the issues of real-time applications and standard applications as well. Generally, the GWO mimics the hunting method and the hierarchy of grey wolves. Here, the crowd of GWO has divided into four groups namely alpha, beta, delta, and omega that are deployed to simulate the leadership hierarchy. The grey wolf optimization algorithm is used to improve the performance of the system thereby depleting the scheduling issues. The major objective of this algorithm is to reduce the makespan and energy consumption. This GWO algorithm is the ease of use and converges more rapidly due to less randomness and also varying the numbers of individuals assigned in local and global searching procedures. Mirjalili et al. [36] proved that the performance of GWO is better than the existing algorithms such as PSO, GSA, DE and FEP algorithm due to the wolves’ algorithm with the benefits of simple in principle, higher seeking speed, better search precision value, and easy to realize which is combined easily with the practical engineering problems. There are many works [38] available.
This work proposes a new model which is the combination of auto-scaling algorithms, resource allocation, and scheduling. Here, we introduce new auto-scaling algorithms for enhancing the performance of cloud services. Moreover, the proposed model consists of the newly proposed resource allocation technique and the scheduling algorithms. Here, a Grey Wolf Optimization and priority based Resource Allocation and Scheduling algorithms are introduced in this work for enhancing the cloud performance. In this work, the workload of cloud server and resource requirements of the cloud users are predicted by the scout bees for monitoring the resource utilization past and the size of the Virtual Machine allocation process. According to the workload prediction, the completion time is estimated for each cloud server.
The rest of this paper is organized as follows: Section 2 describes the existing works that are available in the direction of auto-scaling, resource allocation, scheduling, and performance. Section 3 explains the overall architecture of the proposed model with the proper workflow. Section 4 described in detail the proposed work with necessary backgrounds of the auto-scaling, resource allocation, scheduling, and performance measurement techniques and the relevant proposed algorithms. Section 5 provides the experimental results and discussion along with necessary justification for performance improvement. Section 6 concludes the proposed work with the achievement along with future directions.
Literature survey
Many works have been developed in the direction of auto-scaling [13], scheduling, performance analysis, and cloud environment in the past by various researchers. Among them, Andre Bauer et al. [4] tackled that the issue of reducing the risks by introducing a novel auto-scaling system called Chameleon that is the combination of various kinds of proactive approaches coupled with a reactive fallback mechanism. Their scaling mechanism applies automated temporal based forecasting approaches that are on-demand for predicting the arrival load intensity in the combination of temporal based on-demand service estimation for calculating the necessary resource consumption process per unit of work without the need for application instrumentation. Their system achieved the best scaling characteristics according to the user interests and elasticity performance metrics. Parminder et al. [20] developed many auto-scaling mechanisms with different behaviors for overcoming the issues on auto-scaling in cloud environment. Moreover, they have identified the major challenges of auto-scaling mechanisms in auto-scaling of web applications.
George et al. [14] investigated the various services in AWS and did the comparative analysis between the load balancing and auto-scaling mechanisms. They are also discussed various auto-scaling algorithms by considering the merits and demerits of auto-scaling. Moreover, they have tabulated the cost estimation with the consideration of input, costs, cloud service provider options, type of applications and the various methodologies of applicability. In addition, they also analyzed the cloud analyst tool, load balancing, and results in comparison. Zhihui et al. [34] developed and evaluate their cost-effective cluster auto-scaling and scheduling method in a private cloud that enhances resource usage and maintains the required QoS by applying Auto-scaling and Scheduling processes. Vondra et al. [26] developed a novel approach called cloud auto-scalar and incorporate it with a queuing procedure.
Ahn et al. [32] developed a new auto-scaling approach which is guaranteed that the execution process of different kinds of workflow structures within a certain time limit in a hybrid cloud. They also proved that their approach works automatically and acceptably over the hybrid cloud resources for the different patterns of workflow that are having dependency randomly on workload. Alipour et al. [15] presented a new method that is model-driven for connecting with the cloud that is an independent method of cloud services along with particular operations. Even though, the automated transformation from method to the configuration and also used cloud management tools for delivering the auto-scaling on the cloud. They have demonstrated that their method along with scaling configuration. Hwang et al. [16] developed generic cloud performance methods to evaluate various cloud services. They have tested the clouds with real-life benchmark programs and propose some new performance metrics.
Fu et al. [27] developed a new framework called Dynamic Resource Scaling (DRS) for analyzing the streaming data of the cloud. The DRS handled the major three issues such as how to model the relationship between the provisioned resources and the application performance, where to best place resources, and how to measure the system load with minimal overhead. Ahn et al. [32] introduced a new auto-scaling approach to guarantee that the execution of an application within the deadline. Moreover, it is handled that two kinds of job patterns such as Bag-of-Tasks or workflow jobs.
Li et al. [33] modeled a new platform that is able to scale the web applications in cloud according to a docker. They have deployed web applications in the cloud using a docker container technology, and add/delete docker containers for adjusting their sources of web-based applications. Moreover, they have built a controller and apply a combination of prediction algorithm and reaction algorithm for scaling up or down [23]. VK et al. [29] proposed a new auto-scaling method which is the combination of on-demand and spot instances pricing model for the computation under deadline and budget constraint. Campos et al. [12] evaluated that the performance of the auto scaling process over a private cloud platform that is considering the relevant features that are not handled by researchers early. They also presented a new Markov chain model to perform parametric sensitivity, useful for prioritizing the efforts in a certain process parameter.
Horovitz et al. [22] proposed a new threshold based cloud auto-scaling which is the common method used for scaling the cloud applications. The disadvantage of their work is that the thresholds are set manually by the user in an ad hoc fashion, not optimally, and specially drawn for the particular character of an application. Moreover, they have presented a Q-Threshold algorithm that is useful for adjusting the threshold values. In this scenario, they have developed new methods to improve the reinforcement Q-Learning based auto-scaling method which is faster convergence in the cloud. Harwalkar et al. [21] developed a model to tackle the cloud burst at peak load with their OpenStack. Mehmood et al. [5] developed a solution to perform auto-scaling the network resources according to the calculations that are made for each and every action’s execution time. Visnja et al. [28] improved a standard software framework to optimize the data through genetic operation in the cloud. Due to the improvement of the framework, it is able to utilize the underlying cloud infrastructure to perform expensive fitness evaluation elastically and frugally.
Adel et al. [1] defined a framework to build elastic cloud service chains. They have proposed a dynamic auto-scaling method for minimizing the cost when met the delay of the cloud service chain. Finally, they proved through experiments by reducing the cost and SLA violation. Mohammad et al. [18] provided a new cost effective executor that shown the importance of controlling phase of their model. Their solution executes the scale-down commands through awareness of surplus VMs. In addition, the proposed model used for enhancing the cost efficiency by the introduction and use of new contributed features and surplus VMs. Finally, they have achieved a 7% cost reduction by handling the VMs efficiently.
Bibal et al. [6] proposed a Hybrid Auto-Scaler (HAS) for adjusting the resource requirements automatically to the web application based on demand. Che-Lun et al. [8] presented two scaling scenarios to resolve the web application scalability and distributed computing jobs in a virtual cluster on the virtualized Cloud Computing environment. They have demonstrated that their model is able to tackle the loan requirements, resource utilization maintainability, and reducing the cost. Chris et al. [7] presented that the design, implementation, and evaluation of a pluggable auto scalar within an open cloud platform-as-a-service (PaaS). Chenhao et al. [9] conducted an extensive review of the development of auto-scaling methods for the applications in cloud environments. Moreover, the auto-scaling method is abstracted as a monitoring analysis planning and execution loop. They have identified the major issues which are to be addressed in the loop of each phase that is presented in auto-scalars and its keys. Finally, they have proposed the right and appropriate directions according to their analysis. Anshul et al. [2] taken care of a worldwide research issue of the auto-scaling through many layers for the various kinds of web applications in cloud. Moreover, a new the method is used to measure the performance of auto-scalars that works as multi-layered named Auto-scaling Performance Measurement Tool that structure and the working process are also described in detail. In addition, they are also provided the experimental results that are conducted based on the various user requests and the request patterns.
Qazi et al. [17] made a comparative analysis in terms of prediction accuracy between the various classifiers such as MLP, ARIMA, ELM, AR, KNN, SVM, AR-NN, and RNN. They have integrated as a prediction model with the scaling system and also validated in a real-time environment. Finally, they have compared with their integrated model and other classifiers in terms of prediction accuracy. Their model consumed less than 5% than the system which does not incorporates the scaling mechanism. Salman et al. [25] developed a new dynamic multi-level auto-scaling system along with dynamically changing the thresholds that apply not only based on infrastructure, but it is also on the application-level of monitoring the data. Their system is compared with seven existing auto-scaling mechanisms. Xiaolong et al. [31] designed a new framework for managing the cloud resources with two new turnaround time incorporated auto-scaling methods to ensure the stability of service performance. Nguyen et al. [19] analyzed the impact of the existing load balancing and the auto scaling. For their analysis, they have designed a new cloud model with auto scalar and load balancer that are also implanted in simulated cloud environments according to the constructed model. Alexey et al. [3] made a comparative analysis in detail the various policies available in the auto-scaling mechanisms. They have identified the differences between the selected seven auto-scaling policies in terms of performance. Moreover, they have conducted different forms of comparisons with various combinations of auto-scaling mechanisms. End of their analysis, they have suggested the policies and to get a better understanding. Dang et al. [11] concentrated that the development of an auto-scaling solution to forecast the resource consumption in advance and also used to validate the prediction based scaling decisions. Their prediction models consider the benefits of soft computing techniques for processing the historical time series data.
Xiaoqiong et al. [30] proposed a new trust aware adversarial scanner delaying method for mitigating the Yo-Yo attack proactively and effectively on the auto-scaling mechanism in the cloud. They have used an existing trust mechanism to calculate the trust scores for the different kinds of cloud users according to their requests. Moreover, the trust score is also updated when considering both user requests and auto-scaling mechanisms for the application in the cloud. In addition, they disabled the condition under which the Yo-Yo attack takes effect by injecting the delay or under the QoS constraints for manipulating the response time of user’s requests in the form of suspicious and mislead attackers. David et al. [10] developed a new online multi-objective auto scalar for workflows that are denominated in Cloud Multi-Objective Intelligence that is used to reduce the makespan time, cost and the impact of errors derived from unreliable virtual machines.
Problem definition
The existing works are not achieved a sufficient amount of accuracy according to the current needs in terms of effective VMs with effective resource utilization and energy consumption due to the failure of workload prediction. In this scenario, the majority existing works are given high priority to low deadline job than high deadline job. The existing works are not considered the workload and size of the resource much before giving the priority. The workload is predicted based on the resource requirement. Moreover, energy is also not considered in the majority works.
Solution
The proposed model uses the fitness function to select the number of VMs. Here, the makespan time is also considered for balancing the load by applying fitness function. The proposed model is used to predict the time taken for workload and work completion according to a previous experience that is available in the form of fuzzy rules. The fitness function is also finalized according to the prediction value. The proposed model is not selecting the individual VM but it selects a cloud server. Finally, the cloud servers are categorized according to the cloud user’s request priority.
The proposed work handles the challenge of predicting the workload using resource allocation, scheduling, and auto-scaling methods. Here, this work introduced Three new algorithms for enhancing the QoS. Among them, two new algorithms for auto-scaling process, a new resource allocation algorithm and a scheduling algorithm that are used fuzzy rules for enhancing the performance in the cloud for the specific cloud-based web applications.
System architecture
The overall architecture of the proposed Resource Allocation and Scheduling based Auto-scaling model is shown in Fig. 1 which contains eight components such as decision manager, cloud server and cloud database, cloud service provider, cloud user, resource allocation, job scheduling, and auto-scaling mechanism which consists of two auto-scaling algorithms, system administrator, rule base and rule manager. The various works have been allocated according to the various cloud user’s requests.

Architecture of the resource allocation and scheduling based auto-scaling mechanism.
The cloud user sends the request to the cloud service provider for retrieving/storing the required data that are available in the cloud server. It is also receiving the response that is forwarded from the cloud service provider with the help of the decision manager.
Cloud service provider
The cloud service provider (CSP) is responsible for forwarding the collected data from the decision manager to the respective cloud users. The CSP is used to perform all the necessary tasks in the cloud environment. All the decisions are taken by the decision manager and execute the decision through this CSP only in this work.
Cloud server
The cloud server contains a huge volume of data that is stored by all the authorized cloud users. The cloud server contains a big database that maintains the cloud user’s data which is stored into many cloud databases in a distributed manner for providing better cloud service to the cloud users.
Decision manager
The decision manager is an overall coordinator for the entire system which is capable of controlling all the activities such as storage, retrieval, resource allocation process, scheduling process, and auto-scaling method that are happened in this work for enhancing the cloud performance in terms of reducing time, less cost and reasonable speed according to the current world requirements. The decision manager is used to supply all the data that are requested by the cloud users through cloud service provider. The resource allocation and scheduling processes are also controlled by the decision manager by taking final decisions. The auto-scaling algorithms are useful for enhancing the QoS in the form of improved performance. The final decision can be taken by the decision manager according to the available facts and rules in the rule base.
System administrator
The system administrator is used to control the resource allocation, scheduling, and auto-scaling phases. It gives input to the decision manager and the decision manager is performed actions through this system administrator.
Rule manager
The rule manager manages the rules that are available in the rule base according to the decision manager directions. The rule manager is used to get the necessary rules from the rule base and forward it to the decision manager.
Rule base
The rule base is responsible for storing the facts and rules that are finalized by the decision manager and rule manager. The past experiences are stored in the form of fuzzy rules for predicting the workload and job priority.
Resource allocation, scheduling phase & auto scaling phases
The resource allocation is used to allocate the space in memory for the accepted or scheduled jobs that are finalized by the decision manager. It is also used as a proposed resource allocation algorithm for allocating the resources according to the cloud user’s requests. The scheduling phase is used to schedule the jobs that are coming from a cloud service provider through the decision manager. It uses a newly proposed scheduling algorithm for scheduling the jobs. Here, a newly proposed Grey Wolf Optimization and Fuzzy rules-based Resource allocation and Scheduling Algorithm (GWOFRSA) are applied for allocating the resources and to perform scheduling according to the priority. The auto-scaling is used to scale the system performance automatically when building or apply the auto-scheduling algorithm. This phase uses the Auto-Scaling Algorithm for Cloud based Web Application (ASACWA) and Auto-Scaling Algorithm for handling Distributed Computing Tasks (ASADCT) has been applied for enhancing the cloud performance.
Proposed work
This section explains in detail the proposed model which contains three new algorithms such as Grey Wolf Optimization and Fuzzy rules based Resource allocation and Scheduling Algorithm (GWOFRSA), Auto-Scaling Algorithm for Cloud based Web Application (ASACWA) and Auto-Scaling Algorithm for handling Distributed Computing Tasks (ASADCT)for enhancing the performance of the cloud environments. Generally, the number of virtual machines is increasing when increasing the number of jobs. First, this section explains in detail the resource allocation and scheduling algorithm called Fuzzy Rule incorporated Grey Wolf Optimization (GWO) Resource Allocation and Scheduling (FR-GWORAS) algorithm under a separate subsection. The Grey Wolf Optimization is an optimization algorithm that is capable of optimizing the resources in this work. In this work, the prey is encircled by the grey wolves while performing the hunting process. The different groups of participants and guides the hunting process of the prey. Usually, the fixed number of best solutions is depicted by using different variables. Moreover, each wolf’s position is enhanced in the search space region by considering the average value of positions.
Fuzzy rule incorporated Grey Wolf Optimization based Resource Allocation and Scheduling
This subsection is explained in detail the fuzzy rule incorporated Grey Wolf Optimization based Resource Allocation and Scheduling Algorithm (GWOFRSA). First, the background information the Grey Wolf Optimization technique is explained under a separate subsection. Next, the background information on fuzzy logic, fuzzy membership, and fuzzy rules are explained in a separate section. Finally, the proposed GWOFRSA is also explained in this section with a proper explanation.
Grey Wolf Optimization
The grey wolves are identified as predators which are fantastic with high-level skills in the process of catching their prey. This Grey Wolves Optimization Algorithm [24] is a meta-heuristic search that is used for simulating the characteristics of the grey wolves in the process of searching, hunting, and encircling their prey. Moreover, it has four kinds of wolves named as Alpha (α), Beta (β), Delta (δ), and Omega (). These wolves are encircled their prey while processing the hunting which is modeled mathematically below:
Where DS indicates the prey, temp indicates the time of prey position, AB and CD represent the vector values,
Where
Where, IT indicates the maximum number of iterations, aa and ab represent the vector values of a prey. The position of the grey wolf (XX, YY) is modified based on the prey (XX*, YY*) position. The best grey wolf position is also modified by changing the vector values of
For simulating the behavior of the hunting process, the symbols α, β, and δ are beware of the potential prey locations. These symbols determine the solutions, the remaining wolves have changed their positions based on the three solutions
Here, every wolf is changed its position between its current and prey positions while attacking the prey. Now, |A| is less than the value 1. The α, β and δ wolves are left from every wolf for searching the prey and also covered when happened the prey attack.
This subsection contains subsections such as fuzzy logic and fuzzy rules. This section is explained in detail the fuzzy logic which is applied in the process of generating fuzzy rules based on deadline and resource size. Here, trapezoidal fuzzy membership is used in this work. The trapezoidal membership function consists of four parameters a, b, c, d and it shows in Equation (10).
The same fuzzy membership function is also can be defined as given in Equation (11).
The fuzzy membership function parameters {a, b, c, d} with a less than b, b less than or equal to c, c is less than d that determines the x coordinate values of the four possible sides of the specific trapezoidal fuzzy membership function.
Moreover, the fuzzy logic approach is applied to make a decision over the job and resources by applying fuzzy rules for the respective target user. Fuzzy rules are written in such a way to prioritize the job and resource according to the deadline and size of the resource. Table 1 shows the fuzzification. The fuzzification is applied over the resource size in the fuzzy rules.
Fuzzification
The sample fuzzy rules are listed as below: If Deadline = Low AND Resource Size >Lower AND Resource Size <Moderate then Priority = 0; If Deadline = Low AND Resource Size >Moderate AND Resource Size <Larger then Priority = 1; If Deadline = Low AND Resource Size >Lower AND Resource Size <Larger then Priority = 2; If Deadline = High AND Resource Size >Lower AND Resource Size <Moderate then Priority = 3; If Deadline = High AND Resource Size >Moderate AND Resource Size <Larger then Priority = 4; If Deadline = High AND Resource Size >Lower AND Resource Size <Larger then Priority = 5;
The above mentioned fuzzy rules are applied for making an effective decision over the review comments of each and every resource allocation and scheduling process. These kinds of various fuzzy rules are stored in the rule base. When the situation is arising then these rules will be taken into consideration and applied for performing resource allocation and scheduling.
A virtual machine allocation {δ(m_1), δ(m_1), ... ., δ(m_1)} is defined as mapping of the cloud server to fix a specific group of virtual machines which must fulfill the below rules.
Rule #1: Every virtual machine is to be assigned for a cloud server and it is also not assigned to many cloud servers.
Where ∪ indicates the union (summation), M
i
indicates the i
th
virtual machine, eM indicates the energy level of the virtual machine.
Where, M i indicates the i th Virtual Machine and M j represents j th Virtual Machine.
Rule #2: The hosted virtual machine’s cloud resource needs are not to be exceeded the present cloud resources for every cloud server.
Where, C j indicates that the j th virtual machine credit values, wt i indicates the weight of i th virtual machine.
The history of the resource allocation is maintained in the Resource Allocation History (RAH) table per virtual machine that consists of total resources used and also time is taken for completing every cloud service of cloud users. Each VM workloads are to be predicted by applying the Weighted Dynamic Average (WDA) of the existing VMs workloads.
Where EWL indicates the estimated weighted workload and OWL represents the estimated weighted observed workloads at time TM and α is a constant.
Similarly, the expected completion time of every server is fixed by calculating the value of WDA of VMs completion times.
Where ECMPT represents the expected completion time and OCMPT indicates that the observed completion time of virtual machines at time TM and β is a constant.
The service request is classified according to their requests and requirements are to be submitted to cloud service provider and then the cloud server is also classified the cloud services and also allocates the priorities as shown in Table 1.
Priority based resource allocation and scheduling technique
This subsection explains in detail the proposed resource allocation and scheduling algorithm called GWO and Fuzzy Rules based Resource Allocation and Scheduling Algorithm (GWOFRSA) which determines the priority for each resource and jobs (web applications). The steps of the proposed GWOFRSA are given below:
Let R be the solution
Let D holds the number of parameters that are optimized. Let U holds the maximum number of cycles which execute the algorithm. Initially detects the population that is employed in the network that gathers the existing resource utilization and size of the allocated virtual machine. The cloud users are predicted when the server’s workload and resource need according to the gathered data. A fitness function is created for every cloud server SRi, i = 1,2 ... n using EWL and EWCT as
Then grey wolf optimization is used for finding a better solution. In this method, The initial positions of resources are generated randomly. The neighbor search process is performed in every iteration. A better solution is to be selected by applying Fuzzy rules and assigned to qi. It selects a resource at a proper position (hi) with a probability (Zi) computed by using the Eqs (17) and (18).
Chosen R×D as a limit of the value. Identified the solutions and stored them. Repeat the steps (ii) and (iv)
Finalize the best solution from the available local solutions and also stored in every processor.
The fitness function is applied and visits every cloud server. According to the best solution identified and these can be categorized as Table 2.
Cloud servers category
Here, every type of task is allocated to the relevant type of cloud servers. The servers 3 and 4 are high computational time with low priority. On the other hand, the servers (1) and (2) take less computational time and get high priority. In this work, grey wolf optimization is used for allocating the proper resources by using fitness function and fuzzy rules. Finally, the jobs are scheduled properly according to the selected best jobs by applying fitness function, fuzzy rules, and round-robin scheduling technique. End of this section, this work produces the best jobs with proper allocation and scheduling.
This subsection explains in detail the auto-scaling mechanism which must be completed further after completion of the resource allocation and scheduling processes. In this resource allocation and scheduling must be balanced before start the auto-scaling process. The load balancing is very important in the cloud for providing better fast service to the cloud users through the cloud service provider and also measure the performance of the cloud by applying an auto-scaling algorithm. Generally, the auto-scaling is helpful for the CSP to handle the available memory space and cloud resources. The CPU utilization is also normalized by applying the auto-scaling process effectively in this work. Here, the standard Hyper Text Transmission Protocol (HTTP) is used to balance the cloud based web application. Moreover, all the requests come through an HTTP request to the cloud server. The available server updates the cloud users request automatically when the users changed their requests. Also besides, it provides a better response early. In this work, two auto-scaling algorithms have been introduced in this work for balancing and measuring the performance of the user requests.
Auto-Scaling Algorithm for handling Web Application
This subsection is described in detail the proposed Auto-Scaling Algorithm for Cloud-based Web Application (ASACWA) which is used for measuring the performance of the cloud resource allocation and scheduling process. The steps of the proposed ASACWA are as below:
Number of Categories A Virtual Group contains a number of virtual machines that execute a similar execution time. Number of the active sessions in a virtual machine Maximum sessions for a VM of ith category. Upper threshold for a specific session. Lower threshold for a specific session. a VM records VMs which exceed the session upper-threshold
For i = 1 to NA Let consider all the virtual machine of all category (VC) If the virtual machine is active or maximum is greater than or equal to the upper bound then Add one VM to the specific category F. If the virtual machine is active or maximum is less than or equal to the upper bound then Add one VM to the specific category C. Store the virtual machine to the EST. If the specific category of F is equal to the category then The VM executes the same as the ith category of VM (VCi) Insert a new virtual machine to the lower bound category. If the category C size is greater than 2 then Consider all the virtual machines of category F which is less than 2. If the virtual machine of NA is equal to 0 then Remove the virtual machine from category F and destroy the Virtual Machine Until proceeds the step 8, the category F becomes empty
Auto-scaling algorithm-1 has been proposed for handling the web application. Here, a virtual group monitoring mechanism is available which is greater than the group size as a threshold. Similarly, another one scaling algorithm is also proposed to handle the web application which can handle the distributed computing task and checks whether the specific number of VMs is greater than the threshold of the particular group. Here, the virtual monitoring mechanism is useful for controlling and triggering the scale-up and down in the provisioning system of auto-scaling process. In algorithm 2, the number of categories is mentioned that the types of applications.
In the Auto-scaling algorithm which is developed for handling web applications, cloud network bandwidth and the number of active groups are playing a major role in the indexing process of the SLA and QoS. However, the above scaling algorithm works automatically for handling web applications in a cloud environment. Here, finalized the number of virtual machines and the bandwidth and size of the groups. A new virtual machine can be provided when the available VMs with proper bandwidth is greater than the threshold of the group. Moreover, it can be added to the upper category groups. A new virtual machine also provided and started when the available VMs with bandwidth are less than the threshold of the group then it is added with the lower category groups in this work.
Auto-Scaling Algorithm for handling Web Application
This subsection is described in detail the proposed Auto-Scaling Algorithm for handling Distributed Computing Tasks (ASADCT) which is used to measure the performance of the cloud resource allocation and scheduling process. For handling the distributed computing tasks in the cloud, the physical computing resources including CPU and memory space are the most important indices to evaluate the workload of a specific virtual group which is finalizes by the cloud administrator. For this purpose, a new auto-scaling algorithm has been introduced in which finalize the available number of virtual machines with the physical resources lower and upper limits. In this scenario, a new virtual machine is created and started when the resources of the virtual machine are lesser or greater than the threshold for computing the distributed tasks. At the same time, the application of resources on the virtual machines is lower than the limit of the specific group then removes the extra VMs that are available as idle from a specific group in this work. Many groups have been created in this work by using the various virtual groups that are based on VMs. The Number of Groups has been finalized according to the availability of various VMs in this work. In this work, the NG is given as input to the proposed ASADCT algorithm for handing the various jobs/applications in the cloud environment. The steps of the proposed ASADCT are as below:
Number of Groups. A Virtual Group that contains a number of VMs which execute in a similar computational model. Resources used in VMs. Resource Bound in VMs. Physical resources used in an upper limit. Physical resources used in a lower limit. A VM sets the records of VMs that are be low the threshold.
For i = 1 to NG do Consider all the Virtual Machine that is available in VM-G If the R-VM is greater than or equal to the value of PRUB then Add one RB-VM into the R-VM groups If the R-VM is less than or equal to RLB then Add one RB-VM into the R-VM groups. Store the virtual machine to VMBT If the available VM is equal to the available VM-G then Provision and start a new VM that runs the same computing tasks as VCi
If RB-VM is greater than or equal to 2 then Consider all the VM that are available in VMBT If the VM is available as Idle in the specific group then Remove the VM from the specific group Until proceeds the step 8, the category VMBT becomes empty.
The proposed auto-scaling algorithms have been used for handling web applications and distributed computing tasks. This algorithm is specially developed for handling the computing tasks on the cloud environment. In this work, the resource allocation and scheduling process are to be finalized according to the results of computing tasks.
Results and discussion
The proposed model has been implemented and tested the performance with specific metrics. The specific experimental parameters have been used in this work and the relevant and used parameters are listed in Table 3. The standard NASA workload [37] is considered as input for the evaluation of the proposed model and transmits the cloud user’s requests to the CSP through the respective Access Point (AP) in this work. The given workload indicates the realistic load deviations on a specific time period which contains 100960 cloud user requests forwarded into the cloud servers during the particular timeline. Moreover, the abnormal deviations have happened in the given workload which is able to trigger the load balancing mechanism which is the combination of resource allocation, scheduling, and scaling processes. This work demonstrates that the structure of cloud user request arrivals to web applications that are almost similar to the specific structure of the workload. Table 3 shows the experimental parameters assigned in this work.
Experimental parameters and values
Experimental parameters and values
This subsection explains in detail the necessary performance metrics that are used in this work for evaluating the proposed resource allocation, scheduling, and scaling algorithms using CloudSim Simulator [21]. The performance metrics considered for evaluation of the proposed model are presented as formulas in Equations 1 and 2. Here, the response time R(TM) indicates that the latency in the response to cloud user requests. It is computed as minutes by applying a formula that is given in Equation (20).
Where REQ
ans
indicates that the number of answered given for the cloud users requests and WT
j
represents the waiting time of every answered request which is given in Equation (21).
Where, FN (TM) indicates the finishing time, AR (TM) represents the arrival time, and SR (TM) point out the service time. Here, the job arrival and finishing time are the time taken for the cloud user’s request that are received from cloud users and the response time for receiving by the respective virtual machine in a group. Moreover, the service time is also expected time taken for the incoming user requests.
Throughput indicates that the ratio of answered requests (REQ ans ) to the total number of received requests (REQ rec ) in percentage.
Resource utilization
Resource utilization indicates that the percentage of CPU utilization by computing the average utilization of all virtual machines.
Here, RVM indicates that the number of rented virtual machines, and U(VMj) indicates that the jth virtual machine’s utilization.
The response time delay of more than one requested deadlines (RS
d
) are considered as a missed deadline.
Figure 2 shows the response time analysis that considers the time and delays for the user requests. Here, six different time periods including 0.2, 3.5, 7.2, 10.5, 14.2, 17.5, and 21.2 have been considered in the form of hours and minutes.

Response time analysis.
From Fig. 2, it can be observed that the experimental results according to the x-axis and the corresponding delay are computed for the seven-time durations. The proposed algorithm has been delayed less time than the existing works which is available in this direction. This is due to the fact that the use of fuzzy rules in algorithm 1 and the use of fitness function in grey wolf optimization.
Figure 3 shows the VMs allocation analysis between the proposed model and the existing works. Here, seven different time periods are considered for allocating the virtual machines dynamically for completing the tasks perfectly. Moreover, the time period is also mentioned in minutes.

VMs allocation analysis.
From Fig. 3, it can be seen that the virtual machines allocated newly for handling the incoming jobs dynamically according to the cloud user’s requests and time periods. Here, the proposed model has been allocated the required number of virtual machines exactly than the existing works. This is due to the use of grey wolf optimization and the relevant fitness function and the rules to predict the number of virtual machines required for the specific time in the proposed GWOFRSA.
CPU Load is simply a count of the number of processes using or waiting for the CPU at a single point in time. CPU usage is easy, the percentage of the CPU component that is in use. The CPU utilization is expressed in the ratio of time which is the CPU is engaged by performing stuff. This measure is calculated for the specific time duration as a percentage. The CPU load is a total number of jobs/applications are waiting in queue for processing. The currently running applications are not to be considered. The time taken for allocating the virtual machines is known to the user.
Figure 4, shows that the CPU utilization of the proposed model and the existing model in terms of the number of virtual machines. In this section, the performance of the proposed model is compared with the existing PRAS-ABC and the super professional executor (Suprex). In Suprex, if the resources are under-provisioned, the executor adds a new virtual machine. On the other hand, if the resources are over-provisioned, the executor releases a virtual machine by selecting a virtual machine from on-demand.

CPU utilization analysis.
From Fig. 4, it can be observed that the CPU utilization of the proposed model is better than the existing models that are available in this direction. The reason for the improvement of the proposed model in terms of CPU utilization is related to the use of the number of parameters and the number of cycles executed in the GWOFRSA. Moreover, the Grey Wolf Optimization, fitness function, and the newly generated fuzzy rules.
Figure 5, shows the throughput analysis between the proposed and existing models that are available in this direction. Here, we have considered the number of virtual machines and throughput.

Throughput analysis.
From Fig. 5, it is observed that the throughput of the proposed model is better than the existing models such as Superx and PRAS-ABC. Here, all the four different numbers of virtual machines such as 2, 3, 4 and 5 used in this work and achieved better throughput than the existing works. The reason for the enhancement is the application of fuzzy rules and the optimization technique.
Figure 6 shows the CPU load analysis between the proposed model and the existing models such as Superx (Mohammed et al. 2017) and PRAS-ABC (Phani and Ravindranath 2019). Here, we have considered four different numbers of virtual machines for each experiment to calculate the CPU load. Here, the proposed model is better than the existing system called PRAS-ABC and Superx in terms of CPU load.

CPU load analysis.
From Fig. 6, it is seen that the CPU load of the proposed model is better than the existing models such as PRAS-ABC and Superx. The reason for the performance enhancement is the consideration of the population detection, collects the resource size and utilization of VMs and the prediction results of cloud users’ resources in the proposed GWOFRSA.
Figure 7 demonstrates that the missed deadline analysis between the proposed model and the existing works such as Superx and PRAS-ABC.

Missed deadline analysis.
From Fig. 7, it can be seen that the performance of the proposed model in terms of percentage of missed deadlines is better than the existing works Superx and PRAS-ABC. This is because since effective resource management in this work which considers the needs of the cloud users and virtual machines in the cloud server. Moreover, the proposed GWOFRSA applies grey wolf optimization to optimize resource utilization according to the cloud user’s requests.
Table 4 shows that the comparative analysis between the proposed model and the existing works such as PRAS-ABC and Superx. Here, we have considered the parameters such as time taken, CPU utilization, throughput, delay, a missed deadline, and CPU load.
Average values of both the schemes
From Table 4, it can be seen that the proposed model is better than the existing models such as PRAS-ABC and Superx in terms of all basic evaluation parameters such as time, CPU utilization, throughput, delay, percentage of the missed deadline, and CPU load. The reason for the betterment of the overall performance of the proposed model than existing works is that the use of effective optimization, fitness function, and fuzzy rules for performing resource allocation and scheduling process in this work.
The proposed auto-scaling method can be evaluated based on two evaluation parameters such as on-demand satisfaction ration and power utilization. Here, we have evaluated the proposed model with these two metrics and also compared them with the existing system. Moreover, the power utilization is computed by monitoring the number of cloud servers in use for corresponding demand on power utilization which is directly proportional to the number of cloud servers in use. Figure 8 shows the demand satisfaction analysis between the proposed model and the existing systems.

Demand satisfaction analysis.
From Fig. 8, it can be seen that the performance of the proposed model and the existing work in terms of demand satisfaction ratio and the probability of satisfaction. Here, the number of cloud server is the cloud data center is maintained as constant and the demand.
Figure 9 shows the performance analysis between the proposed model and the existing system in this direction and terms of Application Performance Monitoring (APM) and Demand ratio. Here, the demand ratio is considered between 0 and 1. Here, C denotes the number of classes.

Performance analysis.
From Fig. 9, it can be seen that the performance of the proposed auto-scaling algorithms is better in all the demand ratios that are considered different intervals 0, 0.2, 0.4, 0.6, 0.8, and 1. This is because since the use of effective fuzzy rules on the decision process in auto-scaling algorithms.
Table 5 shows the demand satisfaction ratio of the proposed system. Here, different percentage of free user requests have been considered for the different percentage of demands such as 20%, 40%, 60%, 80%, 100%, 120%, 140%, 160%, 180% and 200%. Finally, calculates the average demand satisfaction from 7.2% to 97.21% according to the total demand and the percentage of free user requests.
Demand Satisfaction Ratio
From Table 5, it can be seen that the performance of the proposed auto-scaling algorithm is better than the existing auto-scaling algorithm. When we combined the proposed auto-scaling algorithm, resource allocation, and scheduling algorithms, the performance of the auto-scaling algorithm is performed well than the existing auto-scaling algorithm in terms of demand satisfaction due to the use of intelligent rules on the proposed auto-scaling algorithm.
Figure 10 shows the power utilization of the proposed auto-scaling algorithm and the existing auto-scaling algorithm. Here, Active Physical Machine (APM) and Demand have been considered for conducting experiments. Four kinds of demand such as 0, 0.5, 0.8, and 1 have been considered for APM.

Power utilization of proposed system.
From Fig. 10, it can be observed that the power utilization of the proposed auto-scaling algorithm is better than the existing auto-scaling algorithms. Here, we have computed the power indirectly by monitoring the APM values according to the demands. The reason for the enhancement is the use of newly proposed Auto-scaling, resource allocation, and scheduling algorithms. The proposed auto-scaling algorithm considers the number of groups and VMs. Moreover, it considers the physical resources for performing the tasks in this work. The rules have been generated by using all the metrics and makespan effective decision over the cloud user’s requests. So that the power utilization is correctly predicted by the proposed model.
In this paper, a new model which is the combination of resource allocation and scheduling and auto-scaling algorithms have been proposed and implemented for enhancing the performance of cloud environments. Here the new resource allocation and scheduling algorithm are proposed for performing resource allocation and scheduling the jobs. The grey wolf optimization technique and fuzzy rules have been adopted for performing resource allocation and scheduling. Finally, two new auto-scaling algorithms have been proposed and implemented for enhancing the performance of the cloud services on cloud based applications and distributed computing. In this paper, the workload of cloud server and resource needs of the cloud users that are predicted and monitoring the resource utilization past and the size of the Virtual Machine allocation process. The proposed model has been implemented by applying the CloudSim simulator of Java programming and compared with the existing models that are available in this direction in terms of resource utilization and improve the QoS of the Cloud environment. Future work in this direction could be the introduction of a new auto-scaling algorithm for handling cloud applications with low CPU utilization and high demand satisfaction.
