Cloud computing technology forms a computational ensemble of large computing services and systems. Recently, it has been the focus of research on resource management, task scheduling, and effective resource sharing among users. Given the computational and resource management challenges in cloud computing, an improved method is required to approach the optimal allocation of resources. The current research combines evolutionary algorithms, fuzzy logic and task scheduling techniques to improve computational cloud resource allocation with the aim of maintaining load balance in cloud providers. Simulation of the proposed model reveals that the response time, task execution time, and energy consumption of the proposed method are better than for those of other methods. KEYWORDS cloud computing, fuzzy logic, load balancing, resource allocation
INTRODUCTIONUsers demand access to computer services according to their needs, no matter where these services are located or how they are delivered. In recent years, an increasing number of business-to-consumer and enterprise applications have been run in heterogeneous clouds. 1 The explosive growth in multimedia content is shifting the global infrastructure towards a cloud-based paradigm facilitated by enormous storage capacity and high end computational resources. 2 Cloud computing is one of the best computing frameworks that can offer such services to users.Cloud computing is a model for enabling ubiquitous, on-demand network-based access to a shared pool of configurable computing resources (eg, networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Cloud computing, as a model for distributed computing, provides network-based access to a shared collection of reconfigurable computing resources, which are provided and released with minimal management and service provider interaction. Nowadays, IT companies are moving from the traditional CAPEX model (buy the dedicated hardware and depreciate it over a period of time) to the OPEX model (use a shared cloud infrastructure and pay as one uses it). 3 Cloud computing providers designate their resources as different examples of virtual machine (VM), which are provided to a consumer for a specified period. 4 Storage, memory, processing, and bandwidth are often more efficiently provided through cloud computing. The growth of clouds has been driven to some degree by the use of virtualization. Distributed computing suppliers provide applications through the Internet, which are accessed from a web program, while the application programs and data are secured on servers at a remote location. 5Clouds can be thought of as a service model consisting of three layers, ie, software service provider (SaaS), platform service provider (PaaS), and infrastructure service provider (IaaS). 6 The base layer of any cloud computing system is IaaS. The IaaS layer offers physical servers, virtual machines, storage, and connectivity resources to run enter...