A Survey on Green Computing Based on Cloud Environment

— Cloud computing and virtualization have become research hotspots in recent years. Since information communication technology is widely used in real life, data centers have rapidly been developed and the number of data centers has increased a lot. However, the existing data centers have too much power consumption. The energy and resources utilization are much lower. Against this backdrop, green computing is proposed. This paper briefly introduces some technologies based on computer system and cloud computing aimed at energy efficiency without compromising the performance objectives. Finally, the future research trends are analyzed.


INTRODUCTION
In a data centre, significant power savings while not sacrificing service level agreements (SLA) are an excellent economic incentive for operators. Energy efficiency would also make a significant contribution to environmental sustainability. Power savings in the general area of IT and computer networks will be obtain greater economic and environmental gains. In particular, cloud computing is an inherently energy-efficient virtualization technique [1], in which services run remotely in a ubiquitous computing cloud that provides scalable and virtualized resources. When peak loads appear, they can be moved to other parts of the cloud resulting in that the aggregation of a cloud's resources can provide higher hardware utilization. In the cloud computing environment, energy consumption and application performance are focused. The previous work highlights to develop a comprehensive approach for energy efficiency and application performance. In general, this approach includes physical nodes, network hardware, cooling of nodes, communication protocols etc. Therefore, cloud computing will also be a way to considering all aspects of a system to implement energy efficiency to achieve truly green computing.

A. Cloud computing and virtualization
Cloud computing is a cost-effective model for provisioning services, and it makes IT management easier and more responsive for the changing needs of the business. It delivers a wide range of services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). These services are made available on a subscription basis using pay-as-you-use model to customers, regardless of their location [2]. Cloud computing is formally defined as a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [3]. The data centers are the backbone of cloud computing environment. The cloud services are provided from cloud data centers. A data center can be either non-virtualized or fully virtualized and either consolidated or geographically distributed.
In IaaS cloud platform, service consumers give hardware and software configuration of virtual machines (VM) to be created and used to cloud platform, and perform the assignments on their custom VM. If the submitted jobs are parallelizable, the VM may require multi-core for more efficient execution. In many cases, some customers may need to execute a clustered application service which involves interprocess communication with a low-latency demand. Such services and applications will also require multi-core architecture. It is suggested that once virtual machines are configured, created and launched onto the appropriate host, they will begin executing the jobs. The speed at which a VM processes the assignment depends on the speed of the computing resources on which the VM is launched as well as the internal scheduling policy associated with the host [3]. Since the cloud customers and subscribers expect explicit SLA on computer resources, storage and networking infrastructure, a high-efficient scheduling and placement policy to map the incoming VM instances onto a right fit infrastructure is necessary.

B. Data center based on green cloud computing
Now, more and more power of data centers is consumed, thus it has impacted on environments seriously. Many researchers have been seeking to find effective approaches to reduce power consumption of data centers with keeping the desired quality of service or performance objectives. Virtual Machine technology has many seminal features, such as reliability, flexibility and the ease of management. So it is right fit to apply in data center environments. The nature of green cloud computing is reducing energy consumption of data centers while ensuring the performance level from users' requirements.
The advent of cloud computing makes large scale data centers become common in the computing industry. Since these data centers are commonly equipped with high performance infrastructures, they will consume much energy and increase CO2 emissions leading to global warming. For today's world, it has already become a serious environmental problem. In the recent data centers, the idle power wasted is one of the major causes for energy inefficiency with the servers running at a low utilization. Even PAPER A SURVEY ON GREEN COMPUTING BASED ON CLOUD ENVIRONMENT at 10% of CPU utilization, the power consumed is over 50% of the peak power [5]. During off-peak load it also leads to more energy consumption per workload. Pinheiro and Rajamony [6] show that 22% of energy consumption of a single server is needed to cool it. The fact that power consumption of data centers doubled across the globe between 2000 and 2006 is shown by studying data center problems. Incremental US demand for data center energy between 2008 and 2010 is equal to 10 nuclear power plants [7]. Since the existing data centers use too many computing and storage resources to execute more and more large-scale distributed applications, the power consumption increases rapidly. In order to utilize the computing systems efficiently and to reduce their environmental and social impact, green computing is focused on by computer research organization and industry. Now, some hardware techniques can be used to solve the power problems. However, the software techniques and new architectures are more important to achieve the best results. The existing approaches in reducing power consumption in data centers have been discussed in the following sections.

