Article Preview
TopIntroduction
Cloud computing technology is based on heterogeneously distributed computing model for providing hardware, software and platform for managing and developing applications. Cloud computing is further based on virtualization and internet technologies to provide these services to cloud users whenever they demand on basis of pay-as-you-go. Cloud computing has collection of heterogeneous datacenters providing memory, storage, network bandwidth, computational power, and application development software. The responsibility of the cloud service provider is to provide services in seamless manner. In addition, cloud services also involve dynamically provisioning the sharable resources among the user request. The resources are allocated and de-allocated optimally as per the application demand while considering resource availability and performance requirements based on Quality of Service parameters like energy utilization, cost, time, resource utilization and throughput (Liu, 2014).
A dynamic collection of heterogeneous resources is available at cloud datacenter. It keeps the both dynamic and static information regarding these resources. Static information includes available datacenter information about its storage, processor cycles, memory and storage/memory allocated to VMs and throughout the cloud datacenter, this information is constant. Whereas, load allocated to hosts of datacenter is included in the dynamic information of datacenter, also, at a particular instance, the number of threads/ tasks running, running states of tasks, particular task utilizing number of CPU cycles, and tasks status during their execution. It is necessary to update in real time and at regular intervals, this dynamic information, so that the handling of dynamic requests from cloud user can be done in minimum response time.
In this paper, a comprehensive multi-objective Load balancing framework for cloud environment has been proposed, implemented and analysed for underflow and overflow conditions of VMs using workflow’s DAG as input files. It works for both cloud provider and end user perspective.
Cloud Infrastructure as a Service (IAAS) has been referred for virtual resources which are provisioned dynamically through resource pooling.
The requested cloud IAAS resources are allocated to tasks in the form of VMs such that each task is executed on a single VM whereas, a single VM can be allocated to multiple tasks. The cloud resources are provisioned dynamically considering resource heterogeneity and resource pooling. This multi-objective framework optimizes total execution time (makespan) and cost (budget) incurred for resource usage when tasks are mapped onto resources (VMs). From the cloud provider prospect, the proposed framework for load balancing aims to achieve high resource utilization such that the tasks are mapped onto resources without over utilizing or underutilizing any Virtual Machine. Further, the framework is analysed on the basis of makespan and cost metrics to determine whether underutilization or overutilization of VMs must be more concerned which will affect the overall performance of the load balancer. The end user, on the other hand, is ensured high availability of resources and reduced cost.