artificial bee colony based energy-aware resource utilization technique for cloud computing

19
CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. (2014) Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cpe.3295 Artificial bee colony based energy-aware resource utilization technique for cloud computing Nidhi Jain Kansal * ,† and Inderveer Chana Department of Computer Science and Engineering, Thapar University, Patiala-147004, Punjab, India SUMMARY Cloud computing is a form of distributed computing, which promises to deliver reliable services through next-generation data centers that are built on virtualized compute and storage technologies. It is becoming truly ubiquitous and with cloud infrastructures becoming essential components for providing Internet ser- vices, there is an increase in energy-hungry data centers deployed by cloud providers. As cloud providers often rely on large data centers to offer the resources required by the users, the energy consumed by cloud infrastructures has become a key environmental and economical concern. Much energy is wasted in these data centers because of under-utilized resources hence contributing to global warming. To conserve energy, these under-utilized resources need to be efficiently utilized and to achieve this, jobs need to be allocated to the cloud resources in such a way so that the resources are used efficiently and there is a gain in perfor- mance and energy efficiency. In this paper, a model for energy-aware resource utilization technique has been proposed to efficiently manage cloud resources and enhance their utilization. It further helps in reducing the energy consumption of clouds by using server consolidation through virtualization without degrading the performance of users’ applications. An artificial bee colony based energy-aware resource utilization tech- nique corresponding to the model has been designed to allocate jobs to the resources in a cloud environment. The performance of the proposed algorithm has been evaluated with the existing algorithms through the CloudSim toolkit. The experimental results demonstrate that the proposed technique outperforms the exist- ing techniques by minimizing energy consumption and execution time of applications submitted to the cloud. Copyright © 2014 John Wiley & Sons, Ltd. Received 28 October 2013; Revised 2 April 2014; Accepted 19 April 2014 KEY WORDS: resource utilization; server consolidation; virtualization; energy efficiency; artificial bee colony 1. INTRODUCTION The emergence of cloud computing as a new paradigm, where computing is treated as a utility, has given rise to large data centers [1]. Hardware capacity of these data centers is typically over- provisioned because it is hard to adjust dynamically, resulting in too much hardware, that is highly inefficient at delivering IT services. Most data centers host applications on dedicated servers because of the demands of different users to run their applications in isolation [2, 3]. Thus, these servers are fully utilized only for a fraction of time, while remain under-utilized for other times. This leads to a problem of server sprawl [4], that is, multiple servers mostly remaining under-utilized. Under- utilized servers consume more power and require more resources for cooling than required by the average workloads running on them [3, 5]. Hence, these resources that run at average utilization rates of only 5–15% [6] are at the root of energy consumption (EC) problem, which is a critical issue for IT organizations today. High EC gives rise to another problem of high heat dissipation or CO2 emission, being one of the causes of global warming. Hence, there is a need to develop a solution *Correspondence to: Nidhi Jain Kansal, Department of Computer Science and Engineering, Thapar University, Patiala- 147004, Punjab, India. E-mail: [email protected] Copyright © 2014 John Wiley & Sons, Ltd.

Upload: inderveer

Post on 06-Jan-2017

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Artificial bee colony based energy-aware resource utilization technique for cloud computing

CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCEConcurrency Computat.: Pract. Exper. (2014)Published online in Wiley Online Library (wileyonlinelibrary.com). DOI: 10.1002/cpe.3295

Artificial bee colony based energy-aware resource utilizationtechnique for cloud computing

Nidhi Jain Kansal*,† and Inderveer Chana

Department of Computer Science and Engineering, Thapar University, Patiala-147004, Punjab, India

SUMMARY

Cloud computing is a form of distributed computing, which promises to deliver reliable services throughnext-generation data centers that are built on virtualized compute and storage technologies. It is becomingtruly ubiquitous and with cloud infrastructures becoming essential components for providing Internet ser-vices, there is an increase in energy-hungry data centers deployed by cloud providers. As cloud providersoften rely on large data centers to offer the resources required by the users, the energy consumed by cloudinfrastructures has become a key environmental and economical concern. Much energy is wasted in thesedata centers because of under-utilized resources hence contributing to global warming. To conserve energy,these under-utilized resources need to be efficiently utilized and to achieve this, jobs need to be allocatedto the cloud resources in such a way so that the resources are used efficiently and there is a gain in perfor-mance and energy efficiency. In this paper, a model for energy-aware resource utilization technique has beenproposed to efficiently manage cloud resources and enhance their utilization. It further helps in reducing theenergy consumption of clouds by using server consolidation through virtualization without degrading theperformance of users’ applications. An artificial bee colony based energy-aware resource utilization tech-nique corresponding to the model has been designed to allocate jobs to the resources in a cloud environment.The performance of the proposed algorithm has been evaluated with the existing algorithms through theCloudSim toolkit. The experimental results demonstrate that the proposed technique outperforms the exist-ing techniques by minimizing energy consumption and execution time of applications submitted to the cloud.Copyright © 2014 John Wiley & Sons, Ltd.

Received 28 October 2013; Revised 2 April 2014; Accepted 19 April 2014

KEY WORDS: resource utilization; server consolidation; virtualization; energy efficiency; artificial beecolony

1. INTRODUCTION

The emergence of cloud computing as a new paradigm, where computing is treated as a utility,has given rise to large data centers [1]. Hardware capacity of these data centers is typically over-provisioned because it is hard to adjust dynamically, resulting in too much hardware, that is highlyinefficient at delivering IT services. Most data centers host applications on dedicated servers becauseof the demands of different users to run their applications in isolation [2, 3]. Thus, these serversare fully utilized only for a fraction of time, while remain under-utilized for other times. This leadsto a problem of server sprawl [4], that is, multiple servers mostly remaining under-utilized. Under-utilized servers consume more power and require more resources for cooling than required by theaverage workloads running on them [3, 5]. Hence, these resources that run at average utilizationrates of only 5–15% [6] are at the root of energy consumption (EC) problem, which is a critical issuefor IT organizations today. High EC gives rise to another problem of high heat dissipation or CO2emission, being one of the causes of global warming. Hence, there is a need to develop a solution

*Correspondence to: Nidhi Jain Kansal, Department of Computer Science and Engineering, Thapar University, Patiala-147004, Punjab, India.

†E-mail: [email protected]

Copyright © 2014 John Wiley & Sons, Ltd.

Page 2: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

to make use of these under-utilized resources to save energy [7, 8]. Further, this solution has to beefficient to maximize the resource utilization thereby minimizing EC and hence CO2 emission.

