Source-linked AI summary
A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment
Mayanka Katyal, Atul Mishra
TL;DR
Cloud computing requires load balancing to manage large, heterogeneous resource demands while meeting SLA-based user requirements. The paper compares load-balancing schemes across cloud environments, emphasizing provisioning, scheduling, and organizational structure. It concludes that dynamic algorithms suit heterogeneous clouds, while distributed approaches improve fault tolerance at the cost of greater replication.
Problem
Cloud load balancing must address efficient resource utilization, on-demand provisioning, task scheduling, and changing requirements in heterogeneous environments.
Method
The paper discusses and compares load-balancing schemes across cloud environments, including static, dynamic, centralized, and distributed approaches, with CloudSim as an evaluation environment.
Results
Dynamic algorithms are best suited to heterogeneous clouds, while distributed algorithms provide better fault tolerance but require greater replication.
Takeaways & Limitations
Load-balancing effectiveness depends on the cloud environment and on the level at which the algorithm is implemented.
Takeaways & Limitations
Static-environment algorithms cannot adapt to runtime load changes and are not well suited to heterogeneous cloud environments.
Abstract
from arXiv · showhide
Cloud Computing is a new trend emerging in IT environment with huge requirements of infrastructure and resources. Load Balancing is an important aspect of cloud computing environment. Efficient load balancing scheme ensures efficient resource utilization by provisioning of resources to cloud users on demand basis in pay as you say manner. Load Balancing may even support prioritizing users by applying appropriate scheduling criteria. This paper presents various load balancing schemes in different cloud environment based on requirements specified in Service Level Agreement (SLA).
1. Introduction
Cloud computing aggregates heterogeneous infrastructure and makes it available on demand under SLA-based criteria and usage-dependent payment. Load balancing supports efficient utilization, availability, and cost-aware computation.
- Cloud computing combines applications, hardware, and system software into a pool of heterogeneous resources delivered over the Internet.
- Infrastructure is provisioned to users on demand in a pay-as-you-say manner, with computing governed by SLA criteria.
- Cloud computation aims for maximum resource utilization, higher availability, and minimized cost.
1.1. Cloud v/s Cluster and Grid
Clusters, grids, and clouds are parallel and distributed resource systems, but they differ in administrative structure, runtime autonomy, and virtualization. Clouds extend these models across multiple domains.
- Clusters are parallel and distributed systems governed by a single administrative domain, with nodes integrated as one computing resource.
- Grids aggregate geographically distributed autonomous resources whose nodes support dynamic sharing and selection at runtime.
- Clouds are collections of parallel and distributed systems spanning multiple domains, with virtualized nodes unlike clusters and grids.
1.2. Cloud Perspectives
Cloud perspectives span users, providers, and developers, while load balancing coordinates provisioning, scheduling, and simulation across cloud resources. The paper compares schemes by environment and organization.
- End Users: Cloud users consume infrastructure, software, or platform services under provider-defined SLAs and pay according to usage.
- Cloud Provider: Cloud providers build public, private, or hybrid clouds, each presenting different efficiency, security, or management characteristics.
- Cloud Developer: Cloud developers bridge user and provider perspectives while addressing technical requirements for both sides.
- The paper discusses load-balancing schemes across cloud environments and organizes the study around load balancing, related work, and conclusions.
- Load Balancing: Load balancing covers resource provisioning and task scheduling to make resources available on demand, improve utilization, save energy under low load, and reduce cost.
- Simulation Environment: CloudSim models datacenters, hosts, virtual machines, and applications or system software for evaluating load-balancing algorithms.
2.1. Resource Allocation
Resource allocation maps cloud resources to entities on demand while avoiding overload and resource wastage. Allocation occurs across hosts and virtual machines according to capabilities, availability, and task requirements.
- Resource provisioning maps resources to cloud entities on demand while preventing node overload and resource wastage.
- Resource Allocation: Virtual machines are mapped onto hosts according to host availability and capabilities, with hosts assigning processing cores to VMs.
- Application or Task Mapping onto VM: Applications execute on virtual machines that must provide the processing power required by their mapped tasks.
- Table 2 compares resource allocation with task scheduling and identifies the issues addressed by each load-balancing technique.
- Application or Task Mapping onto VM: Tasks must be mapped onto appropriate virtual machines based on configuration and availability.
2.2. Task Scheduling
Task scheduling determines how allocated cloud resources are made available to users, while load-balancing algorithms are classified by environment, node distribution, and task dependencies. Static, dynamic, centralized, distributed, hierarchical, and workflow-based approaches address different cloud conditions and trade-offs.
- Scheduling foundations: Resource provisioning selects resources to meet user requirements, whereas task scheduling determines whether allocated resources are dedicated until completion or shared.Together, provisioning and scheduling support multiprogramming in cloud environments.
- Scheduling modes: Space sharing keeps resources allocated until task completion, while time sharing continuously preempts resources during execution.Hosts and virtual machines may each use either allocation mode, producing four provisioning and scheduling cases.
- Cloud environments: Static environments use homogeneous, inflexible resources and require prior knowledge of node capacities and user requirements.Their algorithms cannot adapt to runtime load changes and are poorly suited to heterogeneous clouds.
- Cloud environments: Dynamic environments use heterogeneous, flexible resources and runtime statistics, allowing algorithms to adapt to changing user requirements and load.Dynamic environments are more difficult to simulate than static environments.
- Node distribution: Centralized balancing reduces resource-analysis time but overloads a single decision node and compromises fault tolerance, whereas distributed balancing maintains local knowledge across nodes.Distributed schemes avoid a single overloaded decision-maker and account for node failure intensity.
- Hierarchical and dependency-aware scheduling: Hierarchical balancing distributes decisions across cloud levels, while workflow algorithms model task dependencies with directed acyclic graphs.Hierarchical scheduling may combine BTO, EOLB, and EMM phases; workflow designs vary by workflow structure and QoS requirements.
4. Conclusion
The paper compares load-balancing schemes across cloud environments, node-distribution structures, and task dependencies. It concludes that dynamic techniques in distributed or hierarchical environments provide better performance, while workflow modeling can further maximize performance.
- Static load balancing is easier to simulate and monitor but does not model heterogeneous cloud environments well.
- Dynamic load balancing is harder to simulate but is better suited to heterogeneous cloud environments.
- Dynamic load balancing in distributed or hierarchical environments provides better performance, and modeling task dependencies can further maximize cloud performance.