A. Current state of energy efficiency in computer system
Nowadays, computer systems have an increasing amount of power consumption, but are contributing to improving productivity and economic prosperity and to reducing power consumption from other sources by information communication techniques through the network. Computer systems play a complex role in power consumption, as well as by the use of smart devices in data centers to optimize energy management. Computer system can reduce energy consumption and carbon emissions, but this potential reduction is partially offset by the power used by data centers and computer networks [8] which runs into billions of dollars or euros. Thus, a small number of power savings in computer systems could cause significant financial and carbon savings. In this section, we will review some existing approaches in energy efficiency for standalone hardware.

1) Dynamic Voltage Frequency Scaling
Dynamic Voltage Frequency Scaling (DVFS) is one of the latest techniques used in modern processors for power conservation. DVFS optimized the energy consumption of the server by changing the CPU voltage/frequency while not causing an adverse impact on performance. For example, let us consider that the system has just one task to perform and the workload requires only 10 cycles to execute, but the deadline associated with the task is 100 s. In this case, the processor can slow down to 1/10 cycles/s, saving power and also meeting the deadline [9]. The process that the execution speed of a task is slowed down while the execution time doesn't exceed the deadline superiors to running the task at full speed and idling for the remaining period on energy efficiency. One of the software strategies for reducing the energy consumption using DVFS has been given by Lorch [10] and his work has focused on making the operating system determine how slowly the processor can be run without disturbing the user, so that the energy reduction can be maximized.
In DVFS, the malapropos rise in voltage/frequency may result in the increase of computer power demand. Like-wise, the number of instructions a processor can execute in a given time will also be reduced by the reduction in voltage/frequency, which increases the run time of the program segments of CPU bound and degrades performance. However, the execution time of a program of I/O bound will not affected by the change in CPU speed. So it will lead to a non-linearity execution time. Thus changing the frequency of the server may lead to changes in the scheduling order of heterogeneous tasks [8]. Although DVFS has many challenges in finding optimal power/performance tradeoff, most of the existing methods of energy efficiency do with DVFS.
2) Dynamic component deactivation Computer components don't support performance scaling and can only be deactivated. However, they also require techniques which will leverage the workload variability and disable the component when it is idle. The problem is insignificant under the condition of a negligible transition overhead. In practice such transitions lead not only to delays which may degrade the system performance but also to additional power consumption. In order to achieve high-efficiency, a transition can be done in the only case that the idle period is long enough to cover the transition overhead. Moreover, little of knowledge limited about the future workload can be obtained. Thus, a prediction of an effective transition has to be only done in terms of historical data or some system model. A large volume of research has been done to develop efficient methods to solve this problem [11] [12]. Certain policies use strategy of dynamically switching off specific number of servers based on simple workload prediction model [13]. During the frequent switching on/off of the servers, component failure is a main problem. The Dynamic Component Deactivation (DCD) method is used for certain components. It has abilities in significant power conservation by leveraging workload variability.

3) ACPI
In the hardware as part of an electronic circuit, the dynamic energy management techniques DVFS and DCD have been implemented. However, it is difficult to implement and reconfigure the algorithms and policies of dynamic energy management in hardware. Besides, it has a poor visibility toward the environment. To address this issue, the organizations such as Intel, Toshiba and Microsoft have published Advanced Configuration and Power Interface (ACPI) specification to provide standardized nomenclature for various power saving states and also have defined software interfaces for managing them [8].
ACPI is an open standard. Further, it has defined unified operating system centric device configuration and energy management interface. Software developers can use the interface to leverage flexibility and thus adjusting system power saving states. ACPI defines five system states [14]. The state S0 denotes the working state. The standby or inactive with state saved into DRAM is denoted by S3. The hibernating or inactive with states saved into secondary storage is denoted by S4. The soft-off is represented by the sate S5. The power management policies of a cloud computing environment need to not only consider the characteristics of servers but also provision the incoming workloads. The computing resources such as core, chip and host are supported to be set in different power saving states according to the demand by the modern microprocessor technology.

PAPER A SURVEY ON GREEN COMPUTING BASED ON CLOUD ENVIRONMENT
A computing element consumes different amount of energy at different sleep states (power saving states). Wake-up latency is the time which is taken to come to active state from any sleep state. And during the wake-up time the energy consumption is insignificant comparatively. Some existing power-aware processors and microcontrollers have achieved support for live, idle and sleep performing modes.

