A Systematic Review of Energy Management Strategies for Resource Allocation in the Cloud: Clustering, Optimization and Machine Learning

: Nowadays, many organizations and individual users are employing cloud services extensively due to their efﬁciency, reliability and low cost. A key aspect for cloud data centers is to achieve management methods to reduce energy consumption, increasing the proﬁt and reducing the environmental impact, which is critical in the deployment of leading-edge technologies today such as blockchain and digital ﬁnances, IoT, online gaming and video streaming. In this review, various clustering, optimization, and machine learning methods used in cloud resource allocation to increase the energy efﬁciency and performance are analyzed, compared and classiﬁed. Speciﬁcally, on the one hand, we discuss how clustering methods and optimization techniques are widely applied in energy management due to their capacity to provide solutions for energy consumption reduction. On the other hand, we study how multi-objective optimization methods focus on reducing energy consumption as well as service level agreement (SLA) violation, and improving quality of services (QoS) simultaneously. Also, we discuss how optimization methods such as the ﬁreﬂy algorithm, whale optimization algorithm (WOA), particle swarm optimization (PSO) and genetic algorithm (GA) provide the highest performance in the ﬁeld. Moreover, we analyze how machine learning methods such as deep neural network (DNN), random forest, and support vector machine (SVM) are applied to the prediction of energy consumption in the cloud, showing an accurate performance in this prediction. Nevertheless, we study how the existing methods still have limitations of low convergence, trap into local optima and overﬁtting.


Introduction
Cloud computing is an important platform for providing reliable and secure services and it is considered by many organizations as well as individual users due to its reliability, cost and scalability [1][2][3]. Especially in IT services, cloud computing is the predominant approach to reduce costs for computing consumers. This approach influences the method and technology used for processing, constructing and managing IT within the enterprise and the service provider. Particularly, cloud computing encompasses four main entities such as virtual machines (VM), physical machines (PM), resource allocators and clients. Clients request access to resources such as CPU, memory and physical memory to the The resource allocation is provided based on the predicted results of the machine learning to avoid higher energy consumption and SLA violation. The commonly applied machine learning methods are the support vector machine (SVM) [38,39] and deep neural network (DNN) [40]. The DNN model shows better prediction performance compared to the SVM. Machine learning models require the historical data to train the network and apply it for the classification. Some research involves applying the machine learning and optimization model for resource allocation, which results in a highly effective performance.
Hence, three types of model are used for energy management in the cloud resource allocation: clustering, optimization and machine learning. Each strategy follows different ways to reduce the energy consumption, such as clustering methods, which select the cluster heads, optimization that finds the suitable parameter settings, and machine learning techniques, which predict the risk of high energy consumption. Existing surveys are unclear about the cluster, optimization and machine learning taxonomy in cloud energy management and its suitability in the cloud environment. This study discusses the advantages and limitations of models in the cloud energy management for resource allocation.
Optimization methods apply energy models and perform the search for various input parameters like VM migration, resource allocation, etc. to find suitable parameter settings for lower energy consumption. On the other hand, clustering methods involve selecting the cluster heads for the similar tasks and nodes to perform the task with less energy consumption. The clustering methods do not perform a search process or change the input variable for cloud energy consumption. Machine learning models utilize the features of the cloud parameters for training the model and predict the risk of high energy consumption in the future. Basically, optimization methods perform a search to find suitable input parameters, clustering models select cluster heads to perform tasks, and machine learning models are used for prediction of high energy consumption risk.
The recent increase in the number of cloud applications such as streaming services, database management, digital finances, and cloud gaming motivates many researchers to work in the fields of energy management and VM allocation in the cloud. Various methods are applied in the cloud data centers for the optimization of energy consumption. Various strategies of models were carried out to optimize the cloud data centers in terms of energy and SLA. The contributions of this paper are discussed as follows: 1.
This paper reviews the recent methods in the clustering, optimization and machine learning in energy management for resource allocation in the cloud. Various models' advantage and limitations in cloud environment are discussed.

2.
Various optimization models applied in existing cloud for energy management and their limitations are reviewed. The review shows that most of the optimization models suffer from local optima and poor convergence.

3.
This paper focuses not only on energy consumption, but also on SLA violation and QoS, simultaneously. The review shows that multi-objective optimization models handles the better tradeoff in the output parameters.

4.
A review of machine learning models shows that DNN often provides the higher prediction performance and thus, it has the capability of predicting risk of high energy consumption.

5.
Limitations in the existing methods are discussed in this study. Furthermore, this review provides the potential solution to overcome such limitations in the cloud energy management.
This paper is organized in the following manner: applications of energy consumption in cloud data centers are described in Section 2; a review of the energy consumption by clustering, optimization and machine learning models is discussed in Section 3; the recent methods of energy management in cloud are reviewed in Section 4; the problem definitions of the existing methods are provided in Section 5; the future scope of the research are given in Section 6; and the conclusion is stated in Section 7.

