A Review on Energy Efficient techniques in Green cloud: Open Research Challenges and Issues

Cloud computing is today’s most emerging field as it offers utility-oriented services based on pay-as-you-go model over the network. Due to the availability of on-demand scalable resources and provisioning of services all over the world, large organizations are shifting their workload on the cloud. This growing demand for the services of cloud with high usage of data centers has drastically increased the energy consumption by data centers hosting these cloud computing applications. The high consumption of data centers is responsible for high operational costs and emission of carbon footprints which is unfriendly to our environment. Thus, we need to emphasize and study various green cloud computing solutions that can be utilized to minimize the high operational cost and also to reduce the CO2 dissipation. This paper reviews various energy efficient techniques that can be used to reduce the energy consumption. Comparative analysis is also conducted to suggest better future endeavors. . Keywords— Cloud computing, Green data center, Virtualization, Service Level agreement, Energy Efficiency.


I. INTRODUCTION
Cloud computing is one of the most popular computing model as well as a recent trend in information technology that moves computing and data resources away from small companies or systems to large-scale virtualized data centers. According to NIST, cloud computing is a model allowing ubiquitous, on-demand network access to a shared pool of resources-(i.e. networks, application, storage, servers etc) that can be rapidly allocated and released with minimal management effort or service provider interaction [1]. Cloud computing is a large pool of systems which connect each other publically or in a private manner to share resources. The main idea behind cloud computing is to provide resources to access anywhere on pay-as-you-go basis like utility computing model [2]. Thus, instead of spending a huge amount on purchasing IT infrastructure and maintenance, up gradation of software and hardware, organizations can use the services of cloud according to their need and pay accordingly. Cloud provides its services to users as IaaS, PaaS, and SaaS. Through these services, the user can utilize infrastructure, platform, and software as a service as shown in Figure 1. Cloud users don't manage the cloud infrastructure and platform where the application runs. However, these are managed by the consumers.
As the cloud computing services are gaining importance, most of the large organizations are moving their workload on cloud and for serving the clients huge data centers are built with a large number of servers for fulfilling the need of customers. These servers require a large area, power, machines, cooling systems leading to large consumption of energy and CO 2 emission. Making the cloud as energy efficient is a need for service providers because they are investing a huge amount in data centers only for power provisioning and cooling infrastructure which decreases their profit. According to © 2018, IJSRCSE All Rights Reserved 45 Gartner estimates, ICT (Information and communication technology) is responsible for 2% of worldwide CO 2 emission [3]. ICT is also responsible for usage of energy resources on a large scale and adversely affects our environment. The electricity consumption at data centers is globally increasing from 632 billion kWh in 2007 and is predicted to increase up to 1,963 billion kWh by 2020 and CO 2 emissions would reach 1,034 megatonnes. [4]. According to the statistic report of the study conducted by Cisco[5] as shown in Fig. 2, the global data center traffic growth has reached to 7.2 Zettabytes at the end of the year 2017. The main contribution to this traffic growth is cloud data centers, web streaming, video traffic, and social networking sites. As the IoT connections booming up, this growth is predicted to increase seven times in the near future. As a result of these adverse impacts to the environment, there is a need to take concern and to get "greener" i.e. to be environmentally sustainable [6] by lowering the energy and infrastructure cost by efficient designing and using new technologies. Thus, the concept of Green cloud computing has emerged which is envisioned to achieve high utilization of computing [7]. Thus, the main concern of this paper is to review the literature of Green cloud computing techniques which mainly focus on minimizing the energy consumption and reducing carbon footprints in the data centers. The rest of the paper is structured as follows. Section II describes the classification of Green cloud computing techniques. Section III presents open research challenges and issues and finally in Section IV, conclusion and future directions are drawn.

TECHNIQUES
In this section, the author describes the various energy efficient techniques proposed and implemented in the previous research works. The various techniques and algorithms that have been discussed by the researchers to lower down the power consumption in data centers are illustrated in Fig 3.

