Optimising cloud computing performance with an enhanced dynamic load balancing algorithm for superior task allocation - Zhanuzak, Raiymbek; Ala'anzy, Mohammed Alaa; Othman, Mohamed; Algarni, Abdulmohsen (Institute of Electrical and Electronics Engineers Inc., 2024)
Cloud computing, particularly within the Infrastructure as a Service (IaaS) model, faces significant challenges in workload distribution due to limited resource availability and virtual machines (VMs). Efficient task allocation and load balancing are crucial to avoiding overloading or under-loading scenarios that can lead to execution delays or machine failures. This paper presents an Enhanced Dynamic Load Balancing (EDLB) algorithm designed to optimise task scheduling and resource allocation in cloud environments. Unlike benchmark algorithms that rely on static VM selection or post-hoc relocation of cloudlets, the EDLB algorithm dynamically identifies optimal cloudlet placement in real-time. Our approach proactively allocates cloudlets to VMs based on current system states and Service Level Agreement (SLA) deadlines, thereby preemptively addressing potential SLA violations. Additionally, if a VM cannot meet a cloudlet's deadline, the algorithm redirects the cloudlet to a secondary data centre and reconfigures CPU resources among VMs to ensure optimal allocation. Evaluations using CloudSim simulations demonstrate that the EDLB algorithm achieves substantial average improvements over benchmark algorithm and the-state-of-the-art algorithm, including a 59.46% reduction in total makespan, a 12.70% reduction in average makespan, a 22.46% reduction in execution time, and a 3.10% increase in resource utilisation. Furthermore, the EDLB algorithm enhances load balancing by 46.46%. These results highlight the effectiveness of the EDLB algorithm in addressing critical load balancing issues and surpassing existing methods. This research contributes to the field by introducing a novel approach that significantly improves performance metrics and operational efficiency in cloud computing environments.