Applications of Energy Consumption in Cloud Data Centers
The optimization, clustering and machine learning methods applied in cloud data centers are required in many applications to fulfill the objectives of energy consumption reduction, SLA violation reduction and QoS improvement, etc. Some of the important and recent applications which are now in demand are discussed below.

1.
Streaming services like Netflix, Amazon Prime etc., are providing users with flexible streaming and QoS. Streaming services require the optimization method to provide the optimal parameter settings such as resource allocation, bandwidth limit etc., to provide effective performance and reduce energy consumption [8]. Machine learning methods are required in the streaming services to provide the effective resource allocation to fulfill high demand, and high energy consumption in the cloud.

2.
Large companies such as Amazon, Microsoft, Facebook and Google are deploying their cloud for the public cloud infrastructure [2]. Optimization methods are applied in this cloud to handle the energy consumption and demand. 3.
Diverse works [5,10] show that cloud services such as Amazon Web Services (AWS) Elastic Compute cloud (EC2), Microsoft's Photo Gallery face recognition, Facebook automatic face tagging, Google glass object recognition, and Google Goggles required an energy optimization model to improve the performance.

4.
Furthermore, machine learning methods are applied in the cloud services for the detection of attacks such as distributed denial of services (DDoS), and blocking the victim infrastructure, to protect the users [2]. 5.
The Internet of Things (IoT) is one of the fastest developing fields and highly adaptive in many industries for monitoring and control [3,5]. IoT stores and processes the data in cloud computing to provide excellent performance. Energy optimization in cloud-IoT is required in the industry to provide ideal performance and profit [3]. 6.
Generally, cloud computing provides three types of service known as software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) [4,6]. Optimization methods are required in all these three types of services for the resource allocation, energy consumption and SLA violation. 7.
Blockchain and digital finances are leading technologies today, which are currently limited by the huge energy required in many implementations with a high economic impact [4,6].

Review of Energy Consumption in Cloud Data Centers
Energy optimization in cloud data centers helps to increase the profit for the cloud service providers (CSP) and also reduce the cloud cost for the users and environmental impact. Important energy optimizations in the cloud are based on the CPU, storage, disk and VM allocation for the users and they are considered in this work. Specifically, the more extended techniques applied for the energy management in the cloud are clustering, optimization, and machine learning techniques. The difference from the existing survey and the current summary is provided in Table 1, which highlights the current importance of this work.
The common key objectives of the methods applied in energy management in the cloud are discussed as follows: 1.
Clustering techniques are mainly applied to select the cluster head or similar types of workload to effectively apply the resources to the users. The clustering method recognizes a similar group of workloads and analyses the resource availability for the resource allocation.

2.
Optimization methods involve in the analysis of the network parameters such as CPU, RAM and disk availability related to the energy consumption and SLA for the allocation. Optimization methods are used as an attempt to find the solution for the allocation based on objective rather than similar types of workload. 3.
Machine learning methods involve identifying the risk factors such as high energy consumption or high SLA violation based on the historical data. These prediction results were used to avoid the high energy consumption and high SLA violation in the cloud resource allocation.
The energy management can be classified as static and dynamic energy management. Machine learning models are applied in static energy management based on the cloud data centers' historical data. The dynamic energy management is classified into componentbased and node-based models. The component-based models apply optimization methods to find suitable parameter settings for a cloud component. The node-based models involve in applying a clustering method to find similar nodes to perform the task with less energy consumption. The clustering methods involved in the allocation of the resources are based on node data. The optimization methods focus on the reduction of energy consumption, SLA violation, and improve the QoS. The machine learning methods help to make the decision of the allocation based on the past network data to provide effective allocation. The proposed taxonomy of the methods for energy management in the cloud is shown in Figure 1. The common key objectives of the methods applied in energy management in the cloud are discussed as follows: 1. Clustering techniques are mainly applied to select the cluster head or similar types of workload to effectively apply the resources to the users. The clustering method recognizes a similar group of workloads and analyses the resource availability for the resource allocation. 2. Optimization methods involve in the analysis of the network parameters such as CPU, RAM and disk availability related to the energy consumption and SLA for the allocation. Optimization methods are used as an attempt to find the solution for the allocation based on objective rather than similar types of workload. 3. Machine learning methods involve identifying the risk factors such as high energy consumption or high SLA violation based on the historical data. These prediction results were used to avoid the high energy consumption and high SLA violation in the cloud resource allocation.
The energy management can be classified as static and dynamic energy management. Machine learning models are applied in static energy management based on the cloud data centers' historical data. The dynamic energy management is classified into component-based and node-based models. The component-based models apply optimization methods to find suitable parameter settings for a cloud component. The node-based models involve in applying a clustering method to find similar nodes to perform the task with less energy consumption. The clustering methods involved in the allocation of the resources are based on node data. The optimization methods focus on the reduction of energy consumption, SLA violation, and improve the QoS. The machine learning methods help to make the decision of the allocation based on the past network data to provide effective allocation. The proposed taxonomy of the methods for energy management in the cloud is shown in Figure 1. In static energy management, machine learning-based models are suffering from the overfitting and imbalance data problem in the risk prediction. A deep learning model generates more features that create overfitting problems and fewer instances for high energy consumption in the dataset creates an imbalance data problem. In dynamic energy consumption, optimization methods easily trap local optima and poor convergence. The clustering methods have random cluster heads that affect the performance of the model.