A. Virtualization
Virtualization technologies are improving the performance of cloud using the techniques of live VM migration for optimizing the energy efficiency. VM migration is a very useful tool in cloud computing environment which can be used for load balancing, fault management, system maintenance and to reduce the consumption of energy in the data centers. VMs refer to one instance of an operating system where at least one application runs in an isolated partition inside the computers. Multiple virtual machines can exist on a single physical machine. If a load of a certain machine gets increased, it needs to be transferred to another physical machine. This transfer of virtual machines is known as virtual machine migration where VMs from one physical machine to another physical machine is transferred in form of the image file. Previously, for the same process one needs to turn off the VM's, and then the required resources are allocated to the new physical machine. Then VM files are migrated from source to destination machine and VM is then initiated in new destination machine. But, this approach is not followed in the live migration [9]. In live migration, the VMs migrate without any downtime. The transfer of the VM state includes virtual CPU, memory and the internal state of devices. The maximum time is taken by the memory transfer step. There are two major parameters which are considered in live VM-migration i.e. downtime and migration time.
There are a number of techniques exists related to virtualization like VM deployment, VM selection, VM consolidation and VM selection. VM migration plays an important role to minimize the energy consumption at data centers. Anton Beloglazov et al. [8] explained that to reduce the power consumption VM migration is done for two reasons, first is when a new request comes which can be served by MBFT(Modified best-fit algorithm) and another on optimization of existing VMs which are done by migrating the VM based on an upper threshold value for CPU utilization. Also, three policies are adopted for migration i.e. minimum migration to reduce the migration cost, migrating VM which has lowest CPU utilization and migrating the necessary no. of VMs according to a uniformly distributed random variable. An experiment is done with these policies on cloudsim which shows that dynamic allocation of VMs with minimum migration policy minimized the energy consumption by 1.48 KWh. However, if SLA is relaxed then energy consumption is further reduced to 1.14KWh. A. Kochut and K. Beaty [11] have put forth a scientific model of VM migration process, the predictability of workload and dynamic management of resource utilization to achieve increased server utilization with minimized cost. They further discussed the classical forecasting time-series modeling techniques for dynamically managing the resource demand. The main idea behind the proposed approach is to increase the utilization of servers by increasing the load on the active machines instead of waking up the new machines. Thus, this idea can increase the utilization of machines and increasing the workload on present machines will not further increase the power consumption but waking up new machines can drastically lead to increased power consumption. VM consolidation is considered as one of the efficient technique to reduce the energy consumption by switching off the idle nodes. This is achieved by migrating the underutilized VM to another VM. The migration is basically done on the basis of CPU utilization power by considering some threshold. Jing Huang et al. [10] proposed the 0-1 knapsack dynamic algorithms to minimize the migration cost and switching cost by reducing the number of migrations. Because whenever we migrate the VM it involves the cost of network devices which comes between the source and destination host and the cost associated to switch the destination VM to active mode from sleep mode. Results show the less energy consumption along with low SLA violation.
The role of virtual machine migration is important in evaluating the performance of cloud center. Narander kumar et al. [11] discussed that there are two techniques of virtual machine migration i.e. pre-copy and post copy. It is analyzed that pre-copy technique is more efficient than post copy because of less or negligible downtime. But when the task consumes so many copying cycles to reduce the faulty pages then it degrades the performance and QoS of a system and consumes much bandwidth. Thus author proposed the framework to minimize the copying cycles in order to optimize the performance with less energy.
The need for Green cloud computing is growing to achieve energy efficient solution by reserving energy through the mechanism of recycling and reuse over a period of time.
Thus, there is a need to optimize the resources efficiently with environment-friendly techniques. R. Buyya et al. [12] discussed the concept of managing cloud environment in an energy efficient manner. They defined Green cloud architectural framework and presented dynamic resource provisioning and allocation algorithms based on Modified best fit decreasing, Minimization of migration and power management with the aim to achieve the quality of service, high performance and cost savings.

B. Task Scheduling
Scheduling the tasks in an intelligent manner in a cloud environment is one of the effective ways by which energy consumption can be minimized. The author of the research paper [13] suggested an artificial bee colony scheduling algorithm for obtaining energy efficiency with an optimal response time of the tasks in a cloud environment. This meta-heuristic technique is inspired by the natural behavior of bees during their search for food. This behaviour is used in scheduling the tasks to the server to solve the complex problem and reiterating until an optimal result is found. Thus, this approach provides a better quality of service. In the paper [14], the author discusses the challenges experienced while scheduling the task in a dynamic environment. To satisfy the dynamic requirement of users, it is also required to utilize all the machines properly. Thus, the author proposes Particle swarm optimization as a global meta-heuristic technique to solve the global optimization problem to reduce the makespan and improving the processing capacity of the resources.
Zhao et al. [15] proposed a modified PSO algorithm to solve the problem of task scheduling by including a costaware fitness function of resources used in the cloud environment. Thus it provides a globally optimal solution reducing the cost, processing time as compared to the traditional scheduling algorithms. In [16], the author has proposed an Ant colony system approach using order exchange and migration (OEM) local search techniques for Virtual machine placement problem. Based on the global search information, the VMs are assigned by the artificial ants. OMEACS records the VM history and based on that distributes pheromone to the VMs, and thus performs the local and global search which contributes to solve the large-scale problems efficiently. This method saves energy by reducing the number of active physical servers and utilizes the machine properly as compared to the other heuristic algorithm.

