 Research
 Open Access
A novel energyefficient resource allocation algorithm based on immune clonal optimization for green cloud computing
 Wanneng Shu^{1},
 Wei Wang^{2}Email author and
 Yunji Wang^{3}
https://doi.org/10.1186/16871499201464
© Shu et al.; licensee Springer. 2014
 Received: 27 October 2013
 Accepted: 9 April 2014
 Published: 23 April 2014
Abstract
Cloud computing is a style of computing in which dynamically scalable and other virtualized resources are provided as a service over the Internet. The energy consumption and makespan associated with the resources allocated should be taken into account. This paper proposes an improved clonal selection algorithm based on time cost and energy consumption models in cloud computing environment. We have analyzed the performance of our approach using the CloudSim toolkit. The experimental results show that our approach has immense potential as it offers significant improvement in the aspects of response time and makespan, demonstrates high potential for the improvement in energy efficiency of the data center, and can effectively meet the service level agreement requested by the users.
Keywords
 Green cloud computing
 Dynamic voltage and frequency scaling
 Resource allocation
 Service level agreement
 Clonal selection algorithms
1 Introduction
Cloud computing is a hot topic of the computer field as an emerging new computing model [1]. It is a style of computing in which dynamically scalable and other virtualized resources are provided as a service over the Internet [2]. It is the traditional computer and network technology including distributed computing, parallel computing, utility computing, network storage technologies, virtualization, load balance, etc. combined with other products [3]. Cloud computing is a model for enabling ubiquitous, ondemand network access to a shared pool of configurable computing resources by setting up basic hardware and software infrastructures in a data center. The aim of green cloud computing is to design a highperformance, lowpower computing infrastructure while meeting an energyefficient and safe service mode.
Resource allocation is the key technology of cloud computing, which utilizes the computing resources in the network to facilitate the execution of complicated tasks that require largescale computation [4]. Resource allocation needs to consider many factors, such as load balancing, makespan, and energy consumption. Selecting favorable resource nodes to execute a task in cloud computing must be considered, and they have to be properly selected according to the properties of the task [5]. In particular, cloud resources need to be allocated not only to satisfy quality of service (QoS) requirements specified by users via service level agreements (SLAs) but also to reduce energy consumption [6, 7].
With the rapid development of cloud computing and network communication technology, many computing service providers including Google, Microsoft, Yahoo, and IBM are rapidly deploying data centers in various locations around the world to deliver cloud computing services [8]. However, data centers hosting cloud applications consume huge amounts of electrical energy, contributing to high operational costs and carbon footprints in the environment [9, 10]. Therefore, we need green cloud computing solutions that can not only minimize operational costs but also reduce the environmental impact. There is also increasing pressure from governments worldwide aimed at the reduction of carbon footprints, which have a significant impact on climate change [11]. Lowering the energy usage of data centers is a challenging and complex issue because computing applications and data are growing so quickly that increasingly larger servers and disks are needed to process them fast enough within the required time period.
In the business application process of green cloud computing, the energy consumption and makespan associated with the resources allocated should be taken into account. Therefore, resource allocation should be carefully coordinated and optimized jointly in order to achieve an energyefficient schedule [12]. The main objective of this work is to develop an energyefficient resource allocation algorithm for virtualized data centers so that green cloud computing can be more sustainable. Green cloud computing not only achieves the efficient processing and utilization of a computing infrastructure but also reduces energy consumption [13, 14]. An efficient resource allocation algorithm allocates resources to tasks in a way that improves energy efficiency of the data center while taking into account minimization of makespan.
The objective of this paper is to optimize resource allocation using an improved clonal selection algorithm (ICSA) based on makespan optimization and energy consumption models in cloud computing environment. The ICSA has a powerful global exploration capability in a given feasible solution range and uses fewer running time. Therefore, the proposed ICSA is well enhanced and balanced in exploration and exploitation. In this study, the ICSA shows its effectiveness to optimize resource allocation compared with other existing resource allocation algorithms. We have validated our approach by conducting a performance evaluation study using the CloudSim toolkit. Experimental results show that the ICSA has immense potential as it offers significant cost savings and high potential for the improvement of energy efficiency and can satisfy the service level agreement requested by the customers.
The specific contributions of this paper include the following:

A literature survey about various existing resource allocation algorithms and an analysis of their advantages and disadvantages are presented.

An effective energyefficient optimization model for resource allocation in cloud computing environments is proposed.

An algorithm for resource allocation in cloud computing environments inspired by clonal selection algorithm is proposed.

Performance analysis of the proposed algorithm and an evaluation of the algorithm with respect to other existing algorithms are presented.
The rest of this paper is organized as follows: Section 2 discusses related works, followed by models for energyefficient optimization and makespan optimization design in Section 3. The improved clonal selection algorithm for resource allocation is discussed in Section 4. Section 5 shows the simulation experimental results, and Section 6 concludes the paper with summary and future research directions.
2 Related works
This section gives a brief review about the various existing resource allocation algorithms which mainly consider the energy efficiency of resources in cloud computing.
A parallelmachine scheduling involving both task processing and resource allocation was studied by using an improved differential evolution algorithm (IDEA) [15]. The proposed IDEA combines the Taguchi method and a differential evolution algorithm (DEA). Beloglazov et al. defined an architectural framework and principles for energyefficient cloud computing [16]. Based on this architecture, the paper presented our vision, open research challenges, and resource provisioning and allocation algorithms for an energyefficient management of cloud computing environments. The proposed energyaware allocation heuristics provision data center resources to client applications in a way that improves energy efficiency of the data center. Kessaci et al. presented an energyaware multistart local search algorithm (EMLS) that optimizes the energy consumption of an OpenNebulabased cloud [17].
The objective is to find a tradeoff between reducing the energy consumption and preserving the performance of resource nodes. A traditional data center has many distinguished features including heterogeneous hardware, heterogeneous workload, focus on average load rate, and consumption of time and human effort for administrative tasks. Quan et al. proposed a way of saving energy in traditional data centers considering all the above features [18]. The basic idea was rearranging the allocation in such a way that energy is saved with suitable human effort.
Quarati et al. presented a cloud brokering algorithm delivering services with different levels of nonfunctional requirements [1], to private or public resources, on the basis of different scheduling criteria. With the objective of maximizing user satisfaction and broker's revenues, the algorithm pursues profit increases by reducing energy costs through the adoption of energysaving mechanisms. Kołodziej et al. defined independent batch scheduling in computational grid as a threeobjective global optimization problem with makespan, flow time, and energy consumption as the main scheduling criteria minimized according to different security constraints [19]. The paper used the dynamic voltage scaling (DVS) methodology for reducing the cumulative energy utilized by the system resources. The effectiveness of these algorithms has been empirically justified in two different grid architectural scenarios in static and dynamic modes.
3 Resource allocation optimization models
To generalize the discussion, the assumption is that there is a set of tasks and each task has many subtasks with precedence constraints. Each subtask is allowed to be processed on any given available resource [20]. A cloud resource has a given level of capacity (e.g., CPU, memory, network, storage) [21]. A subtask is processed on one resource at a time, and the given resources are available continuously.
In the process of resource allocation in a cloud computing environment, the application of ICSA to the general process is as follows:
Inputs: Let R = (R_{1}, R_{2}, …, R_{ j }, …, R_{ m }) be the set of m available resources which should process n independent tasks denoted by the set T = (T_{1}, T_{2}, …, T_{ i }, …, T_{ n }), i = 1, 2, …, n, j = 1, 2, …, m.
All the resources are unrelated and parallel, and each task T_{ i } can be executed on any subset R_{ j } ∈ R of available resources.
Outputs: The output is an effective and efficient resource allocation scheme, including scheduling tasks to appropriate resources and makespan.
Constraints: The execution time of each task on a resource depends on the actual situation, and the value cannot be fixed in advance [22]. Each task must be completed without interruption once started, and resources cannot perform more than one subtask at a time.
Objectives: The main objective is to improve energy efficiency of the data center and minimize makespan so as to achieve an energyefficient schedule.
Since many realworld design or decision making problems involve simultaneous optimization of multiple objectives [23], we designed a resource allocation optimization model that will fully integrate the two factors of energyefficient optimization and makespan optimization.
3.1 Energyefficient optimization
where γ = A × C, A is the flip frequency that denotes the number of switches per clock cycle, C is the load capacitance, v is the supply voltage, and f is the frequency of the resource node.
where v_{ k }(i) is the voltage supply for resource r_{ i } at level k, k is the number of levels in the class s^{ i }, and f_{ k }(i) denotes the working frequency at the same level k, 0 ≤ f_{ k }(i) ≤ 1.
where γ = A × C is a intrinsic property for a given resource.
where v_{min}(i) and f_{min}(i) represent the voltage and frequency when resources r_{ i } transition to sleep mode in the idle time, respectively, and λ is the load factor of resources r_{ i }.
3.2 Makespan optimization
The makespan is the overall task completion time, which is the time difference between the start and end of a sequence of tasks on a resource [27]. Cloud computing deals with assigning computational tasks on a dynamic resource pool according to different requirements from a user request. The proposed makespan is the time that comprises overall task completion on resources including receiving, processing, and waiting time.
The proposed algorithm chooses the resources based on the least makespan.
3.3 Multiobjective optimization model
4 Improved clonal selection algorithm
Artificial immune systems (AIS) are computation tools that emulate processes and mechanisms of the biological immune system. The immune system is one of the most important biological mechanisms humans possess since our life depends on it [28]. The clonal selection theory has become a widely accepted model for how the immune system responds to infection and how certain types of B and T lymphocytes are selected for the destruction of specific antigens invading the body. Clonal selection algorithm (CSA) is a special class of immune algorithms which are inspired by the clonal selection theory to produce effective methods for search and optimization [29]. CSA was first proposed by de Castro and Von Zuben [30] and was later enhanced and named as CLONALG [31]. CSA is not only an adaptive parallel algorithm based on the clonal selection theory but also represents an intelligent exploitation of a heuristic search in a vast feasible solution space.
Once a new request for resource arrives, the system will run the ICSA to adjust the overall allocation of the resources. Before finding the best solution with the ICSA, we first change the mapping relationships between resources and tasks into a binary code as a set of initial population X(0). An individual ${\mathit{X}}_{\mathit{i}}^{\mathit{G}}$ is denoted as ${\mathit{X}}_{\mathit{i}}^{\mathit{G}}=\left({\mathit{x}}_{\mathit{i}1}^{\mathit{G}},{\mathit{x}}_{\mathit{i}2}^{\mathit{G}},\dots ,{\mathit{x}}_{\mathit{ip}}^{\mathit{G}}\right)$, where G denotes the current generation, i = 1, 2, …, s, and s denotes the population size.
5 Simulation experiment
In this section, we analyze the performance of our algorithm based on the experimental results. In order to make it easier to test the algorithms, CloudSim [32] has been adopted in this work as an effective cloud computing simulation platform. Six physical machines have 8 GB RAM and 2 TB storage, and each machine has four CPUs that have a capacity power of 10,000 MIPS. A data center with 16 DVSenabled processors was used. For testing the effectiveness and superiority of the ICSA algorithm for resource allocation in cloud computing, the same conditions were used to compare with other existing resource allocation approaches such as the IDEA [15], EMLS [17], and DVS [19].
Response time is the amount of time taken between submission of a request and the first response that is produced [33, 34]. As shown in Figure 2, our proposed ICSA has the best response time performance compared to the other three algorithms. DVS and EMLS have relatively close response times, and the response time of IDEA increases significantly when the number of tasks increases in cloud computing environments. When the number of tasks is 200, the response time of ICGA is relatively minimal and its minimum value is close to 26.1 s. When the number of tasks is 400, the response time of ICGA is the smallest in most cases and its minimum value is close to 35.2 s. When the number of tasks is 500, the response time of ICGA is relatively minimal and its minimum value is close to 40.8 s. It is evident that ICSA is more efficient compared with the other three algorithms.It is clearly evident from Figure 3 that our proposed ICSA has better performance in terms of makespan compared to the other three algorithms. When the number of tasks in cloud computing environments is higher, the difference in makespan becomes more apparent. When the number of tasks is 200, the makespans of EMLS, IDEA, DVS, and ICSA are 365.8, 307.2, 354.6, and 291.3 s, respectively. When the number of tasks is 400, the makespans of EMLS, IDEA, DVS, and ICSA are 595.2, 577.6, 594.9, and 511.8 s, respectively. When the number of tasks is 500, the makespans of EMLS, IDEA, DVS, and ICSA are 874.8, 782.4, 890.1, and 732.3 s, respectively. Obviously, with the help of the ICSA approach, task execution time is minimal in the resource allocation process. It can be observed that ICSA can obtain the optimal solution accurately. Thus, we can decrease the computation complexity of traditional resource allocation algorithms and increase the overall performance.
Energy efficiency is one of the key technologies of resource allocation in cloud computing [35, 36]. When the lower utilization threshold increases, the energy consumption of the system is also rapidly reduced. The statistical analysis of the monthly energy consumption comparison of the four algorithms is illustrated in Figure 4c. It can be observed that there is a significant difference among the four resource allocation algorithms, and our proposed ICSA consumes the least energy in most cases.
Through the above experimental results, it can be observed that ICSA can effectively meet the requirements of resource and can save much more time compared to the other approaches. The ICSA is well enhanced and balanced on exploration and exploitation and has better stability and scalability. Thus, the ICSA shows its effectiveness to improve energy efficiency of the data center and decrease makespan.
6 Conclusions
Cloud computing, a pool of virtualized computer resources, is a new concept [37]. Green cloud computing is the future development trend and main research object. Reducing energy consumption is an increasingly important issue in cloud computing, more specifically when dealing with a largescale cloud. In this paper, we propose an improved clonal selection algorithm based on time cost and energy consumption models in cloud computing environment. The experimental results show that our approach has immense potential as it offers significant improvement in average execution time, demonstrates high potential in improving energy efficiency of the data center, and can effectively meet the service level agreement requested by the users. In the future, we will improve the proposed algorithm by considering other operators and computational complexity to make further works more practical in green cloud computing.
Declarations
Acknowledgements
This project was supported by the Special Fund for Basic Scientific Research of Central Colleges, SouthCentral University for Nationalities (grant no. CZY14007), the Hubei Key Laboratory of Intelligent Wire1ess Communications (grant no. IWC2012007), and the National Natural Science Foundation of China (grant no. 61272497). We also wish to thank the anonymous reviewers who helped improve the quality of the paper.
Authors’ Affiliations
References
 Quarati A, Clematis A, Galizia A, D'Agostino D: Hybrid clouds brokering: business opportunities, QoS and energysaving issues. Simul. Model. Pract. Theory 2013, 39(2):121134.View ArticleGoogle Scholar
 Quarati A, D'Agostino D, Galizia A, Mangini M, Clematis A: Delivering cloud services with QoS requirements: an opportunity for ICT SMEs, in 9th International Conference on Economics of Grids, Clouds, Systems, and Services. Springer, Berlin; 2012:197211.Google Scholar
 Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M: A view of cloud computing. Commun. ACM 2009, 53(4):5058.View ArticleGoogle Scholar
 Huang CJ, Guan CT, Chen HM, Wang YW, Chang SC, Li CY, Weng CH: An adaptive resource management scheme in cloud computing. Eng. Appl. Artif. Intell. 2013, 26(1):382389. 10.1016/j.engappai.2012.10.004View ArticleGoogle Scholar
 Mukherjee GS: Mathematical model of cloud computing framework using fuzzy bee colony optimization technique, in Proceedings of the 2009 International Conference on Advances in Computing, Control, and Telecommunication Technologies. Piscataway, IEEE; 2009. pp. 664–668Google Scholar
 Buyya R, Beloglazov A, Abawajy J: Energyefficient management of data center resources for cloud computing: a vision, architectural elements, and open challenges, in Proceedings of the 2010 International Conference on Parallel and Distributed Processing Techniques and Applications. CSREA, Las Vegas; 2010.Google Scholar
 RoderoMerino L, Vaquero L, Gil V, Galan F, Fontan J, Montero R, Llorente I: From infrastructure delivery to service management in clouds. Futur. Gener. Comput. Syst. 2010, 26(8):12261240. 10.1016/j.future.2010.02.013View ArticleGoogle Scholar
 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. Futur. Gener. Comput. Syst. 2009, 25(6):599616. 10.1016/j.future.2008.12.001View ArticleGoogle Scholar
 Beloglazov A, Buyya R, Lee Y, Zomaya AY: A taxonomy and survey of energyefficient data centers and cloud computing systems. Adv. Comput. 2011, 82(1):47111.View ArticleGoogle Scholar
 Khan S: A selfadaptive weighted sum technique for the joint optimization of performance and power consumption in data centers, in Proceedings of the 22nd International Conference on Parallel and Distributed Computing and Communication Systems. ISCA PDCCS, Kentucky; 2009:1318.Google Scholar
 Chiaraviglio L, Matta I: GreenCoop: cooperative green routing with energyefficient servers, in Proceedings of the 1st ACM International Conference on EnergyEfficient Computing and Networking, eEnergy. ACM, New York; 2010:191194.View ArticleGoogle Scholar
 Lee YC, Zomaya AY: Minimizing energy consumption for precedence constrained applications using dynamic voltage scaling, in Proceedings of the 9th IEEE/ACM International Symposium on Cluster Computing and the Grid CCGrid. Piscataway, IEEE; 2009. pp. 92–99Google Scholar
 Kim MY, Lee YH: MIP models and hybrid algorithm for minimizing the makespan of parallel machines scheduling problem with a single server. Comput. Oper. Res. 2012, 39(1):24572468.MathSciNetView ArticleGoogle Scholar
 Kliazovich D, Bouvry P: SU Khan, Dens: data center energyefficient networkaware scheduling, in Proceedings of the ACM/IEEE International Conference on Green Computing and Communications, GreenCom. Piscataway, IEEE; 2010:6975.Google Scholar
 Tsai JT, Fang JC, Chou JH: Optimized task scheduling and resource allocation on cloud computing environment using improved differential evolution algorithm. Comput. Oper. Res. 2013, 40(2):30453055.View ArticleGoogle Scholar
 Beloglazov A, Abawajy J, Buyya R: Energyaware resource allocation heuristics for efficient management of data centers for cloud computing. Futur. Gener. Comput. Syst. 2012, 28(3):755768.View ArticleGoogle Scholar
 Kessaci Y, Melab N, Talbi EG: A multistart local search heuristic for an energy efficient VMs assignment on top of the OpenNebula cloud manager. Futur. Gener. Comput. Syst. 2013, 29(1):120. 10.1016/j.future.2012.04.002View ArticleGoogle Scholar
 Quan DM, Mezza F, Sannenli D, Giafreda R: TAlloc: a practical energy efficient resource allocation algorithm for traditional data centers. Futur. Gener. Comput. Syst. 2012, 28(2):791800.View ArticleGoogle Scholar
 Kołodziej J, Khan SU, Wang L, KisielDorohinicki M, Madani SA, NiewiadomskaSzynkiewicz E, Zomaya AY: Security, energy, and performanceaware resource allocation mechanisms for computational grids. Futur. Gener. Comput. Syst. 2013, 29(1):944959.Google Scholar
 Zhao C, Zhang S, Liu Q, Xie J, Hu J: Independent tasks scheduling based on genetic algorithm in cloud computing, in Proceedings of IEEE WICOM. Piscataway, IEEE; 2009:14.Google Scholar
 Randles M, Lamb D, TalebBendiab A: A comparative study into distributed load balancing algorithms for cloud computing, in Proceedings of the 24th IEEE International Conference on Advanced Information Networking and Applications Workshops. Piscataway, IEEE; 2010:551556.Google Scholar
 Zhu R, Wang J: Powerefficient spatial reusable channel assignment scheme in WLAN mesh networks. Mobile Network Appl. 2012, 17(1):5363. 10.1007/s110360110302xView ArticleGoogle Scholar
 Araujo DRB, BastosFilho CJA, Barboza EA, Chaves DAR, MartinsFilho JF: A performance comparison of multiobjective optimization evolutionary algorithms for alloptical networks design, in IEEE Symposium on Computational Intelligence in Multicriteria DecisionMaking. Piscataway, IEEE; 2011. pp. 89–96Google Scholar
 Rizvandi NB, Taheri J, Zomaya AY, Lee YC: Linear combinations of DVFSenabled processor frequencies to modify the energyaware scheduling algorithms, in IEEE International Symposium on Cluster Computing and the Grid. Piscataway, IEEE; 2010. pp. 388–397Google Scholar
 Lorch J, Smith A: Improving dynamic voltage scaling algorithms with pace, in Proceedings of the 2001 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems. PER, Ottawa; 2001:5061.View ArticleGoogle Scholar
 Wang Y, Chen P, Jin Y: Trajectory planning for an unmanned ground vehicle group using augmented particle swarm optimization in a dynamic environment, in Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics. Piscataway, IEEE; 2009:43414346.Google Scholar
 Zhu R, Qin Y, Lai CF: Adaptive packet scheduling scheme to support realtime traffic in WLAN mesh networks. KSII Trans. Internet Inf. Syst. 2011, 5(9):14921512.Google Scholar
 Gong MG, Du HF, Jiao LC: Optimal approximation of linear systems by artificial immune response. Sci. China F 2006, 49(1):6379.MathSciNetView ArticleGoogle Scholar
 Haifeng D, Licheng J: Clonal operator and antibody clone algorithms, in Proceedings of the 2002 International Conference on Machine Learning and Cybernetics. Piscataway, IEEE; 2002:506510.Google Scholar
 De Castro LN, Von Zuben FJ: The clonal selection algorithm with engineering applications, in Workshop Proceedings of GECCO’00, Workshop on Artificial Immune Systems and their Applications. Morgan Kaufmann, San Francisco; 2000. pp. 30–37Google Scholar
 De Castro LN, Von Zuben FJ: Learning and optimization using clonal selection principle. IEEE Trans. Evol. Comput. Spec. Issue Artif. Immune Syst. 2002, 6(3):239251.View ArticleGoogle Scholar
 Calheiros RN, Ranjan R, Beloglazov A, Rose CAFD, Buyya R: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Software Pract. Ex. 2011, 41(1):2350. 10.1002/spe.995View ArticleGoogle Scholar
 Khan S: A goal programming approach for the joint optimization of energy consumption and response time in computational grids, in Proceedings of the 28th IEEE International Performance Computing and Communications Conference. Piscataway, IEEE; 2009:410417.Google Scholar
 Khan SU, Ahmad I: A cooperative game theoretical technique for joint optimization of energy consumption and response time in computational grids. IEEE Trans. Parallel Distr. Syst. 2009, 20(3):346360.MathSciNetView ArticleGoogle Scholar
 Wang Y, Yang T, Ma Y, Halade GV, Zhang J, Lindsey ML, Jin YF: Mathematical modeling and stability analysis of macrophage activation in left ventricular remodeling postmyocardial infarction. BMC Genomics 2012, 13: 18. 10.1186/14712164131View ArticleGoogle Scholar
 Merkel A, Bellosa F: Memoryaware scheduling for energy efficiency on multicore processors, in Proceedings of the Workshop on Power Aware Computing and Systems. Pearson Pretice Hall, Englewood Cliffs; 2008:123130.Google Scholar
 Costa GD, Assuncao MDD, Gelas JP, Georgiou Y, Lefévre L, Orgerie AC, Pierson JM, Richard O, Sayah A: Multifacet approach to reduce energy consumption in clouds and grids: the GREENNET framework, in Proceedings of the ACM/IEEE International Conference on EnergyEfficient Computing and Networking. Piscataway, IEEE; 2010:95104.View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.