Static and Dynamic Energy Model
Before going into the insights of energy consumption in resource allocation, it is key to present the considered energy models. In this sense, it must be said here that logic circuits of complementary metal oxide semi-conductor (CMOS) power consumption are used to derive the static and dynamic energy consumption. The CMOS microprocessor is In static energy management, machine learning-based models are suffering from the overfitting and imbalance data problem in the risk prediction. A deep learning model generates more features that create overfitting problems and fewer instances for high energy consumption in the dataset creates an imbalance data problem. In dynamic energy consumption, optimization methods easily trap local optima and poor convergence. The clustering methods have random cluster heads that affect the performance of the model.

Static and Dynamic Energy Model
Before going into the insights of energy consumption in resource allocation, it is key to present the considered energy models. In this sense, it must be said here that logic circuits of complementary metal oxide semi-conductor (CMOS) power consumption are used to derive the static and dynamic energy consumption. The CMOS microprocessor is the sum of capacitive power and leakage power of a short-circuit. The factors that affect the CMOS power consumption are power-dissipation capacitance, output loading, input voltage level, input rise time, and output voltage.
CMOS power consumption is classified as: Static Power Consumption: Generally, CMOS devices have low static power consumption and circuits are not in the charging state due to all the input detained at a certain logic level of validity, which commonly occurs in CMOS power consumption. A leakage current is the main cause of power consumption and the product of supply voltage S v and leakage current L c is static power consumption P static , as given in Equation (1).

Dynamic Power Consumption:
This occurs by the CMOS shifting to high frequency. Dynamic power consumption P dynamic denotes the power consumption of capacitive-load P cl , the sum of transient power consumption P t and overall power consumption, as given in Equation (2) [43][44][45].
Transient power consumption P Transient denotes the current flow that occurs in switching transistors devices that switch from one logic state to another state. This requires charging of internal nodes and current flow from the voltage common collector (VCC) to ground (GND). The P Transient is calculated using Equation (3).
Transient power consumption is denoted as P Transient , supply voltage is denoted as V cc , input signal frequency is denoted as f in , number of bits to be switched is denoted as N sw , capacitance of dynamic power-dissipation is denoted as C pd . If they are switching and output has the same load at same output frequency, then capacitive load power consumption P cl is measured using Equation (4), where power consumption of capacitive load power is denoted as P cl , the frequency of output signal is denoted as f 0 , the load capacitance is denoted as C l , and the number of output switching is denoted as N sw . The energy consumption of an application (E app ) in parallel execution mode is given in Equations (5) and (6).
where A is the number of switches per clock cycle, frequency is denoted as f , total number of tasks to be executed is denoted as n, the product of number of switch and frequency is denoted as a, the supply voltage is denoted as v i , the total time taken for i task execution is denoted as t i .

Energy Consumption
Energy consumption is computed in cloud data centers based on the CPU, memory and disk storage [16][17][18]. Energy consumption is usually calculated based on the CPU utilization in the cloud. The linear model is one of the most common energy consumption models that involves measuring the linear correlation between the energy consumption and CPU utilization. The energy consumption EC definitions are given in Equations (7) Energies 2021, 14, 5322 7 of 18 and (8) based on the k th server with static coefficient ρ at time t. The energy consumption of server H k in the process is denoted in Equation (8).
where PC k denotes the power consumption by the kth server. The CPU utilization changed at time t according to independent variable U of workload. Then, the mathematical Equation (9) is used to compute the total energy consumption of a cloud data center with s nodes as follows: where, x k = 0 i f the H k is shutdown 1 other .

Service Level Agreement (SLA) Violation
The SLA is used to define QoS in the cloud datacenters and this measures the services provided to the users [16,19,20]. If a user places excessive demands on the data centers, an SLA violation occurs. The computer performance is significantly reduced if a host is resigned. The VM migration process consumes additional resources. The system availability and reliability are measured in the degree of SLA violation. Various metrics are used to measure SLA violation, as shown in Equations (10)- (12).
where N defines the number of servers, total active time is host t as T a t i , and total time host t i provides full load as T f t i .
where m defines the number of VM in data center, the CPU total time requirement r capacity (in MIPS) during the life cycle of VM j as C r j that decrease d in performance due to VM j migration as C d j . Generally considered as the VM migration reduces the 10% of CPU computing power. The C j is defined as CPU power of VM j.