The technologies like server consolidation (SC) and virtualization have been used to improvethe resource utilization and energy efficiency of clouds. The efficient utilization of resources canbe achieved via SC [9], which is a process of aggregating several applications running on multipleservers into a reduced number of physical hosts to increase server utilization. The idle servers canbe turned off or put to sleep mode to reduce EC in data centers [10] as components like disks,memory, network devices, also consume energy and a server that seems to remain idle may still useup to 60% of its peak power [7]. SC is enabled through virtualization that is a technology to enablepartitioning of one physical node into several equivalent (similar cloud distribution) virtual machines(VMs) capable of hosting independent operating system instances [2, 11]. This reduces the amountof hardware in use thereby reducing the complexity of managing the infrastructure. Virtualizationfurther enables one to exploit the power of unused computing resources by consolidating differentworkloads on a server and hence improves the utilization of its resources [3, 12, 13].

The motivation behind this paper is to propose an energy-aware resource utilization (ERU) tech-nique based on artificial bee colony (ABC) optimization, which would be applicable in cloudenvironment and would help to schedule jobs to the preferred resources, which would returnoptimum results to the cloud users.

This work proposes an ERU model to efficiently manage cloud resources and to enhance their uti-lization. Benefiting from the SC enabled through virtualization, the goal of this model is to reducethe EC of clouds without sacrificing the performance of user applications. It also proposes an ERUtechnique based on ABC meta-heuristic to find the best job-node pair, that is, this technique intendsto maximize energy efficiency through the best usage of resources. The reasons for choosing ABCoptimization technique for our work over other social behavior inspired techniques are as follows:(1) it is simple to implement as there are very few control parameters; (2) it uses solutions with thehigher fitness values than lower fitness values to produce trial solutions, leading to shorter time ofsearch; and (3) it has high speed of convergence [14]. Also, the EC is minimized by considering theconflicts between processor and memory utilizations. Two types of workloads have been consid-ered: CPU-intensive and memory-intensive. These workloads have been carefully consolidated toavoid conflicts among workloads and to avoid contention of resources. Hence, this model can assistorganizations in enhancing customer satisfaction and contributes directly to the green computing byreducing EC and hence carbon emission.

Therefore, our contributions in this paper are as follows:

� We have proposed an ERU model for cloud computing. It increases the utilization of serverresources, reduces the EC and heat dissipation, hence contributes directly to the greencomputing.� We have proposed an optimization technique that optimizes more than one criteria at the same

time using a fitness function. Like mapping jobs to the available resources to save energy byefficiently utilizing the resources and preserving performance by minimizing the executiontime (ET) of the jobs.

The rest of the paper is organized as follows: Section 2 presents the related work. The proposedERU model is described in Section 3. In Section 4, the ABC optimization technique will be dis-cussed, and Section 5 explains the proposed ABC-based ERU technique. Section 6 describes theexisting reference algorithms. Section 7 presents the experimental setup used for the performanceevaluation and results. A thorough comparison of the proposed algorithm ERU with the existingfirst fit decreasing (FFD) [15] and ant colony optimization (ACO) [16] based techniques has beenpresented. Section 8 concludes the paper.

2. RELATED WORK

Resource under-utilization is a major concern to achieve energy efficiency in cloud data centers.It is basically a large-scale optimization problem due to the heterogenous and dynamic nature ofcloud resources.

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 3: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

Beloglazov et al. [13, 17] have proposed efficient heuristics for dynamic adaption of VM alloca-tion at run-time according to the current utilization of resources applying live migration to minimizeEC. The algorithms do not depend on a particular type of workload. Sharifi et al. [18] have proposeda scheduling algorithm to map VMs onto PMs to maximize the energy reduction while keepingthe performance isolation between applications. They have focused on managing ECs and efficientutilization of processor and disk resources using live migration of VMs. Whereas, our approachis workload type dependent and does not consider migration of VMs as live migration is a costlyoperation and incurs overhead that directly impacts the response time and EC.

Bobroff et al. [19] proposed and evaluated a dynamic SC algorithm that uses historical data toforecast future resource demand and relies on periodic utilization patterns to reduce the numberof physical nodes. In our approach, on the contrary, resources will be assigned to jobs dependingon either the requirements entered by the users or the resource utilization data of jobs stored ina database. Song et al. [20] have proposed resource allocation to applications according to theirpriorities in multi-application virtualized cluster. They have also introduced three levels of schedul-ing to improve the resource utilization resulting in reduced EC. Cardosa et al. [21] have proposedan approach to consolidate VMs according to their pre-defined maximum and minimum resourcerequirements. Although the allocation of VMs in heterogeneous environments is power efficient, yetit requires the knowledge of application priorities and considers only CPU as a resource whereas ourapproach uses Scheduler at a single level only and does not consider the priorities of the applications.It considers CPU and memory as resources rather than a single resource.

Srikantaiah et al. [22] have proposed an algorithm based on the measured optimal points toconsolidate workloads in order to balance EC and performance. They studied the impact of con-solidation of multiple workloads with different resource usage on performance, energy usage, andresource utilization. However, their approach is application and workload type dependent whereasour approach is not application dependent. Kusic et al. [23] have used lookahead control methodto define the problem of performance and power efficient resource-management in virtualizedheterogeneous environments. It performs necessary reallocations depending on the prediction offuture requests. Their model requires simulation-based learning and is complex in nature result-ing in high ET. On the contrary, our approach is heuristic-based allowing the achievement ofreasonable performance.

Authors in [5, 13, 24, 25] have merely focused on reducing the number of active servers byconsolidating many tasks onto fewer servers. This may increase the level of complexity and conflictswithin consolidated applications thereby increasing EC in the long term. Lee and Zomaya [24]have presented two energy-conscious task consolidation heuristics, which aim to maximize resourceutilization by assigning each task to the resource on which the EC for executing the task is explicitlyor implicitly minimized without the performance degradation of that task. In our work, we haveconsidered CPU and memory thresholds along with the energy threshold to assign a task to a node.

Feller et al. [16] have presented a nature-inspired ACO-based workload placement algorithm tocompute the placement dynamically according to the current load. This ACO-based approach hasbeen compared to FFD to show energy gains through better server utilization and a reduced numberof machines. However, the computation time required to derive the placement and thus the energyspent in computation are significantly higher in ACO-based approach as compared to FFD approach.In contrast, our algorithm tries to reduce both EC and ET as compared to ACO-based approach.

In contrast to the discussed studies, we propose an ERU technique based on ABC meta-heuristicfor allocation of jobs. The jobs will be running in VMs on the nodes, but we have not con-sidered the migration of VMs. The jobs will be allocated to these VMs either according to theusers’requirements or the resource utilization data of jobs stored in a database. Our approach usesa single-level Scheduler and does not consider the priorities of the applications. It considers CPUand memory as resources and have considered CPU and memory thresholds along with the energythreshold to assign a job to a node. The proposed approach is workload type dependent and tries toreduce both EC of nodes and ETs of the jobs running on them.

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 4: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

3. ENERGY-AWARE RESOURCE UTILIZATION MODEL

The proposed ERU model provides the facility to manage the resources efficiently with the help ofERU technique. The aim of this model is to reduce EC of clouds without degrading the performanceof user applications. The cloud providers give access to the required resources according to the userrequirements. This is performed in such a way so that the maximum utilization of the resources isachieved, thereby enhancing performance and energy efficiency of the data center. The key featuresof this model are the following:

� Monitoring of cloud resources with respect to EC to make energy-aware scheduling decisions.� Providing the required resources to the users’ applications without degrading the performance

by using ERU technique.� Enhancing resource utilization to reduce EC of clouds.� The resources that are utilized are powered on, and consume energy and the physical nodes

that are idle are kept in a sleep mode to save energy.� Using EC calculator to monitor the energy consumed by the cloud resources.� Using past resource utilization and EC data to make the future energy-aware resource

allocations.

Figure 1 shows the ERU model. The various modules of this model are the following:

� Cloud portal: It helps the cloud user to submit a workload to the cloud and to obtain theresources to execute this workload from the cloud.� Workload analyzer (WA): It analyzes the workload before sending it to the Scheduler.� Workload database (WDB): It is a repository to store the past resource utilization and the EC

data of the workloads, which have already been entered into the system and have used thesystem resources.� Scheduler: It schedules the workload to the required resources.� Energy-aware Onlooker (EO): It decides about the best node for the workload and provides

this information to the Scheduler.� Employed Manager (EM): It provides the energy-related information and the resource-related

information to the EO module. It further comprises the following two sub-modules:

� Resource information collector: It gathers the information about all the resources in thecluster.

� Global energy collector (GEC): It collects the information about the EC of all the servernodes in the cluster.

� Local energy calculator (LEC): It is deployed on each server node and calculates the energyconsumed by the respective node. This information is then provided to the GEC in EM module.� Network attached storage (NAS): In the cluster, one of the server nodes is used as NAS, which

is a server that provides a central storage system for all the files in one place. It allows morehard-disk storage space to be added to a network.

In this approach, a homogeneous environment is considered where all the nodes have the sameconfiguration. All the nodes will be kept in an energy-saving state and will be brought to the ON-state only when required. The heterogeneous workload will be accepted from the user.

Each cloud user will submit a workload (set of jobs) to the cloud and will try to obtain theresources to execute the workload from the cloud through the cloud portal. The user will be enteringthe required number of CPUs, required amount of memory, and the type of the workload (whetherCPU-intensive or memory-intensive). Upon initial submission of this workload, as its resourceutilization and EC data is not available in WDB, resources are allocated to it according to the infor-mation provided by the user. Once the workload gets processed, its resource utilization and EC datawill become available and will be used for future reference. Next time, when the same workloadarrives, this stored data will be utilized for making a decision about the resource allocation. That is,when the user submits a job, it will be checked for its past resource utilization and EC data. If thisdata is not present, the workload will be allocated to resources according to user’s requirements,

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 5: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

Figure 1. Energy-aware resource utilization model.

and its data regarding used resources and consumed energy will be stored in WDB; otherwise, thepresent data will be used for resource allocation. After this phase, the workload gets factorized asCPU-intensive or memory-intensive.

Once the workload has been submitted to the portal, it will be given to the WA module. TheWA will query the WDB module about this workload. WDB will check for the entry related to thequery submitted by WA. If it finds a match, it will return the related data to the WA otherwise it will

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 6: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

return a ‘No match found’ message. Depending on the data received from WDB, the WA will eitherpreprocess the workload and will send it to the Scheduler or will directly send the workload to theScheduler. The old workload, that is, the workload with the existing past resource utilization and ECdata, will be factorized as CPU-intensive or memory-intensive before sending it to the Scheduler;and the new workload, that is, the workload without the past resource utilization and EC data, willbe sent directly to the Scheduler.

Now, the Scheduler makes an energy-aware scheduling decision and maps the workloads to theirrequired resources in coordination with the EO as shown in Figure 2. The Scheduler schedules theworkload received from the WA directly or indirectly, to the ingredient resources according to theinformation collected from the EO module.

Figure 2. Data flow representation for energy-aware resource utilization model.

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 7: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

The EO module collects the resource-related information from the resource information collectormodule of the EM and the energy-related information from the GEC module of the EM. Aftergathering this information, it will make a decision about the best node for the workload.

EO will first check for the available resources of one particular node. If the resources of thisnode are not sufficient to meet the requirements of the workload, it will look for the next node. Ifthe available resources fulfill the required condition, it will further check whether the requiredresources are exceeding the threshold values of the resources, set for that node. If they exceed,it will check the next node; otherwise, it will further check whether the execution of this workloadwill rise the EC of that node above a set threshold. If the EC goes beyond the threshold, the EOwill search for the next node; otherwise, a VM, fulling the resource requirements of the workload,will be started on that node to process the workload, and after the completion of the job, the VM willbe stopped for saving energy. After this, a database entry related to the past resource utilizationdata of this processed workload will be searched. If no such entry exists, the resource utilizationand EC data of this workload will be saved in the WDB; otherwise, it will exit without savinganything. When all the nodes that are in ON-state are searched and no node fulfills the require-ments of the incoming workload, a new node, which was in energy-saving mode, will be turnedON for processing that workload. This will be repeated for each and every workload entering intothe system.

The information about the best node is then provided to the Scheduler to make an appropriateenergy-aware scheduling decision. According to the decision made by the Scheduler, the workloadwill be allocated to the optimal resources. After the completion of workload execution, the dataregarding the resources used and energy consumed will be stored in the WDB. Thus, this modelexhibits how energy-aware based resource scheduling can be performed in the cloud environment.An ABC-based ERU technique has been designed to be used as a part of this model.

For implementation of ABC-based ERU technique, system equations and fitness function arerequired that form the basis of the system behavior. In the following subsection, various sys-tem equations have been proposed followed by the fitness function for implementation of ourproposed technique.

3.1. System model

To find the best node to a corresponding job is a tedious task, and the problem of finding the bestnode for a job according to the user’s requirements is a combinatorial optimization problem. Themain goal of the ABC-Scheduler is to schedule the resources of nodes effectively and efficiently.Allocating jobs to appropriate nodes is an Non-deterministic Polynomial-time (NP)-hard problem[26], and thus, optimal algorithms are not scalable (due to exponential cost of finding an optimalsolution), which is compulsory in large-scale system such as cloud. The solution is to compute nearoptimal solutions using a heuristic by applying greedy or bio-inspired algorithms [27]. Our proposedapproach is used to assign jobs to the nodes to save energy by efficiently utilizing the resources andpreserve the performance by minimizing the ET of the jobs. The optimization problem optimizesenergy as well as ET through a fitness function.

In this work, the scheduling problem has been considered from cloud provider’s point of view ashe wants to minimize the ET of the jobs and EC of the nodes. In this problem, we have consideredminimization of the energy consumed in the data center. Smaller values of EC indicate that theScheduler is planning the jobs in an energy-aware manner. ET is another optimization criterion,which refers to the ET of the jobs running in VMs on nodes. We have mathematically formalizedthe problem to obtain an optimal solution.