B. Current state of energy efficiency towards cloud computing
Compared to hardware-oriented optimization, software systems oriented optimization can be potentially achieved at development stage by setting their power characteristics and adapting the implementation. However, individual adaptation of each component is required and when many components run as a whole system, it is also necessary to understand the interaction between them. A major challenge is therefore to explore the relations among system components and the trade-offs that can result in an optimal balance between performance, QoS and energy consumption and include self-aware runtime adaptation [15][16][17][18]. Therefore, in this section we discuss some ideas and frameworks of energy-efficiency research based on a cloud computing environment briefly.

1) Energy-efficient real-time heterogeneous server clusters
Rusu et al. [19] have developed the QoS based power management scheme for the heterogeneous clusters. The proposed system consists of two important components as shown in Figure 1, namely front end manager and a local manager. While the front end manager finds the servers which should be turned on or off in terms of a given system load, the local manager will utilize DVFS to conserve energy. The main disadvantage of the approach is the on/off policy. It relies on the table of values and needs computing offline. Besides, the system doesn't make use of server consolidation through VM migration and thus its on/off policy may not be much effective.

2) Power and Migration Cost Aware Application Placement in Virtualized Systems
Verma et al. [20] have contributed power and migration cost-aware application placement by exploiting the power management capabilities of virtualization. The authors have designed a new application (virtual machines) placement architecture called pMapper. It consists of three major parts, namely a performance manager to dynamically resize the VM, a power manager for CPU throttling and a migration manager to identify the target host for migration with using a knowledge base as shown in Figure 2. They have expounded that for power-aware scheduling approaches, estimates of power values aren't required, and only if the scheduling algorithm has abilities in finding out which server minimizes the incremental increase in total power owing to the new VM being placed, it can place the given VM to appropriate host. In pMapper, two algorithms are implemented. One is First Fit Decreasing (FFD) by which more power-efficient servers are utilized first without balancing the load. The other is incremental First Fit Decreasing (iFFD) which considers the fixed target utilization of each server and achieves server consolidation by live VM migration.
The proposed pMapper architecture minimizes energy and migration costs with ensuring the performance. The approach is different from some existing mechanisms since it places the problem of power and migration costaware application placement to heterogeneous server clusters which can provide the virtualization support with live VM migration and address it. The feasibility of using CPU utilization based application specific power models to develop placement algorithms is investigated and the assumptions are validated through experimentation.

3) Optimal power allocation in server farms
Gandhi et al. [3] have aimed at optimal power allocation by determining the optimal frequency of the servers' CPU, at which the mean response time is minimal and it is done with the help of power to frequency relationship. Aiming to CPU frequency scaling techniques in different states namely T-states, P-states and combination of both for CPU intensive workloads, the authors studied the server power consumption. The results showed that the power to frequency relationship is linear at T-states and Pstates. Moreover, for the combination of the two states it is a quadratic relationship. The fact that it is not always optimal to run the servers with the maximum speed to get the best performance is stated by the authors.
According to the given relationship between power and frequency, they have considered the problem of finding the optimal energy allocation to determine the optimal PAPER A SURVEY ON GREEN COMPUTING BASED ON CLOUD ENVIRONMENT frequencies of the CPUs of the server while making the mean response time minimized. In order to study the effect of multiple different factors on the mean response time, they have introduced a queuing theoretic model which has abilities in predicting the mean response time based the power-to-frequency relationship, peak power budget, arrival rate, etc. Determining the optimal power allocation for every possible configuration of the above factors is also allowed by the model.
The proposed approach has been evaluated on different types of workloads experimentally. The results show that for different workloads the high-efficient power allocations are significantly different. In order to improve the best performance constrained by a power budget, to run a small number of servers at their maximum speed is not always optimal. Conversely, according to the workload, to run more servers can be more efficient with lower performance levels. The experiment demonstrates that an efficient power allocation can mainly improve server farm performance.