Clustering Method in Energy Management
Some researchers apply the clustering method for the cloud data centers to the energy efficiency in resource allocation. This sub-section provides the details of the clustering methods applied to the energy consumption in the cloud. The overview of the clustering method in energy management is shown in Figure 2. Gill and Buyya [21] proposed a method named as SCOOTER for th self-management of cloud resources and the execution of cluster workloads to minimiz the energy consumption, SLA violation and improve the QoS of the services. The per formance of the SCOOTER method is evaluated in the cloud environment and analyze the metrics of cost, energy consumption, and QoS. The result shows that energy con sumption and SLA violation is reduced, and increased the QoS based on optimal alloca tion of VM. The random initialization of the SCOOTER clustering method affects th performance of the developed method in energy optimization.
Shahidinejad et al. [22] presented a hybrid solution to handle the resource allocatio for a workload in the cloud environment. The k-means clustering and ICA method i applied to the resource allocation. The decision tree method also applied in this researc to decide the efficient solution for the resource allocation. The two real workloads in th cloud are used to test the efficiency of the hybrid method. The hybrid method has highe performance in optimization of cloud. The model performance is tested on the les workload and decision tree method has instable performance.
Haghighi et al. [23] introduced a hybrid method of resource allocation for mappin task and dynamic consolidation. The micro-genetic algorithm is applied to improve th performance of the optimization in the clustering process. The CloudSim simulation i used to test the performance of the developed method for energy efficiency. The deve oped method provides a good trade-off between the energy consumption and quality o services (QoS). The clustering method has the random initialization and optimizatio method has lower convergence in the analysis.
Mydhili et al. [24] proposed multi-stage parallel K-means ++ clustering algorithm with balanced clustering for energy efficiency in the cloud. Various conventional meth ods were applied for the data collection, aggregation and communication. The NS2 too was used to test the efficiency of the developed method. The clustering method had th highest performance in energy efficiency and cloud management. The parameters suc as CPU, storage, and VM migration were not considered for the optimization.
Haseeb et al. [25] presented the Secure Sensor Cloud Architecture (SASC) for Io network to improve the network scalability. The unsupervised machine learning wa applied to group the network nodes and exploit weighted based centroid networks. Th NS3 tool was used to develop and test the performance of the SASC method in the cloud The SASC method has higher efficiency in terms of energy consumption, network life time and packet drop ratio. The SLA and QoS parameters are not considered in thi Gill and Buyya [21] proposed a method named as SCOOTER for the self-management of cloud resources and the execution of cluster workloads to minimize the energy consumption, SLA violation and improve the QoS of the services. The performance of the SCOOTER method is evaluated in the cloud environment and analyzes the metrics of cost, energy consumption, and QoS. The result shows that energy consumption and SLA violation is reduced, and increased the QoS based on optimal allocation of VM. The random initialization of the SCOOTER clustering method affects the performance of the developed method in energy optimization.
Shahidinejad et al. [22] presented a hybrid solution to handle the resource allocation for a workload in the cloud environment. The k-means clustering and ICA method is applied to the resource allocation. The decision tree method also applied in this research to decide the efficient solution for the resource allocation. The two real workloads in the cloud are used to test the efficiency of the hybrid method. The hybrid method has higher performance in optimization of cloud. The model performance is tested on the less workload and decision tree method has instable performance.
Haghighi et al. [23] introduced a hybrid method of resource allocation for mapping task and dynamic consolidation. The micro-genetic algorithm is applied to improve the performance of the optimization in the clustering process. The CloudSim simulation is used to test the performance of the developed method for energy efficiency. The developed method provides a good trade-off between the energy consumption and quality of services (QoS). The clustering method has the random initialization and optimization method has lower convergence in the analysis.
Mydhili et al. [24] proposed multi-stage parallel K-means ++ clustering algorithm with balanced clustering for energy efficiency in the cloud. Various conventional methods were applied for the data collection, aggregation and communication. The NS2 tool was used to test the efficiency of the developed method. The clustering method had the highest performance in energy efficiency and cloud management. The parameters such as CPU, storage, and VM migration were not considered for the optimization.
Haseeb et al. [25] presented the Secure Sensor Cloud Architecture (SASC) for IoT network to improve the network scalability. The unsupervised machine learning was applied to group the network nodes and exploit weighted based centroid networks. The NS3 tool was used to develop and test the performance of the SASC method in the cloud. The SASC method has higher efficiency in terms of energy consumption, network lifetime and packet drop ratio. The SLA and QoS parameters are not considered in this method for the optimization in the cloud.

Energy Optimization in the Cloud
Evolutionary optimization methods were applied in the cloud to reduce the energy consumption and SLA violation. Some researchers have been involved in applying the multi-objective optimization to reduce energy consumption, SLA violation and improve the QoS of the cloud. The overall model of the energy optimization in the cloud is shown in Figure 3.