To consider this problem, we have taken a set ¹r1; r2; : : : ; rM º of nodes such that R D ¹ri j1 6i 6M º is the collection of M nodes; a set ¹v1; v2; : : : ; vN º of VMs such that VM D ¹vj j1 6 j 6N º is the collection of N VMs; and a set ¹job1; job2; : : : ; jobLº of jobs to be run in VMs suchthat JOB D ¹jobkj1 6 k 6 Lº is the collection of L jobs. Let ci be the overall CPU capacity inMillion Instructions Per Second (MIPS) and mi be the memory capacity in MB of a node ri . Letvcj and vmj be the CPU and memory capacities of a VM vj .

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 8: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

For problem formulation, the following constraints are taken into consideration:

1. A fully virtualized cluster environment is considered that has a pool of server nodes andapplications running on them. This environment is homogeneous too, with nodes having thesame capacity.

2. The applications will be running in VMs, which will be started and stopped according to thejobs’ requirements.

3. Jobs are independent and need to be allocated across the pool of server nodes.4. Each node can be switched on or off independently.5. Each VM and node will be characterized by their processor and memory utilizations.6. The CPU and memory utilization of each node needs to be bound by upper threshold values

to prevent them from reaching 100% utilization, which can lead to performance degradation.These have to be chosen very carefully as very high values will degrade the performance andvery low values will increase the EC.

7. A threshold for EC has to be set for each node in order to allocate workloads below this valueto increase the overall energy efficiency of the cloud.

8. Each user submits a workload. Workload is a set of jobs, which will be running in VMs.This set may contain one or more jobs. Workloads will be submitted according to the specificrequirement of entering its type, that is, whether it is CPU-intensive or memory-intensive.

At any given time, for i th node , the CPU utilization .RPUi / and memory utilization .RMUi /

can be given as

RPUi D

nXjD1

lXkD1

rpuijk (1)

and

RMUi D

nXjD1

lXkD1

rmuijk (2)

where n is the number of VMs running on i th node and l is the number of jobs assigned to n VMs.rpuijk and rmuijk are the CPU and memory utilizations of k jobs running in j VMs on i th node,respectively. The power consumption, PCi , of the i th node, in terms of its respective CPU andmemory utilizations, can be given as

PCi D.RPUi /.RMUi /

C(3)

where C is the number of memory units. ABC optimization is used in our approach; therefore, thepower consumption needs to be normalized. The normalized power consumption can be given as

PCi DPCi � PCmin

PCmax � PCmin(4)

where PCmax is the maximum and PCmin is the minimum power consumed by the system.Energy consumption of a node can be defined as the power consumption of that node during 0t 0

units of time. Therefore, EC .ECi / of the i th node is calculated as

ECi D PCi � t (5)

where PCi is the power consumption of the i th node during 0t 0 units of time. Hence, the total ECof the system is

EC D EC1 CEC2 C : : :CECM (6)

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 9: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

where M is the total number of nodes. Therefore

EC D

MXiD1

ECi (7)

ETi is the ET of the jobs running in VMs on the i th node and is defined as:

ETi D

nXjD1

lXkD1

ETijk (8)

where ETijk is the ET of k jobs running in j VMs on i th node. Hence the total ET is:

ET D

MXiD1

ETi (9)

3.2. Fitness function

The main goal, in this work, is to minimize the EC and ET by efficiently utilizing the resources ofthe nodes. The fitness value is thus calculated as

f itm D �.EC/C ı.ET / (10)

EC D min.EC.ri ; jobk// for1 6 i 6M;1 6 k 6 L (11)

ET D min.ET .ri ; jobk// for1 6 i 6M;1 6 k 6 L (12)

where 0 6 � < 1 and 0 6 ı < 1 are the weights to prioritize components of the fitness function.EC.ri ; jobk/ is the EC of the job jobk on the node ri and ET .ri ; jobk/ is the ET of the job jobkon the node ri .

Fitness function is subjected to the constraints:

nPjD1

vcj

ci6 CPUth (13)

that is, the ratio of the aggregated CPU capacity of VMs on the i th node to the CPU capacity of thei th node must not exceed the CPU threshold value, CPUth of that i th node,

nPjD1

vmj

mi6MEMth (14)

that is, the ratio of the aggregated memory capacity of VMs on the i th node to the memory capacityof the i th node must not exceed the memory threshold value, MEMth of that i th node and

ECi 6 Energyth (15)

that is, the total EC of the i th node should not exceed its energy threshold value, Energyth.

4. ARTIFICIAL BEE COLONY

Artificial bee colony algorithm is a swarm intelligence-based optimization algorithm, which wasintroduced by Dervis Karaboga in 2005 [28, 29]. In ABC, the colony of artificial bees contains threegroups of bees: employed bees associated with specific food sources, onlooker bees watching thedance of employed bees within the hive to choose a food source, and scout bees searching for foodsources randomly. Both onlookers and scouts are also called unemployed bees. Initially, all food

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 10: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

source positions are discovered by scout bees. Thereafter, the nectar of food sources are exploitedby employed bees and onlooker bees, and this continual exploitation will ultimately cause them tobecome exhausted. Then, the employed bee that was exploiting the exhausted food source becomesa scout bee in search of further food sources once again. In ABC, the position of a food sourcerepresents a possible solution to the problem, and the nectar amount of a food source correspondsto the quality (fitness) of the associated solution. The number of employed bees is equal to thenumber of food sources (solutions) because each employed bee is associated with one and only onefood source. Three control parameters used in ABC are SN (number of food sources that is equalto employed/onlooker bees), the value of limit (the predetermined number of cycles for which aposition undergoes an improvement phase), and the MCN (maximum cycle number for which thepopulation of the positions (solutions) is subjected to repeated cycles of the search processes of theemployed bees, the onlooker bees, and scout bees) [14, 30, 31].

The general scheme of the ABC algorithm is

1. Initialization Phase2. REPEAT

� Employed bees phase� Onlooker bees phase� Scout bees phase� Memorize the best solution achieved so far

UNTIL(CycleDMaximum Cycle Number)

Four selection processes of ABC algorithm [14, 30, 31] are as follows:

(1) A local selection process carried out by the artificial employed bees and the onlooker bees ina region to produce a candidate food position from the old one by

vij D xij C �ij .xij � xkj / (16)

where k 2 ¹1; 2; : : : :; SN º & j 2 ¹1; 2; : : : ;Dº are randomly chosen indexes. D is thenumber of optimization parameters, and �ij is a random number between Œ�1; 1�.

(2) A greedy selection process carried out by all bees isif New(nectar amount) > Old(nectar amount) thenj Memorize the new position

endelsej Keep the old position in her memory

end(3) A global selection process used by the artificial onlooker bees for discovering a food source

depending on its associated probability value is given by

pi Df iti

SNPnD1

f itn

(17)

where f iti is the fitness value of the solution i and SN is the no. of food sources.(4) A random selection process carried out by scouts. A new random solution to replace the

