An energy efficient and SLA compliant approach for resource allocation and consolidation in cloud computing environments
Cloud computing is a promising paradigm that enables a "computing-as-a-service" model, in which a dynamic pool of virtualized computational resources (e.g. CPU) can be leased and released on demand. With the increased demand for cloud computing infrastructures and the explosion in data center sizes, energy efficiency becomes an important issue to consider. Green cloud computing is an area that focuses on the design of energy efficient data centers, in order to achieve cost savings and minimize negative impacts on the environment. One of the main green cloud computing strategies used for the reduction of energy consumption consists in maximizing the utilization of a number of physical machines (PMs) and turning off or suspending unused servers. This strategy is typically achieved using two types of algorithms: Virtual Machines (VMs) placement and VMs consolidation algorithms. VMs' placement is a process of dynamically placing VMs onto PMs while satisfying specific VM-to-PM mapping rules. VMs' consolidation optimizes the resource utilization and groups dispersed VMs on a minimal number of active PMs, based on live migration techniques. Both approaches are time and resource consuming, and are categorized as NP-hard optimization problems. Moreover, reducing energy consumption by means of resource consolidation may reduce the system's availability and reliability, and lead to SLA violations. Therefore, there is a need for multi-objective optimization approaches that can strike a balance between energy consumption and the system's ability to meet QoS and SLA requirements. In this work, we propose an energy-aware and QoS-aware multi-objective Ant Colony Optimization (MACO) approach for VM placement and consolidation. Our approach aims at achieving a trade-off between energy efficiency, system performance, and SLA-compliance. The proposed approach was implemented and tested in small to mid-size data center settings, simulated using cloudSim, and was compared with a number of heuristic and meta-heuristic approaches, using eight performance metrics. The results show that our approach outperforms the other tested approaches in terms of energy savings, reduction of resource wastage in term of CPU, reduction of communication cost in term of energy induced by traffic load exchanged between VMs, and minimization of the number of VM migrations and SLA violations - thus demonstrating an ability to balance energy efficiency with system performance and QoS requirements.