Energy Optimization in the Cloud
Evolutionary optimization methods were applied in the cloud to reduce the energy consumption and SLA violation. Some researchers have been involved in applying the multi-objective optimization to reduce energy consumption, SLA violation and improve the QoS of the cloud. The overall model of the energy optimization in the cloud is shown in Figure 3. Alarif and Tolba [26] proposed a reinforcement method of adaptive Q-learning (AQL) to reduce the energy and overhead tradeoff in the IoT network. The AQL method selects the cluster head and perform a forward selection in the network. AQL improve the inter and intra communication cluster for optimization of the network. The simulation shows that the AQL has the highest efficiency in the optimization of the network in terms of energy consumption. Priya et al. [27] proposed the energy-efficient cloud-based IoT and the wind-driven optimization method is applied to reduce the energy consumption. The firefly algorithm is applied to select the optimal cluster head in the method. The developed method has higher performance compared to the artificial bee colony (ABC), genetic algorithm (GA), and adaptive gravitational search algorithm.
Peng et al. [28] presented the whale optimization method for the optimal task workflow scheduling process for the dynamic scaling and frequency scaling technique. The joint optimization involves providing a tradeoff between the energy consumption and performance of the network. The WOA method has higher efficiency in terms of energy consumption and cost. Yadav et al. [29] proposed an adaptive heuristic method for the minimization of the energy consumption and improving the performance. The developed method analyzes the CPU utilization based on the resource utilization, VM selection and SLA violation. The developed method was tested in the CloudSim and PlanetLab cloud simulation tools. The developed method has higher efficiency in terms of energy consumption and SLA.
Zhou et al. [30] proposed two adaptive energy aware algorithms for reducing the energy consumption and improving QoS of the cloud data centers. The developed method considers the CPU utilization, memory and VM allocation in the model. The PlanetLab VM is used to test the efficiency of the developed method. The results show that the developed method has the highest performance in the analysis compared to existing methods. Goyal et al. [31] applied various optimization methods such as the whale Alarif and Tolba [26] proposed a reinforcement method of adaptive Q-learning (AQL) to reduce the energy and overhead tradeoff in the IoT network. The AQL method selects the cluster head and perform a forward selection in the network. AQL improve the inter and intra communication cluster for optimization of the network. The simulation shows that the AQL has the highest efficiency in the optimization of the network in terms of energy consumption. Priya et al. [27] proposed the energy-efficient cloud-based IoT and the wind-driven optimization method is applied to reduce the energy consumption. The firefly algorithm is applied to select the optimal cluster head in the method. The developed method has higher performance compared to the artificial bee colony (ABC), genetic algorithm (GA), and adaptive gravitational search algorithm.
Peng et al. [28] presented the whale optimization method for the optimal task workflow scheduling process for the dynamic scaling and frequency scaling technique. The joint optimization involves providing a tradeoff between the energy consumption and performance of the network. The WOA method has higher efficiency in terms of energy consumption and cost. Yadav et al. [29] proposed an adaptive heuristic method for the minimization of the energy consumption and improving the performance. The developed method analyzes the CPU utilization based on the resource utilization, VM selection and SLA violation. The developed method was tested in the CloudSim and PlanetLab cloud simulation tools. The developed method has higher efficiency in terms of energy consumption and SLA.
Zhou et al. [30] proposed two adaptive energy aware algorithms for reducing the energy consumption and improving QoS of the cloud data centers. The developed method considers the CPU utilization, memory and VM allocation in the model. The PlanetLab VM Energies 2021, 14, 5322 10 of 18 is used to test the efficiency of the developed method. The results show that the developed method has the highest performance in the analysis compared to existing methods. Goyal et al. [31] applied various optimization methods such as the whale optimization algorithm (WOA), cuckoo search algorithm (CSA), BAT, cat swarm optimization (CSO), and particle swarm optimization (PSO) for the energy efficiency, load balancing, and better resource allocation in the cloud environment. The developed WOA method has the highest efficiency compared to the other optimization method.
Reddy et al. [32] introduced a bi-objective optimization technique to increase the energy efficiency and performance of data-parallel processing. The global parent optimal is applied to increase the efficiency of the optimization. The developed method has highest efficiency in the optimization of energy and performance. Sofia and Ganesh Kumar [33], proposed the non-dominated sorting genetic algorithm (NSGA-II) and artificial neural network (ANN) to reduce the energy consumption and improve the efficiency of the cloud. The developed method presented the multi-task solution effectively that improves the performance of energy management.
Azizi, et al. [34] presented a heuristic algorithm focused on energy consumption and resource wastage in the cloud. The proposed MinPR method prioritizes the power-efficient nodes and reduces the number of active physical machines to reduce the energy consumption. The resource usage factor model is developed to manage VM allocation using reward and penalty method. The heuristic algorithm has the highest efficiency in Amazon EC2 in terms of energy. Abohamama and Hamouda et al. [35] proposed a improved permutationbased GA method and a multidimensional resource aware best fit allocation strategy to reduce the energy consumption in the cloud. The CPU, RAM and bandwidth were considered in this method for the resource allocation. The result shows that the hybrid method achieves the balanced usage of the active user that reduces the energy consumption. Liu et al. [36] consider four objectives for the virtual clusters to reduces the energy consumption and improve the performance. The four objectives are energy consumption, resource load balance, average resource utilization and availability. The improved binary biogeographybased optimization (IBBO) method is applied to improve the performance in the cloud. The IBBO method has the highest efficiency in optimization in terms of energy consumption. Saeedi et al. [37] proposed Multi objective PSO method consider four parameters such as energy, cost, makespan and reliability. The non-dominated solutions can apply to the multi-objective PSO in equilibrium state. The results show that the multi-objective PSO has the higher efficiency in optimization of the cloud.
The firefly algorithm, GA, PSO, and WOA provide efficient performance in optimization in terms of energy consumption. Existing optimization methods have the limitation of lower convergence and easily trap local optima.