abandoned source xi is produced by

xji D x

jmin C rand.0; 1/

�xjmax � x

jmin

�(18)

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 11: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

where rand.0; 1/ is a random number within Œ0; 1� based on a normal distribution and xjminand xjmax are the lower and the upper boundaries of the j th dimension, respectively.

5. ARTIFICIAL BEE COLONY-BASED ENERGY-AWARE RESOURCEUTILIZATION TECHNIQUE

An ERU technique provides an optimal solution to find the best job to particular node pair.

Pseudo code of the ABC-based Algorithm for ERU:

In this section, we present the pseudo code of ABC-based algorithm for ERU in the cloud environ-ment. The input to the algorithm is a set of jobs and a set of nodes. Many parameters such as set ofjobs .JOB/, set of nodes .R/, past resource and energy utilization .PREU/, number of nodes .M/,maximum cycle number .MCN/ for each search process, workload type .W _Type/ where CW isfor CPU-intensive workload and MW is for memory-intensive workload, available CPU and mem-ory .Avail_CPU;Avail_Mem/ with every node, required CPU and memory .CPUreq;Memreq/

by each job, energy required .Energyreq/ by each job, CPU threshold .CPUth/, memory thresh-old .Memth/ and energy threshold .Energyth/ for each node have been initialized. Scheduler isthe hive for the bees, region of the ABC search space is the cluster, nodes are the food sources,and CPU, memory, and energy values of a node are considered the nectar of that node. The pseudocode of ABC-based algorithm for ERU is given in Algorithm 1. First of all, the workloads will beanalyzed and factorized according to the past data stored in workload data base. Then, the ABC-Scheduler will be called to schedule the workloads to their required resources. ABC-Scheduler isa module that makes use of the ABC optimization technique to optimally allocate the resourcesto the workloads. Scheduler will send the scout bee agents and employed bee agents to search thenodes for their resources. Employed bee agents share this information with the onlooker bee agents.Depending on the resources and the EC values of the nodes and using a probability-based selectionprocess, the onlooker bee agents select the best nodes. Once all the nodes get exhausted, scout beeagents will be sent to explore more nodes in the search space. The process will be repeated for amaximum cycle number with each iteration producing an improved solution (position of the node).The Scheduler will end the process when all the jobs have been allocated to the best resources. Thedetailed description of each function of the Scheduler is as follows:

Initialization_Phase()All the vectors of the population of nodes, . Eym/s, are initialized .m D 1 : : :M;M W popu-

lation size) by scout bee agents, and control parameters M and MCN are set. Because eachnode, . Eym/, is a solution vector to the optimization problem, each . Eym/ vector holds n vari-ables, .ymi ; i D 1 : : : n/, which are to be optimized so as to minimize the objective function.Equation (18) is used for initialization purposes as

ymi D li C rand.0; 1/ � .ui � li / (19)

where .li / and .ui / are the lower and the upper bound of the parameter .ymi /, respectively.Employed_Bees_Phase()

1. Produce_New_Solution(): Employed bee agents search for new nodes . E�m/ having moreresources within the neighborhood of the node . Exm/ in their memory. They find a neighbornode and then evaluate its profitability (fitness). A neighbor node . E�m/ is determined using theEquation (16) as

�mi D ymi C �mi .ymi � yki / (20)

where . Eyk/ is a randomly selected node, .i/ is a randomly chosen parameter index, and .�mi /is a random number within the range Œ�1; 1�.

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 12: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

2. Greedy_Selection_Process(): After producing the new node . E�m/, its fitness is calculated, anda greedy selection is applied between . E�m/ and . Eym/.

Onlooker_Bees_Phase()

1. Calculate_Prob(): Unemployed bee agents consist of two groups of agents – onlooker beeagents and scout agents. Employed bee agents share their node information with onlooker bee

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 13: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

agents waiting with the Scheduler, and then onlooker bee agents probabilistically choose theirnodes depending on this information. An onlooker bee agent chooses a node depending on theprobability values calculated using the fitness values provided by employed bee agents.

The probability value .pm/with which . Eym/ is chosen by an onlooker bee agent is calculatedby using the expression given in Equation (17) as

pmi Df itmi . Eym/

MPmD1

f itm. Eym/

(21)

2. Produce_New_Solution(): After a node . Eym/ for an onlooker bee agent is probabilisticallychosen, a neighborhood node . E�m/ is determined by using Equation (20), and its fitness valueis computed using Equation (10).

3. Greedy_Selection_Process(): As in the employed bees phase, a greedy selection is appliedbetween . E�m/ and . Eym/. Hence, more onlooker bee agents are recruited to richer sources andpositive feedback behavior appears.

Scout_Bees_Phase()

Determine_Abandon_Solution(): The unemployed bee agents who choose their nodes randomlyare called scout bee agents. Employed bee agents whose solutions cannot be improved through apredetermined number of trials, called ‘limit’ or ‘abandonment criteria’ herein, become scout agents,and their solutions are abandoned. Then, the converted scout bee agents start to search for newsolutions, randomly. For instance, if solution . Eym/ has been abandoned, the new solution discoveredby the scout bee agent who was the employed bee agent of . Eym/ can be defined by Equation (18).Hence, those nodes that are initially poor or have been made poor by exploitation are abandoned,and negative feedback behavior arises to balance the positive feedback.

There are total M nodes, and on each node, there are n VMs running. There are l number ofmaximum possible jobs running on each VM. For each job, function ABC-Scheduler will run forMCN number of times, where MCN is the maximum number of cycles. This will result in thesystem complexity of O.M �MCN/ and process complexity for each process as MO.n � l/ .

6. EXISTING REFERENCE ALGORITHMS

We have used two algorithms, namely, ACO [32] algorithm and FFD [15] as reference algorithms.

6.1. Ant colony optimization

Ant colony optimization is a meta-heuristic for finding near optimal solutions using a probabilistictechnique. It can be used for problems that belong to the NP class. ACO algorithms were discoveredby observing natural food-discovering behavior of real ants. Ants communicate indirectly using theirenvironment. They deposit pheromone, which is a chemical substance, that controls the behavior ofants when they encounter it. This method of communication is called stigmergy. Ants use proba-bilistic decision for their travel while searching for the food. They are more likely to choose pathswith higher quantity of pheromone. When ants find food, they deposit pheromone on the return inorder to induce other ants to follow the path until they reach the food source. Pheromone evapo-ration correspond to the natural evaporation of chemical substance deposited by ants. It is used toreduce the amount of pheromone over time for keeping only trails that are regularly used. This sys-tem aims to promote trails, which lead to better solutions. When applied on combinatorial problemslike Bin Packing Problem (BPP), artificial ants act as a multi-agent system and construct a complexsolution based on indirect low-level communication [16, 32, 33].

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 14: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

6.2. First fit decreasing