C. Renewable sources of energy
Due to increase in the usage of ICT equipment in different fields, there is a rapid increase in requirement of energy resources. As we have very less number of fossil fuel energy resources, there is need to transit from these resources to renewable energy resources like Solar, Wind, Hydro-electricity etc. The main challenges faced by data centers are the requirement of 24*7 power supply, dynamic/elastic cloud demands reliable and autonomic power supply management [17]. The Green Star Network (GSN) projects [18] is one of the first major projects that initiated ICT services based entirely on renewable energy sources such as the wind, solar and hydro-electricity all over the world. In the United States, it has been estimated that RES has produced 9.3 percent of total domestic electricity in 2009 to 10.2 percent in 2010 to 12.7 percent in 2011. An estimated 39 percent of electric power capacity by wind power is added in 2011 was from RES [19][20] and Google is one of the company along with other leading IT companies to increase its use of renewable source of energy. The challenging issue with renewable energy resources is that these resources are unpredictable and intermittent in nature Deng Wei et al. [21] discussed various solutions for utilizing renewable energy in a cloud environment. Energy generation model suggested the use of solar and wind renewable energy resources for energy generation. Another model discussed is the Prediction model which is used to predict the energy generation while scheduling the workloads to match the current renewable energy need and supply. Lastly, capacity planning of data centers is discussed which covers various renewable options such as onsite or offsite, different energy storage devices, weather conditions, market price fluctuation, workload variance, incentives and service agreement penalties, which should be considered by the datacenter planners. Ghamkhari et al. [22] introduced a mathematical framework and optimization-based workload distribution algorithm for assigning the different tasks in the diverse data center to reduce the energy consumption. The location of the data center to migrate the task is chosen based on where the renewable energy resources are available and the pricing for the usage of electricity is less. This proposed strategy reduces the cost of data centers, carbon emissions as well as maintains the QoS.

D. Power Management Techniques
Energy consumption of the computing systems can be reduced by managing the power supply of the virtual machines. Power management is divided into static and dynamic. Static power management is done at the time of design, circuit, architecture and system levels which mainly focuses on reducing the switching activity power of the circuits. Dynamic power management (DPM) methods are applied when the system is in the running state. Dynamic voltage and frequency scaling (DVFS) is one of the most widely used techniques of DPM which reduces the consumption of power by dynamically supplying the voltage and clock frequency and decreasing its voltage and frequency when CPU is not utilized fully. In [23] Seema et al. developed energy performance tradeoff scheduling algorithm based on DVFS (dynamic voltage frequency scaling). It is shown that only a small extension in makespan of a job reduces the energy consumption. Thus when jobs are not time critical then the user can mention in GSLA about a valid increase in makespan in order to reduce energy consumption. Al-Dulaimy Auday et al. [24] states that the power that the system consumes is of two types i.e. Static consumption and Dynamic power consumption. The problem of energy wastage can be reduced by DVFS (Dynamic Voltage Frequency scaling). It is one of the techniques used for reducing the power consumption of virtual environment of data centers by supplying dynamic voltage. D. Kliazovich et al. [25] discussed DVFS and DPM techniques of power saving. It evaluates the scheduling policy based on workload concentration to achieve energy efficiency. It estimates the hardware and other computing resources to serve the request. It proposes to build energy lower power consumption. The evaluation result shows that the proposed methodology can save up to $750 per year server on an average. Zhu Tang et al. [26] proposed energy-efficient workflow Task scheduling algorithm(DEWTS) based on dynamic voltage frequency scaling (DVFS) algorithm. It can be implemented for various parallel applications on the divergent distributed environment. It mainly uses the slack time when the servers are merged and distributes the task in idle slots under low voltage and frequency. The evaluation result shows that the proposed methodology reduces the power consumption up to 46.5% and balances the scheduling performance.