Machine Learning Methods in Energy Management
Machine learning methods have been applied in the cloud to predict the energy consumption and allocate the resource based on this prediction. The overall flow of the machine learning model in the energy consumption in the cloud is given in Figure 4.  Junaid et al. [38] proposed CSO and SVM methods for the load balancing a in cloud to reduce the energy consumption. The file type is classified in the cl SVM is applied to classify the files one by one. The CSO method is applied to d the files based on the load on VM to reduce the energy and increases the perfo Simulation results show that CSO method has higher performance in energy ef The SVM method has the limitation of lower performance in handling the im data.
Shapi et al. [39] proposed SVM, ANN and k-NN methods for the predictio of energy in the Microsoft-Azure cloud-based machine learning method. The m tested in the real time data and result showed that prediction had higher perform energy management. The feature analysis in the prediction model had the lo formance that affects the performance of the method. Susac et al. [40] applie Rpart regression, and random forest to predict the energy consumption in the Public Sector building. The DNN model has the highest performance in the p and VM allocation in the cloud. The DNN method has the limitation of the ov problem that affects the performance of the model. The general architecture of D it is implemented in the prediction of network energy consumption as shown in Junaid et al. [38] proposed CSO and SVM methods for the load balancing algorithm in cloud to reduce the energy consumption. The file type is classified in the cloud and SVM is applied to classify the files one by one. The CSO method is applied to distribute the files based on the load on VM to reduce the energy and increases the performance. Simulation results show that CSO method has higher performance in energy efficiency. The SVM method has the limitation of lower performance in handling the imbalance data.
Shapi et al. [39] proposed SVM, ANN and k-NN methods for the prediction model of energy in the Microsoft-Azure cloud-based machine learning method. The model was tested in the real time data and result showed that prediction had higher performance in energy management. The feature analysis in the prediction model had the lower performance that affects the performance of the method. Susac et al. [40] applied DNN, Rpart regression, and random forest to predict the energy consumption in the Croatian Public Sector building. The DNN model has the highest performance in the prediction and VM allocation in the cloud. The DNN method has the limitation of the overfitting problem that affects the performance of the model. The general architecture of DNN that it is implemented in the prediction of network energy consumption as shown in Figure 5.  Figure 5 shows the structure of DNN with neurons and various layers for the prediction of energy consumption. The input features were applied to the input node in DNN and the input value is passed to the layers with weight and bias. The softmax layer is applied on the output layer to provide the prediction based on the layer information. The network input parameters such as CPU, RAM, disk, bandwidth and network traffics etc., are given as input to the DNN as , … , and output of energy consumption is obtained as output , , as given in Figure 5.

Virtual Machine (VM) Migration for Energy Consumption
VM allocation is carried out in some research to reduce the energy consumption in the cloud data centers. Several VMs are created in the cloud data centers to carry out the task in the PM. The overview of the VM allocation process is shown in Figure 6.   Figure 5 shows the structure of DNN with neurons and various layers for the prediction of energy consumption. The input features were applied to the input node in DNN and the input value is passed to the layers with weight and bias. The softmax layer is applied on the output layer to provide the prediction based on the layer information. The network input parameters such as CPU, RAM, disk, bandwidth and network traffics etc., are given as input to the DNN as x i , . . . , x n and output of energy consumption is obtained as output y 1 , y 2 , as given in Figure 5.

Virtual Machine (VM) Migration for Energy Consumption
VM allocation is carried out in some research to reduce the energy consumption in the cloud data centers. Several VMs are created in the cloud data centers to carry out the task in the PM. The overview of the VM allocation process is shown in Figure 6.  Figure 5 shows the structure of DNN with neurons and various layers for the prediction of energy consumption. The input features were applied to the input node in DNN and the input value is passed to the layers with weight and bias. The softmax layer is applied on the output layer to provide the prediction based on the layer information. The network input parameters such as CPU, RAM, disk, bandwidth and network traffics etc., are given as input to the DNN as , … , and output of energy consumption is obtained as output , , as given in Figure 5.