4) Energy aware consolidation for cloud computing
Srikantaiah et al. [21] have investigated the problem of dynamic consolidation of applications serving small stateless requests in data centers to minimize the energy consumption. At the beginning, the authors have investigated the effect of the workload consolidation on the energyper-transaction metric based on both CPU and disk utilizations. The authors expounded that the goal of the poweraware consolidation is to make servers better utilized without degrading the performance because of high utilization. They modeled the problem as a multi-dimensional bin packing problem. The servers are represented by bins and each resource (CPU, disk, memory and network) in the bin (server) is considered as a dimension of the bin. The determined optimal utilization level defines the bin size along each dimension. The applications with known resource utilizations are represented by objects with a fit size in each dimension. Because of switching off idle nodes, the minimization of the number of bins is represented as leading to the minimization of the power dawn. However, the proposed model doesn't describe the degradation of performance due to the consolidation. Besides, the power dawn may rely on a particular set of application combined on a computer node.
A heuristic for the defined bin packing problem is proposed by the authors. The heuristic is based upon the idea of minimizing the sum of the current allocations' Euclidean distances to the optimal point at each server. The application workload will be allocated to a server using the proposed heuristic since a request to executing a new application is received. Without the sufficient capacity of all active, the system will switch on a new server while reallocating all the applications using the same heuristic in an arbitrary order. The experimental results have shown that the power used by the proposed heuristic is about 5.4% higher than optimal. The proposed approached is fit for heterogeneous environments, however, it has several shortcomings. First, the approach assumes that all applications' resource requirements are known in advance and constant. Second, performance and power overhead, which the authors do not take account into, is caused by migration of state-full applications between nodes. The frequent switching servers on/off also generates significant costs which are not negligible for a real-world system. In order to obtain optimal points of the resource utiliza-tions for each server, it is another problem with the approach to require an experimental study. Besides, since the utilization above the upper threshold symmetrically provides the same energy-per-transaction level, the judgment of keeping the upper threshold of the resource utilization at the optimal point is unreasonable and unrealistic.

5) Energy-Efficient management of data center resources for cloud computing
Buyya et al. [22] have proposed the GreenCloud project aimed at development of energy-efficient provisioning of Cloud resources, while meeting QoS requirements defined in SLA established through a negotiation between providers and consumers. The project has explored the problem of power-aware allocation of VMs in Cloud data centers for application services based on user QoS requirements such as the deadline and budget constraints [23]. The authors have introduced a real-time virtual machine model. Under this model, a Cloud provider provisions VMs for requested real-time applications and ensures meeting the specified deadline constraints.
The proposed problem is addressed at several levels as shown in Figure 3. At the first level, a request is submitted to a source broker to provision resources for an application encompassing a set of sub-tasks with the requirements of specified CPU and deadline. The specified resource requirements are turned into a request for provisioning VMs by the broker. And then the broker submits the request to lots of cloud data centers. If the data centers can fulfill its deadline requirement, they will return the price of provisioning VMs for the broker's request. The data center which provides the lowest price of resource provisioning will be chosen. The requested VMs are allocated to the physical resources by the selected data center's VM provisioner followed by launching the applications of users. Three policies have been proposed to schedule real-time VMs in a cloud data center using DVFS technique to reduce the power dawn with meeting deadline constraints and making the acceptance rate of provisioning requests maximized. The CPU's P-state is adjusted to the lowest level by the Lowest-DVS policy with ensuring that all the real-time VMs meet their deadlines. The CPU speed is over-scaled up to !% by the !-Advanced-DVS policy for increasing the acceptance rate. The Adaptive-DVS policy uses the M/M/1 queueing model to calculate the optimal CPU speed if the arrival rate and service time of real-time VMs can be estimated in advance. The proposed approach has been evaluated via simulations using the CloudSim toolkit [24]. The simulations results have shown that the performance of Adaptive-DVS is limited by the simplified queueing model. And ! -Advanced-DVS shows the best performance in terms of profit per unit of the consumed power, since the performance of CPU is automatically adjusted based the system load.
Self adaptive particle swarm optimization for efficient virtual machine provisioning in cloud Jeyarani et al. [2] have proposed self adaptive particle swarm optimization for efficient virtual machine provisioning in cloud aimed at that when mapping a set of VM instances onto a set of servers from a dynamic resource pool, the total incremental power drawn upon the mapping is minimal and does not compromise the performance objectives. The novel self adaptive particle swarm optimization (SAPSO) algorithm promptly detects and efficiently tracks the changing optimum that represents target servers for VM placement. The authors have presented the architecture of meta scheduler for cloud environment as shown in Figure 4. It shows the position of adaptive power aware virtual machine provisioner (APA-VMP) which implements SAPSO algorithm for handling dynamic changes in the resource pool and its interaction with other entities. There is a separation of resource provisioning from job execution management. The cloud users submit a list of required VM specification through web interface or cloud interface software which is present in the client layer. The meta scheduler which is a component of middleware layer contains three important software entities namely monitor, APA-VMP, and dispatcher. The resource monitor gets periodically updated with available number of PEs, memory, storage, etc. The APA-VMP receives a batch of workloads belonging to different users in its scheduling time window. As it runs in batch mode, it can take better advantage of resource dynamics. The provisioner identifies the optimal target compute resource for VM placement focusing on minimal power consumption while finding the maximum number of VM requests that are fulfilled in a given batch. Finally, the Workload-Compute Resource mapping (schedule) is given by provisioner to the dispatcher module for launching VM instances in the target hosts.
The advantage of the proposed solution is obvious. It has focused on not only improving the performance of workload facilitating the cloud consumers but also developing the green and energy efficient data center management to facilitate cloud providers. Moreover, since the solution makes use of self-adaptive particle swarm optimization algorithm, it has an inherent advantage of swarm intelligence algorithms and strong theoretical background. However, the particle swarm algorithm and its variants are hard to utilize. Varieties of problems need be solved. Besides, there will be also risks involved in the search efficiency and local optima.