First fit decreasing algorithm is one of the well-known greedy algorithms for classic bin packingproblems. It sorts items by their decreasing order; then for each item, try to pack it in the first binthat can host it. By first sorting the list of elements into decreasing order, the algorithm has beenmade much more effective although it does still not guarantee an optimal solution, and for longerlists may increase the running time of the algorithm. It is known, however, that there always existsat least one ordering of items that allows FFD to produce an optimal solution [15, 34].

7. PERFORMANCE EVALUATION AND RESULTS

In this section, we present the performance evaluation of the proposed ABC-based ERU technique.Thereby, in order to gain a first insight into the performance of the algorithm on large scale beforeimplementing it in a real environment, simulation-based experiments were conducted. Therefore,an existing cloud computing simulation framework, CloudSim toolkit [35] was used to compare theABC-based algorithm with the ACO-based algorithm and frequently applied FFD heuristic. TheCloudSim toolkit is a completely customizable tool used for seamless modeling, simulation, andexperimentation of emerging cloud computing infrastructures and application services. It allowsresearchers and industry-based developers to focus on specific system design issues that they want toinvestigate, without getting concerned about the low-level details related to cloud-based infrastruc-tures and services. The CloudSim toolkit has been used for the evaluation because of the followingreasons [35]:

� It allows the modeling and simulation of large-scale cloud computing data centers, virtualizedserver hosts, with customizable policies for provisioning host resources to VMs.� It provides support for modeling and simulation of energy-aware computational resources.� It supports for modeling and simulation of data center network topologies and message-passing

applications� It has a support for dynamic insertion of simulation elements, stop and resume of simulation� It gives support for user-defined policies for allocation of hosts to VMs and policies for

allocation of host resources to VMs

Table I shows the specification details of the implementation of the whole cluster, which wascomposed of homogeneous nodes, whereas Table II gives the description of a node. Up to 600 VMswere simulated. Individually, each VM required 1000–5000 of MIPS, 2 cores, 4 GB of RAM and200 GB of storage on NAS and bandwidth of 1 Gbps [16]. The average power drawn by the systemduring simulation was 198 W, which was measured with the help of Joulemeter [36], which is asoftware tool to measure the power consumption of the system. For estimating the EC, a periodt was defined and was set to 24 h. Therefore, the EC values represent the power drawn by thesystem over a period of 24 h. For optimized results and energy savings, an assumption was made to

Table I. Simulation parameters.

Parameter Value Comment

No. of virtual machines 100 � 600 Supporting cloud environmentNo. of Nodes 25 � 175 Nodes/servers running virtual machinesBandwidth 10 Gbps Maximum allowed data rateAverage energy consumed 456 kWh Average energy consumed during completion of jobsAverage computational energy 52 Wh Average energy spent for computing the placements of jobsAverage power drawn 198 W Power rate of nodesNo. of employed bees 25 � 175 Equals number of food sources (M)Maximum cycle number 1000 Maximum cycle number of the search processLimit M �D Number of predetermined cycles for improvement phase

where M is the number of food sources and D is the numberparameters to be optimized

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 15: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

Table II. Node description.

Parameter Value Comment

Disk storage 1 TB Physical/secondary memory availableRAM 50 GB Primary memory availableNo. of cores 24 Number of cores in the nodeCPU capacity 10000 MIPS Number of CPU cycles

Figure 3. Energy-aware resource utilization (ERU) versus first fit decreasing (FFD) versus ant colonyoptimization (ACO): total execution time.

turn-off the idle nodes after the workload consolidation. Hence, their idle powers were not includedin calculating total EC [16]. In particular, the EC was estimated according to Equation (7).Comparative Analysis of ERU with FFD and ACO:

The simulation was carried out for 100–600 VMs and was repeated for 30 times. The ET, EC,CE, percentage of nodes saved and hence the energy gained were calculated for the proposedABC-based ERU technique. The calculated results were compared to FFD and ACO-based tech-niques (refer to Table A.1 in the Appendix). This table also depicts the percentages of saved nodesand gained energy using ERU over the nodes used and energy consumed by both FFD and ACO-based techniques.

Figure 3 illustrates the comparison of total ET of all the three techniques. The total ET, which isthe total time to obtain the final output, is measured in minutes (mins). The figure shows that thetotal ET of ERU is greater than FFD and lesser than ACO. FFD has outperformed the other twotechniques, because jobs were assigned to the VMs as soon as they entered the system, whereasthe other two techniques took time in finding the appropriate best solution. Being based on ABC,the total ET of ERU is better than ACO as the convergence rate of ABC is high. This is becauseconvergence rate .Crate/ is inversely related to ET, that is, ET / .1=Crate/. In other words, thehigher the rate of convergence, the lower the ET. Moreover, ABC-based ERU often uses higherfitness value solutions than those with smaller/lower fitness values to produce trial solutions leadingto shorter time of search.

Figure 4 shows the comparison of CE for ERU, ACO, and FFD. CE is the energy spent forcomputing the placement. It is calculated as .ET � 198/ and is measured in terms of Watt hours(Wh). This figure presents that the ERU consumes less energy in computation than ACO as ERU’sET is less than the ET of ACO. ERU consumes more energy in computation than FFD as its ET ismore than FFD. CE was incorporated into the total EC and was calculated not more than 60 Wh.Therefore, it did not influence the total energy results of the algorithm, which were in the region ofkilo Watt hour.

Figure 5 depicts the comparison of EC of ERU with that of the other two techniques, that is, ECof FFD and ACO. The EC is measured in terms of kilo Watt hours (kWh). The figure illustrates theenergy efficiency of ERU as compared to FFD and ACO-based techniques. The EC of the ERU islowest as compared to ACO and FFD. Our proposed technique has outperformed both the techniquesas it uses less number of nodes than the other two. Also, ERU converges faster than ACO but slower

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 16: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

Figure 4. Energy-aware resource utilization (ERU) versus first fit decreasing (FFD) versus ant colonyoptimization (ACO): computational energy.

Figure 5. Energy-aware resource utilization (ERU) versus first fit decreasing (FFD) versus ant colonyoptimization (ACO): energy consumed.

Figure 6. Improvement results with respect to other techniques.

than FFD as ERU’s ET is less than ACO but more than FFD. This is because Crate / .1=ET /, thatis, the decrease in ET will result in an increase in the convergence rate. Therefore, due to the usageof less number of nodes and high convergence rate, EC of ERU is lowest. But for FFD, besideshaving the least ET, its EC is more, as FFD does not utilize the resources properly leading to theusage of more number of nodes than the other two techniques.

The efficiency of our proposed technique has been highlighted in Figure 6, which clearly statesand justifies the credibility of our model. The results demonstrate that an average of 8.68% of nodesand 8.66% of energy have been conserved using ERU over FFD and ACO-based techniques. TheABC-based ERU technique has further been compared individually to FFD and ACO. AlthoughFFD outperformed ERU in terms of both ET and computational energy, nodes saved and energygained are far better in ERU than FFD. On average, 11% of nodes and 10.7% of energy have been

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 17: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