Virtual Machine (VM) Migration for Energy Consumption
VM allocation is carried out in some research to reduce the energy consumption in the cloud data centers. Several VMs are created in the cloud data centers to carry out the task in the PM. The overview of the VM allocation process is shown in Figure 6. Yadav et al. [29] proposed a heuristic algorithm for VM selection to reduce the SLA violation in the cloud. The heuristic method considered the CPU utilization and types of applications running in VM selection. The CloudSim simulator and PlanetLab tool were used to simulate the VM in the cloud and to test the performance. The CloudSim and PlanetLab simulator tools were commonly used to test the performance of the developed model. Zhou, et al. [30] applied energy aware method that considered the VM deployment, CPU and memory resource in cloud energy management. The PlanetLab VM was used to simulate the VM in the cloud and to test the performance of the developed method. This shows that the developed method had higher performance in the analysis. Yadav et al. [29] proposed a heuristic algorithm for VM selection to reduce the SLA violation in the cloud. The heuristic method considered the CPU utilization and types of applications running in VM selection. The CloudSim simulator and PlanetLab tool were used to simulate the VM in the cloud and to test the performance. The CloudSim and PlanetLab simulator tools were commonly used to test the performance of the developed model. Zhou, et al. [30] applied energy aware method that considered the VM deployment, CPU and memory resource in cloud energy management. The PlanetLab VM was used to simulate the VM in the cloud and to test the performance of the developed method. This shows that the developed method had higher performance in the analysis. Azizi et al. [31] applied MinPR heuristic method to reduce the power consumption based on the active PM and prioritizing the power efficient one. The resource usage factor is used to manage the VM placement on physical machines using penalty mechanisms and rewards.

Comparative Analysis
As introduced above, cloud computing is used in many organizations due to its capacity to provide a large space to store data and its powerful computation process. In particular, energy management in resource allocation in cloud computing is a critical process and involves CPU, storage, VM migration and network usage. Table 2 provides the details of the main existing researches in the energy management in the cloud with their advantages and limitations. Table 2. Comparative analysis of existing energy efficiency in the cloud.

Author(s) Method Advantages Limitations
Fard et al. [46] (2017) This study proposed virtual machine consolidation method to achieve the Quality of Services (QoS)-energy performance in the model. The proposed model was implemented in the CloudSim to test the performance. The QoS and SLA violation were also considered in this model for the analysis.
The result showed that the proposed model had higher performance in terms of energy consumption and QoS.
The model optimization depends on the one parameter solution that affects the performance.
Aujla and Kumar [47] (2018) Energy management with sustainability method was applied in software defined networks (SDN) in the Edge cloud computing. Support vector machine (SVM) was applied for the workload classification in this method. A two-stage method was applied for the workload scheduling and optimal use of network and computer resources.
Resource limited edge devices migrated the users to reduce the Service Level Agreement (SLA) violation in the model. Optimal scheduling of the classifier workloads was done in edge cloud to achieve trade-off between the QoS and energy.
The model requires balanced data to perform effectively in the energy management.
Karthikeyan et al. [48] (2020) Naïve Bayes with hybrid optimization of artificial bee colony-bat algorithm was proposed in this study to reduce energy consumption in Virtual Machine (VM) migration. The proposed method was implemented in CloudSim, which evaluated the success rate, failure rate and energy consumption of the proposed model.
The model showed higher efficiency in the energy management and achieved the higher success rate. The optimization method provided the considerable performance in the VM migration.
The optimization method had lower convergence and was easily trapped into local optima.

Author(s) Method Advantages Limitations
Yadav et al. [49] (2020) The gradient descent based regression (Gdr), bandwidth-aware selection policy (Bw), and maximize correlation percentage (MCP) was applied for energy management and SLA violation. The developed method detected the overload host and performed VM selection to reduce the energy consumption and SLA violation. The Bw method dynamically selected the VM based on the network traffic of the host under SLAs.
The analysis showed that the energy consumption was reduced and also performance was increased. The computational time of the developed method was acceptable in the analysis.
The learning rate of the model was low and it was easily trapped into local optima.
Lin et al. [50] (2018) The distributed energy consumption method was proposed for the heterogeneous cloud based on multi-component power model. The mathematical relation of the CPU, disk, and memory was analyzed in this study for energy consumption. The disk power model was applied in this method to provide threshold for the disk sequential and power calculation.
The developed method reduced the energy consumption in the heterogeneous cloud environment. The performance of the cloud service is improved in this method.
The model had lower efficiency in handling the multi-objective optimization.
Fernández-Cerero et al. [51] (2018) This study developed the simulator for the cloud optimization of energy consumption and resources. The parallel scheduling model was developed to reduce the energy consumption for the heterogeneous, realistic and synthetic workloads.
The developed model had higher performance in terms of total energy efficiency, and scheduling process in the cloud.
The workload and QoS constrains were not considered in this model.

Chen et al. [52] (2018)
The budget pre-assignment method was proposed for the energy reduction in cloud computing. Three types of directed acyclic graph (DAG) method were applied in the heterogeneous computing system.
The proposed method was implemented in the cloud to test its performance.
The developed method had higher energy efficiency.
The QoS and SLA violation were not considered in this method.
Li et al. [53] (2019) The tradeoff strategy was applied in this method for optimal energy consumption and delay threshold in the cloud. The delay threshold was and energy consumption were analyzed for various layers. A cloud-fog scheduling method was proposed for the energy consumption in the model.
The developed method had higher efficiency in energy consumption in various layers of cloud. The developed method provided the considerable delay to reduce the energy consumption.
The solution for the VM migration was not efficient and an evolutionary optimization method was required to provide an effective solution.