E. Service Level Agreement
Service Level Agreement(SLA) is a contract signed between the service consumer and service provider to guarantee the fulfillment of functional and nonfunctional requirements. It is a formal legal document about the quality and costing of the services being provided [27]. SLAs are not only used to provide quality to the customer rather it allows the service provider to efficiently manage their infrastructure. It has been estimated that only in the year 2011 energy consumption in worldwide data centers has increased by 19%. One of the main factors affecting this high amount of energy consumption is the virtual machines and other computing resources are over-provisioned. There are a number of techniques available for reducing the energy consumption at data centers which works on the operational level. But many of them affect negatively the performance (QoS) of the jobs which has already been mentioned in SLA. So this problem is overcome by energy aware SLA which is termed as Green Service Level Agreement (GSLA) [28]. GSLA has been framed in such a way that it includes general negotiation structure with approach keeping in mind to optimize the energy consumption. Haque Md E. et al. [29] proposed a Green SLA service for HPC cloud service providers. The client has to initially specify a GSLA i.e. the percentage of the energy which will be consumed by running a job. If the SLA norms are violated by the provider after acceptance of the job, then the providers will be panelized. For achieving this, the author has introduced power distribution and control infrastructure policy with an optimized scheduling framework. However, it is not necessary to have the same negotiation policy with all the consumers. Every user has different requirement so these negotiation policies are framed by considering different parameters. Thus, these policies will be helpful for the consumers which are environmentally conscious. Chen et al. [30] have proposed an energy-aware scheduling algorithm (EASLA) for precedence constrained applications. The proposed algorithm minimizes the consumption of energy by dynamically scaling their frequencies and allocating the slacks to the non-critical tasks. Earlier, only some slacks were used due to the dependencies among tasks. But, EASLA algorithm saves more energy by finding the maximum set of independent tasks and allocates the slacks to increase the parallelism. Using this framework, consumers achieve SLA by negotiating with the service providers about the makespan of tasks to minimize energy with QOS. Dupont Corentin et al. [31] introduced Plug4Green framework which utilizes a set of SLA constraints to provide energy solutions to users. This framework uses two events i.e. Single allocation and Global Optimization. The first single allocation event is triggered when a new VM is to be allocated. Thus, it allocates the VM to the best server by considering the characteristics of VM, current states of servers and SLA. On the other hand, Global optimization event is executed at regular intervals. Using this approach, the provider can achieve energy optimized results in terms of energy and CO 2 emission. The main factor of energy consumption in cloud data centers is overprovisioning of virtual machines consuming a large amount of power. Copil Georgiana et al. [32] developed a technique for negotiation in GSLA based on particle swarm optimization. For providing the SLA negotiation, this technique uses Web services agreement specifications which will promote the user and service provider to decrease the resource allocation and will help to achieve the optimized energy consumption.

F. Hardware-oriented optimizations
The IT Infrastructure of data center comprises of servers, cooling systems, network configuration etc. The maintenance of the data center is very important to ensure their working efficiency and reliability because the failure of any system can lead to downtime causing degradation of services to the customers. In data centers, cooling systems are the very important component on which the performance of an IT system depends, thus precise cooling systems must be designed to minimize the heat dissipation [33].
Other techniques to minimize the energy consumption is by maintaining the networking configurations, utilizing parallel architectures, controlling the frequency, voltages in servers which affects energy consumption.
The Table 1 below gives the comparison of some of the energy efficient techniques on the basis of Energy consumption, fewer migrations, resource utilization, SLA violation, and fast response time.

III. OPEN RESEARCH ISSUES AND CHALLENGES
This section describes some of the research issues and challenges in the environment of cloud computing.

IV. CONCLUSION AND FUTURE RESEARCH DIRECTIONS
Energy conservation is one of the challenging issues in the cloud due to the consumption of energy by the data centers at large scale and huge carbon footprints making the environment unfriendly. But there is various software and hardware optimization techniques available for environment-friendly energy-efficient cloud computing. This paper discussed various techniques based on virtual machine migration and consolidation to optimize the energy consumption, lower the operational cost and for efficient utilization of computing resources.
Some of the existing work on energy consumption using the various techniques have been surveyed and the other upcoming approaches in this direction include artificial intelligence such as fuzzy logic, Artificial neural networks for selection, placement of VM's, SDN(Software defined network), Hadoop framework, machine learning approaches to attain more energy efficiency, better quality of service and reduction in SLA violation. Other future directions include optimization of algorithms to improve fault tolerance and scalability.

ACKNOWLEDGMENT
The author would like to thank God and all the souls who had helped us to make this paper a successful one.