Article Preview
Top1. Introduction
Cloud computing is a paradigm which provides online services and on-demand provisioning of scalable internet services. There are three types of cloud computing services: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). Cloud computing has three deployment models: public cloud, private cloud, and hybrid cloud. Cloud computing refers to sharing computing resources to offer different services through the internet. Cloud computing services are offered by various cloud service providers globally, by deploying a data center. These cloud data centers are generally built on heterogeneous servers enabled with virtualization technologies, which provide the ability to handle varying workloads with limited resources (cloud computing infrastructure) to offer reliable services. Such cloud computing infrastructures in data centers are networked systems and data storage used for storing and managing data. Since the IT infrastructure depends on the stability of the business, there is a need to establish and maintain efficient data centers which can provide availability, manageability and scalability.
Since high performance cloud infrastructure consumes a large amount of energy, and dissipates heat and carbon emission to the surrounding, green cloud initiatives contemplate efficient usage of the cloud computing infrastructure and minimization of energy consumption. The survey papers discuss (Nasrin & Mohamed, 2016; Thilagavathi & Uthariaraj, 2016) various issues and factors affecting energy and thermal efficiency of the computing infrastructure. The major part of power usage in a data centre arises from the computing process, disk access, networking and cooling requirements. Increasing energy consumption in data centers not only contributes to high operational cost but also has a severe environmental impact. Hence, energy efficient techniques have become essential due to their economic and environmental benefits.
Cloud service provider manages workloads by implementing mechanisms which will provision efficient usage of computing resources on demand. Thus, efficient resource management is a very essential component for offering cloud-based solutions, which improve reliability and reduce the operating cost of the cloud service provider.
The requests arriving from the users to the data center are distributed among the servers. There are chances that the load may be unevenly distributed. This uneven distribution of load can cause underutilization of resources. Load balancing is done to distribute the load evenly among the processing nodes to enhance the overall performance of the system. This fair allocation of computing resources helps to achieve better resource utilization.
Agent based systems are widely used software paradigms that bring concepts from the theories of artificial intelligence into the mainstream of distributed systems. This system essentially models an application as a collection of components called agents that are characterized by features such as, interaction among themselves, and with other objects, autonomy, proactivity and the ability to communicate. Being autonomous, they can independently carry out complex tasks. Being proactive, they can take the initiative to perform the given task even without an explicit request from the user.
The difference between traditional distributed systems and current agent based systems is that, the computing entities are intelligent (Singh, 1994). However, these multi-agent systems are distributed computing systems interacting with each other. In addition to this, it is simple to consider heterogeneity in the behavioral and random changes in the workload pattern. Agent-based modeling is an efficient simulation technique that has great influence in real-world problems in recent years. The behaviors and interactions of the agents represent complex applications more (Helbing &Balietti, 2012) precisely. This makes the modeling approach much more flexible to address critical aspects of real life scenarios.
In this context, the proposed work uses an agent-based model to handle the following issues in cloud data centers to enhance the energy efficiency aspect:
- 1.
Address the open problem (Gutierrez & Ramirez, 2015) of initial allocation of Virtual Machines (VMs) to hosts using the clustering technique, to avoid unnecessary VM migrations. This helps in reducing the response time of the user request.
- 2.
Consider load balancing to distribute the load and lodge extra resource requirement, as there are fluctuations in user requirements.
- 3.
Server consolidation with VM migration. This reduces the energy consumption by turning off the servers that are underutilized.