Author(s) Method Advantages Limitations
Xie et al. [54] (2020) Global energy saving for multiple workloads (GESMW) was proposed in this study for a cyber physical system (CPS). The GESMW method involved meeting the deadline of the workloads to reduce the energy consumption. The various types of workflow was analyzed in this study for effective management.
The GESMW model had shown higher performance in the energy management and met the deadline of workloads.
The GESMW model failed to analyze the physical environment of the CPS for the energy management.
Yang et al. [55] (2020) The game theory task scheduling algorithm was proposed in this study for energy management. The balanced scheduling algorithm was applied for the reliability, and task scheduling model was applied for the computing nodes.
The objective function was considered in the equilibrium state.
The game theory method gave a more efficient performance of optimization in terms of energy management. The energy consumption was reduced with considerable QoS.
This study did not consider the processing cost of the network and the processing cost is required for the energy management.

Summary of Challenges from Reviewed Studies
From the review of recent methods in energy efficiency in cloud data centers resource allocation some important issues have been discussed in this section:

•
Most studies consider the energy consumption and QoS as the parameters to analyze the energy efficiency in resource allocation. The SLA violation, reliability and makespan are also need to be considered in the methods for effective cloud performance.

•
Clustering methods are applied in the existing research to choose the cluster nodes and perform resource allocation. The random initialization in the clustering method affects the performance of the cluster model. • Evolutionary optimization methods like WOA, PSO, GA, and the firefly algorithm have efficient performance in energy management. Existing optimization methods have the limitations of lower convergences and easily trap local optima.

•
The SVM and random forest methods are applied for the prediction of energy consumption in the cloud and allocate the resource to improve the energy efficiency. The SVM method has the lowest performance in the data imbalance problem. Random forest has overfitting problems when the number of trees is high in the model and has lower performance when number of trees is low. • The DNN model has the highest performance in the prediction of energy consumption in the cloud data center. The DNN model has the limitation of the overfitting problem due to the feature process in the model.

Future Scope
As studied, management in resource allocation is a key aspect in energy efficiency, and the improvement is generally achieved by various soft-computing methods. It is observed that existing limitations in energy management demands the need for creating new innovative methods to improve the cloud performance. In particular, the following aspects should be considered:

1.
Multi-objective optimization methods are needed to handle the energy consumption, QoS and SLA violation. NSGA-II has provided higher performance in multi-objective optimization and poor convergence. Multi-objective methods with high convergence are needed to improve the efficiency of the model.

2.
The k-means clustering proper initialization needs to be provided to achieve higher performance in cluster the workloads in the various scenarios of the cloud. The k-means clustering random initialization does not guarantee the best solution in various scenarios. 3.
DNN with effective feature selection technique needs to be applied to improve the efficiency of the model and to overcome the limitation of overfitting problem. DNN has the overfitting problem that affects its performance.

4.
Apart from the DNN, long short-term memory (LSTM) delivers efficient performance in handling the sequence of data and provides efficient classification. The LSTM has a higher potential in prediction of energy consumption and SLA violation.

5.
Time efficiency is one of the important factors that most of the existing researches did not consider in the analysis. Time efficiency in the cloud technology must be maintained to facilitate smooth operations of the real-time cloud systems to get an edge over the competitors.

Conclusions
In this review, various methods of clustering, optimization, and machine learning methods for the energy management in cloud resource allocation were discussed, and a taxonomy was proposed. As analyzed, on the one hand, most of the clustering methods applied the k-means based method. The k-means based methods have the limitation of random initial cluster that affects the efficiency of the model. On the other hand, optimization methods such as the WOA, firefly algorithm, PSO and GA methods has higher efficiency in terms of energy. Optimization methods have the limitations of the lower convergence and easily trap into local optima. Machine learning methods such as DNN, SVM, and random forest were applied for the energy consumption prediction and allocate the resource based on the prediction. The DNN method has the limitation of overfitting problem and the SVM method has lower performance in the imbalance dataset. Some of the existing research that displayed higher performance in the energy management employed the WOA, and DNN methods. Also, the NSGA-II optimization method is highly efficient for multi-objective optimization to optimize the energy consumption. Mostly, the optimization methods have limitations of being trapped in local optima and poor convergence. In the future, statistical methods should be applied to provide a better convergence and to increase the exploration and exploitation of the optimization methods in cloud energy management for resource allocation.
Author Contributions: The paper investigation, resources, data curation, writing-original draft preparation, writing-review and editing, and visualization were done by S.J. and M.D.N. The paper conceptualization, software, validation, and formal analysis were done by S.S. Methodology, supervision, project administration, and final approval of the version to be published were conducted by R.P.d.P. and P.B.D. All authors have read and agreed to the published version of the manuscript.