conserved using ERU technique over FFD-based technique. The ERU has outperformed ACO inevery way, and the nodes and energy saved using ERU over ACO technique are 6.35% and 6.63%,respectively (refer to Tables A.2 and A.3 in the Appendix).

Thus, ERU model can assist organizations in enhancing customer satisfaction and contributesdirectly to the green environment by reducing EC and hence carbon emission.

8. CONCLUSION AND FUTURE SCOPE

In this paper, an energy-aware model for resource utilization technique has been proposed to effi-ciently manage cloud resources and enhance their utilization. Benefiting from the SC enabledthrough virtualization, the goal of this model is to reduce the EC of clouds without sacrificing theperformance of user’s job. EC has been minimized by considering the conflicts between processorand memory utilizations. EC of a node is also set as a threshold besides CPU and memory. As soonas the EC of a particular node exceeds this threshold, no further workload is assigned to that node.Running the same kind of workloads on a single machine may push the utilization of that particu-lar resource to its limits, and hence degrading the performance. Consolidation of the workload hasbeen performed carefully to avoid conflicts among different types of workloads and contention ofresources. CPU-intensive workloads and memory-intensive workloads have been considered, as dif-ferent types of workloads do interfere in virtualized environments. Our work further proposed anERU technique based on ABC meta-heuristic to find the best node for user’s job. It has been used todynamically assign workloads to nodes to save energy and preserve performance. Our optimizationtechnique optimizes energy as well as ET through a fitness function.

As a future work, this ERU technique will be tested in a more practical environment like Open-Stack, OpenNebula, or any other private, public, or hybrid cloud. Besides, we want to experimentwith heterogeneous nodes, disk-intensive workloads, and network workloads also. Our techniquewill further be used to develop an energy-aware load balancing technique for cloud computing. Thisload balancing technique will be experimentally validated using a real environment.

APPENDIX A: DETAILED RESULT OF THE SIMULATION

Table A.1. Energy-aware resource utilization versus first fit decreasing and ant colony optimization�.

Total ET EC CE Nodes EnergyNo. of VMs Technique No. of nodes (mins) (kWh) (Wh) saved (%) gain (%)

100FFD 30 0.0065 139.62 0.02

13.69 11.80ACO 28 0.6243 131.41 2.06ERU 25 0.0826 119.42 0.27

200FFD 59 0.0097 275.13 0.03

9.50 10.31ACO 56 4.51 262.83 14.88ERU 52 0.878 241.12 2.90

300FFD 88 0.0128 410.65 0.04

5.76 8.20ACO 84 15.04 394.28 49.63ERU 81 2.46 369.29 8.12

400FFD 117 0.0172 546.16 0.06

8.25 8.00ACO 112 34.23 525.75 112.96ERU 105 6.45 492.88 21.29

500FFD 146 0.0232 681.67 0.08

7.31 6.79ACO 139 70.2 653.17 231.66ERU 132 11.27 621.83 37.19

600FFD 175 0.0292 817.19 0.10

7.55 6.87ACO 167 120.6 784.75 397.98ERU 158 18.38 745.62 60.65

VM, virtual machine; ET, execution time; EC, energy consumption; CE, computational energy; FFD, firstfit decreasing; ACO, ant colony optimization; ERU, energy-aware resource utilization.*The standard evaluation values for our technique were considered similar to as taken in comparison offirst fit decreasing and ant colony optimization by Feller et al. [34].

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 18: Artificial bee colony based energy-aware resource utilization technique for cloud computing

N. J. KANSAL AND I. CHANA

Table A.2. Energy-aware resource utilization versus first fit decreasing.

Total ET EC CE Nodes EnergyNo. of VMs Technique No. of nodes (mins) (kWh) (Wh) saved (%) gain (%)

100 FFD 30 0.0065 139.62 0.02 16.67 14.47ERU 25 0.0826 119.42 0.27

200 FFD 59 0.0097 275.13 0.03 11.86 12.36ERU 52 0.878 241.12 2.90

300 FFD 88 0.0128 410.65 0.04 7.95 10.07ERU 81 2.46 369.29 8.12

400 FFD 117 0.0172 546.16 0.06 10.26 9.76ERU 105 6.45 492.88 21.29

500 FFD 146 0.0232 681.67 0.08 9.59 8.78ERU 132 11.27 621.83 37.19

600 FFD 175 0.0292 817.19 0.10 9.71 8.76ERU 158 18.38 745.62 60.65

VM, virtual machine; ET, execution time; EC, energy consumption; CE, computational energy; FFD,first fit decreasing; ERU, energy-aware resource utilization.

Table A.3. Energy-aware resource utilization versus ant colony optimization.

Total ET EC CE Nodes EnergyNo. of VMs Technique No. of Nodes (mins) (kWh) (Wh) saved (%) gain (%)

100ACO 28 0.6243 131.41 2.06 10.71 9.12ERU 25 0.0826 119.42 0.27

200ACO 56 4.51 262.83 14.88 7.14 8.26ERU 52 0.878 241.12 2.90

300ACO 84 15.04 394.28 49.63 3.57 6.34ERU 81 2.46 369.29 8.12

400ACO 112 34.23 525.75 112.96 6.25 6.25ERU 105 6.45 492.88 21.29

500ACO 139 70.2 653.17 231.66 5.04 4.80ERU 132 11.27 621.83 37.19

600ACO 167 120.6 784.75 397.98 5.39 4.99ERU 158 18.38 745.62 60.65

VM, virtual machine; ET, execution time; EC, energy consumption; CE, computational energy; ACO, antcolony optimization; ERU, energy-aware resource utilization.

REFERENCES

1. Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M.Above the Clouds: A Berkeley View of Cloud Computing, Technical Report No., UCB/EECS-2009-28, EECSDepartment, University of California, Berkeley, February 2009.

2. Bichler M, Setzer T, Speitkamp B. Capacity planning for virtualized servers. Proceedings of the 16th AnnualWorkshop on Information Technologies and Systems, WITS’06, Milwaukee, Wisconsin, USA, 2006; 1–6.

3. Chebiyyam M, Malviya R, Bose SK, Sundarrajan S. Server consolidation: leveraging the benefits of virtulization.Infosys Research, SETLabs Briefings 2009; 7(1):65–75.

4. http://searchdatacenter.techtarget.com/sDefinitions/0,,sid80_gci1070280,00.html [Accessed on August 2013].5. Speitkamp B, Bichler M. A mathematical programming approach for server consolidation problems in virtualized

data centers. IEEE Transactions on Services Computing 2010; 3(4):266–278.6. Vogels W. Beyond Server Consolidation. ACM Queue: New York, NY, USA, January-February, 2008.7. Berl A, Gelenbe E, Girolamo M, Giuliani G, Meer H, Dang MQ, Pentikousis K. Energy-efficient cloud computing.