IV. CONCLUSION AND RESEARCH TRENDS
In recent years, the modern computing systems such as data centers and Clouds have been consuming enormous amounts of electrical energy. Therefore, power efficiency has emerged as one of the most important design requirements for modern computing systems. Besides high operating costs caused by computing resources, it also leads to Figure 4. Architecture of meta scheduler significant emissions of carbon dioxide into the environment. Climate change and global warming is obviously unacceptable in this era of ours. Some techniques on hardware systems and solutions on software frameworks to achieve energy efficiency towards green cloud computing are discussed briefly in this paper. For the future research work, the investigation of the following direction is proposed. It is well-known that apart from the CPU and memory, another significant energy consumer in data center is the network interconnect infrastructure. Thus, developing intelligent techniques to manage network resources efficiently is essential. It is one of the ways for achieving this aiming to virtualized cloud data centers to continuously optimize network topologies established between VMs. It can reduce network communication overhead and load of network devices. Establishing on the solid foundation of previous work, more new works will investigate advanced resource management and power saving techniques. Nevertheless, in the age of cloud computing and green earth, there will be more open challenges. Then he continued his research on distributed system and received his master degree in 2008. Now he is a PhD candidate of the college of computer science and technology of Jilin University. His main research interests include distributed system, cloud computing, network technology. He has participated in several projects. He is corresponding author for this paper (Email: zhai-yj049@sina.com).
Gaochao Xu was born in 1966. He has his BS, MS and PhD on College of Computer science and Technology of Jilin University in 1988, 1991 and 1995. Currently, he is the professor and PhD supervisor of College of Computer Science and Technology, Jilin University, China. His main research interests include distributed system, grid computing, cloud computing, Internet of things, information security, software testing and software reliability assessment, etc. As a person in charge or a principal participant, Dr Gaochao Xu has finished more than 10 national, provincial and ministerial level research projects of China.
Yan Ding was born in Yichun of Heilongjiang province of China in 1988. He began the study of computer science at Jilin University in 2007 and got his bachelor degree in 2011. Now he is a postgraduate candidate of the college of computer science and technology of Jilin Uni-PAPER A SURVEY ON GREEN COMPUTING BASED ON CLOUD ENVIRONMENT versity. His main research interests include distributed system, cloud computing and virtualization technology.
Jianfeng Chu was born in 1978, Ph.D. Now he is the teacher of the College of Computer Science and Technology, Jilin University, Changchun, China. He received the Ph.D. degree in computer structure from Jilin University in 2009. His current research interests focus on information security and cryptology. An important objective of the projects is to probe the trend of network security, which can satisfy the need of constructing high-speed, large-scale and multi-services networks. Various complex attacks can not be dealt with by simple defense. And to add mechanisms to network architecture results in decreasing performance. In a word, fundamental reexamination of how to build trustworthy distributed network should be made.