Computer Journal Advance Access, Oxford University Press, The British Computer Society 2009; 53(7):1045–1051.8. Raghavendra R, Ranganathan P, Talwar V, Wang Z, Zhu X. No power struggles: coordinated multi-level power

management for the data center. SIGARCH Computer Architecture News 2008; 36(1):48–59.9. Wood T, Shenoy PJ, Venkataramani A, Yousif MS. Sandpiper: black-box and gray-box resource management for

virtual machines. Computer Networks 2009; 53(17):2923–2938.10. Zhang Q, Cheng L, Boutaba R. Cloud computing: state-of-the-art and research challenges. Journal of Internet

Services and Applications 2010; 1(1):7–18.

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe

Page 19: Artificial bee colony based energy-aware resource utilization technique for cloud computing

ABC BASED ENERGY-AWARE RESOURCE UTILIZATION TECHNIQUE FOR CC

11. Nathuji R, Schwan K. Virtualpower: coordinated power management in virtualized enterprise systems. ACM SIGOPSOperating Systems Review 2007; 41(6):265–278.

12. Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I. Cloud computing and emerging IT platforms: vision, hype,and reality for delivering computing as the 5th utility. Journal of Future Generation Computer Systems 2009;25(6):599–616.

13. Beloglazov A, Buyya R. Energy efficient resource management in virtualized cloud data centers. Proceedings of 10thIEEE/ACM International Conference on Cluster, Cloud and Grid Computing, Melbourne, Australia, 2010; 826–831.DOI: 10.1109/CCGRID,2010,46.

14. Karaboga D, Gorkemli B, Ozturk C, Karaboga N. A comprehensive survey: artificial bee colony (ABC)algorithmand applications. Artificial Intelligence Review published online on 11th March, 2012; 37:1–37.

15. Yue M. A simple proof of the inequality FFD(L)6 (11/9)OPT(L)C1, for all L, for the FFD bin-packing algorithm.Acta Mathematicae Applicatae Sinica 1991; 7(4):321–331.

16. Feller E, Rilling L, Morin C. Energy-aware ant colony based workload placement in clouds. Proceedings of 12thIEEE/ACM International Conference on Grid Computing(GRID-2011), Lyon, France, September, 2011; 26–33.

17. Beloglazov A, Abawajy J, Buyya R. Energy-aware resource allocation Heuristics for efficient management of datacenters for cloud computing. Journal of Future Generation Computer Systems 2012; 28(5):755–768.

18. Sharifi M, Salimi H, Najafzadeh M. Power-efficient distributed scheduling of virtual machines using workload-aware consolidation techniques. Journal of Supercomputing, Springer 2012; 61(1):46–66. DOI: 10.1007/s11227-011-0658-5.

19. Bobroff N, Kochut A, Beaty KA. Dynamic placement of virtual machines for managing sla violations. Proceedings ofthe 10th IFIP/IEEE International Symposium on Integrated Network Management, IM’07, Munich, Germany, 2007.

20. Song Y, Wang H, Li Y, Feng B, Sun Y. Multi-tiered on-demand resource scheduling for VM based data center. IEEEComputer Society Press: Los Alamitos, pp. 148–155, 2009.

21. Cardosa M, Korupolu M, Singh A. Shares and utilities based power consolidation in virtualized server environments.Proceedings of IEEE, Long Island, NY, USA, 2009; 327–334. DOI: 10.1109/INM.2009.5188832.

22. Srikantaiah S, Kansal A, Zhao F. Energy-Aware Consolidation for Cloud Computing. USENIX Association:Berkeley, 2008.

23. Kusic D, Kephart J, Hanson J, Kandasamy N, Jiang G. Power and performance management of virtualized computingenvironments via lookahead control. Journal of Cluster Computing 2009; 12(1):1–15.

24. Lee YC, Zomaya AY. Energy efficient utilization of resources in cloud computing systems. Journal of Supercomput-ing 2012; 60(2):268–280. DOI: 10.1007/s11227-010-0421-3.

25. Buyya R, Beloglazov A, Abawajy J. Energy-efficient management of data center resources for cloud computing:a vision, architectural elements, and open challenges. Proceedings of International Conference on Parallel andDistributed Processing Techniques and Applications (PDPTA), Las Vegas, USA, 2010; 1–12.

26. Canfora G, Penta MD, Esposito R, Villani ML. An approach for QoS-aware service composition based on geneticalgorithms. Genetic and Evolutionary Computation Conference, New York, NY, USA, June 2005; 1069–1075.

27. Esnault A, Feller E, Morin C. Energy-aware distributed ant colony based virtual machine consolidation in IaaS cloudsbibliographic study. Informatics Mathematics(INRIA) 2012:1–13. DOI: 10.1109/Grid.2011.13.

28. Karaboga D. An Idea Based on Honey Bee Swarm for Numerical Optimization, Technical Report - TR06, IntelligentSystems Research Group, Department of Computer Engineering, Erciyes University, Turkiye, October, 2005.

29. Karaboga D, Basturk B. A powerful and efficient algorithm for numerical function optimization: artificial beecolony (ABC) algorithm. Journal of Global Optimization, Springer 2007; 39(3):459–471. DOI: 10.1007/s10898-007-9149-x.

30. Karaboga D, Basturk B. Artificial bee colony (ABC) optimization algorithm for solving constrained optimizationproblems. In Proceedings of 12th International Fuzzy Systems Association World Congress, IFSA. Cancun, Mexico:Springer, June 18–21, 2007; 789–798.

31. Omkar SN, Senthilnath J, Khandelwal R, Naik GN, Gopalakrishnan S. Artificial bee colony (ABC) for multi-objective design optimization of composite structures. In Applied Soft Computing. Elsevier: Philadelphia, PA, USA,2011; 489–499.

32. Dorigo M, Gambardella LM. Ant colonies for the traveling salesman problem. BioSystems 1997; 43:73–81.33. Dorigo M, Colorni A. The ant system optimization by a colony of cooperating agents. IEEE Transactions on Systems,

Man, and Cybernetics-Part B 1996; 26(1):1–13.34. Setzer T, Stage A. Decision support for virtual machine reassignments in enterprise data centers. Network Operations

and Management Symposium Workshops (NOMS Wksps), IEEE/IFIP, Osaka, Japan, 2010; 88–94.35. Calheiros RN, Ranjan R, Beloglazov A, Rose CAFD, Buyya R. CloudSim: a toolkit for modeling and simula-

tion of cloud computing environments and evaluation of resource provisioning algorithms. Software: Practice andExperience (SPE) 2011; 41(1):23–50. ISSN: 0038-0644, Wiley Press, New York, USA.

36. Kansal A, Zhao F, Liu J, Kothari N, Bhattacharya AA. Virtual machine power metering and provisioning.Proceedings of the 1st ACM Symposium on Cloud Computing, ACM New York, NY, USA, 2010; 39–50.

Copyright © 2014 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. (2014)DOI: 10.1002/cpe