Abstract: Cloud computing is a cost-effective model for internet-based computing, leveraging virtualization to share physical machines among numerous virtual machines running extensive user applications. Efficient allocation of virtual machines (VMs) to physical machines (PMs) is crucial for balancing load and ensuring quality of service. However, unpredictable and unequal application loads present significant challenges for resource management in cloud datacenters. This research proposes a novel load balancing algorithm designed for the efficient allocation of VMs to PMs. Implemented in CloudSim, the proposed algorithm is compared with the existing worst-fit algorithm. The results demonstrate that the new algorithm significantly outperforms the worst-fit algorithm in resource management, offering improved load balancing and better utilization of resources.
Description:FIELD OF INVENTION
The field of invention pertains to cloud computing, specifically focusing on developing a smart system for placement algorithms to ensure balanced resource utilization in cloud data centers. This invention aims to optimize the allocation of computational resources, enhance performance, reduce energy consumption, and improve overall efficiency and user satisfaction within cloud environments.
BACKGROUND OF INVENTION
The rapid proliferation of cloud computing has transformed the way businesses and individuals access and utilize computing resources. Cloud data centers, which serve as the backbone of cloud services, house vast amounts of computational power and storage capabilities. The efficient management and allocation of these resources are critical for maintaining optimal performance, reducing costs, and ensuring customer satisfaction. Traditional resource allocation techniques often struggle to balance the dynamic and heterogeneous nature of workloads in cloud environments, leading to issues such as resource underutilization, over-provisioning, and increased operational costs. The design of a smart system for placement algorithms aims to address these challenges by introducing advanced strategies for balanced resource utilization in cloud data centers. These algorithms leverage real-time data analytics, machine learning, and predictive modeling to make informed decisions about resource allocation. By dynamically adjusting resource distribution based on current and anticipated demands, the smart placement system can optimize the use of available resources, minimize wastage, and enhance overall system efficiency. Key components of this invention include the development of sophisticated algorithms capable of predicting workload patterns and resource requirements, and the integration of these algorithms into the cloud management framework. Additionally, the system incorporates mechanisms for monitoring and adjusting resource allocation in real-time, ensuring that workloads are efficiently distributed across the available infrastructure. This approach not only improves the performance and reliability of cloud services but also contributes to significant cost savings and energy efficiency, making it a pivotal advancement in the field of cloud computing. Overall, the smart placement algorithm represents a critical innovation in cloud resource management, poised to revolutionize the way cloud data centers operate by achieving a balanced and efficient utilization of resources.
The patent application number 202347009659 discloses a elastic columnar cache for cloud databases.
The patent application number 202217011289 discloses a method and system for distributed edge cloud computing.
The patent application number 202131047448 discloses a cloud based distributed internet of things enabled intelligent colorimeter using color leds.
The patent application number 201947001130 discloses a secure configuration of cloud computing nodes.
The patent application number 201921026238 discloses a system and method for facilitating unified access of content across multiple cloud data stores.
SUMMARY
The invention focuses on developing a smart placement algorithm to enhance resource utilization in cloud data centers. The algorithm is designed to optimize the allocation of virtual machines (VMs) across physical servers, ensuring balanced resource distribution and improving overall system efficiency. Key objectives include minimizing energy consumption, reducing operational costs, and maintaining high levels of service quality. The smart system incorporates advanced machine learning techniques to predict workload patterns and resource demands, enabling dynamic and adaptive allocation strategies. By analyzing historical data and real-time metrics, the algorithm can make informed decisions about VM placement, considering factors such as CPU, memory, storage, and network bandwidth. To achieve balanced resource utilization, the algorithm employs a multi-objective optimization approach, considering both performance and energy efficiency. It dynamically migrates VMs to underutilized servers to prevent overloading and ensures that resources are evenly distributed across the data center. Additionally, it integrates a power management module that consolidates workloads during low-demand periods, allowing idle servers to enter low-power states, thus conserving energy. The system also includes a feedback loop mechanism to continuously monitor and adjust the placement strategy based on changing conditions and workload variations. This adaptive capability ensures that the algorithm remains effective in diverse and dynamic cloud environments. Overall, this smart placement algorithm represents a significant advancement in cloud data center management, offering a robust solution for achieving balanced resource utilization, reducing energy consumption, and enhancing service reliability. It leverages machine learning and real-time analytics to provide a responsive and efficient resource allocation framework that meets the evolving needs of cloud computing.
LITERATURE REVIEW
A substantial body of research has explored various load balancing algorithms to enhance resource management in cloud computing. Here, we review some significant contributions.
Rewehel et al. introduced the Opportunistic Load Balancing (OLB) scheduling algorithm, which allocates tasks by dividing them into subtasks across a three-level cloud computing network comprising a Request Manager, Service Manager, and Service Node. OLB focuses on executing tasks in the least amount of time without additional allocation and load balancing calculations, considering only the overall expected completion time. The algorithm measures the system's makespan and keeps all hosts busy to maintain efficiency and proper load balance. However, OLB is not ideal for cloud environments due to its poor makespan performance when multiple objectives are considered simultaneously.
Radojevic et al. proposed an enhanced algorithm called the Central Load Balancing Decision Model, based on the Round Robin method. This model improves on the Round Robin by calculating the overall execution time of tasks on a given cloud resource, considering the duration of the connection between the client and server.
Li et al. developed an enhanced Max-Min algorithm that uses a task status table to measure the real-time load of virtual machines and the expected completion time of tasks. After allocating a task to a virtual machine using the Max-Min procedure, the task is removed from the queue, and the algorithm proceeds to distribute the remaining unallocated tasks. This method outperforms the Round Robin technique in terms of average task pending time.
Chen et al. introduced an improved Min-Min load balancing algorithm aimed at optimizing makespan and enhancing resource utilization. Their approach splits tasks into two groups: higher priority and lower priority. It schedules all higher-priority tasks first before moving to the lower-priority group. The load balancing function then optimizes the load on each machine to generate the final schedule.
Lee et al. proposed a load balancing technique for dynamic environments based on the weighted least connection method. This technique allocates resources to tasks based on the least weight and considers node capabilities, assigning tasks accordingly.
Another load balancing algorithm uses a three-level framework for resource allocation in dynamic environments, employing the opportunistic load balancing algorithm as its foundation. Given the massively scalable and autonomous nature of the cloud, dynamic scheduling is preferred over static scheduling.
Kim et al. utilized a minimum completion time technique, considering both ready-to-execute time and expected execution time for load balancing. In their approach, tasks with the least completion time are allocated to appropriate cores, enhancing overall efficiency.
DETAILED DESCRIPTION OF INVENTION
Cloud computing provides on-demand access to a virtually unlimited array of computing resources via the Internet, offering a cost-effective "pay-as-you-go" pricing model. Instead of owning resources, users share them in a secure, multitenant environment, allowing them to scale resources up or down based on their needs. The underlying technology enabling cloud computing is virtualization, which creates numerous virtual resources from a limited number of physical resources, enhancing the computing model's appeal. Cloud computing encompasses three primary service models: Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). SaaS offers a cost-effective way to use application software, eliminating the need to buy, install, and maintain software on users' computers. PaaS provides development and execution environments, including operating systems, databases, application servers, and development frameworks, enabling users to develop and host applications. IaaS allows users to create virtual resources such as virtual machines, storage, and networks, providing the flexibility to configure and control their own computing infrastructure. The adoption of cloud computing has surged, driven in part by the growing demand for cloud-based services spurred by the rise of artificial intelligence and machine learning technologies. According to market forecasts, the global cloud computing market is projected to grow from 199 billion USD in 2019 to 761 billion USD by 2027, with a compound annual growth rate (CAGR) of 18.6%. Despite its cost-effectiveness, cloud computing faces challenges, particularly concerning service availability and quality during high demand from millions of users. Efficient task scheduling and load balancing are crucial for maximizing the utilization of physical computing resources in cloud datacenters. This necessity for effective resource management drives research and innovation in cloud resource management. In cloud environments, virtual machines (VMs) are hosted on physical machines (PMs) by allocating the necessary physical resources, such as processors, memory, storage, and networking elements. The dynamic and unequal task demands on VMs, coupled with the limited physical resources in cloud datacenters, necessitate efficient VM-to-PM mapping for effective resource management.
The task of allocating virtual machines (VMs) to physical machines (PMs) in cloud datacenters can be formulated as an optimization problem. The goal is to assign VMs to PMs in such a way that the load on each PM is optimized while maintaining the quality of service. The problem can be described as follows:
Consider V1, V2, V3, ... as virtual machines and P1, P2, P3, ... as physical machines in a datacenter. Each VM has a required number of processing elements (req_Pes), and each PM has a certain number of free processing elements (free_Pes). A VM Vi can be assigned to a PM Pi if and only if Pi has at least the required processing elements to accommodate Vi, and Pi has the minimum possible free processing elements greater than or equal to req_Pes(Vi).
The algorithm to solve this allocation problem is presented in the following pseudo code:
Input: A set of virtual machines Vi and a set of physical machines Pj
Output: A set of (Vi, Pj) pairs representing VM to PM allocations
1. For each virtual machine Vi that has not yet been assigned to a physical machine:
Calculate req_Pes(Vi)
For each physical machine Pj:
If free_Pes(Pj) >= req_Pes(Vi):
Identify the physical machine Pj with the minimum value of (free_Pes(Pj) - req_Pes(Vi))
End if
End for
Assign the virtual machine Vi to the identified physical machine Pj
Update free_Pes(Pj) = free_Pes(Pj) - req_Pes(Vi)
End for
The proposed algorithm has been implemented using CloudSim, a widely-used Java-based simulation environment for cloud computing. CloudSim replicates all cloud environment characteristics through its 12 packages and numerous classes. Among these, the most pertinent for cloud researchers is the org.cloudbus.cloudsim package, which includes codes for modeling various cloud entities such as Datacenter, Host (physical machine), Cloudlet (task), and VM. This package also defines various resource scheduling and provisioning policies. These classes can be extended or overridden to create new cloud entities, modify existing ones, and implement new policies.
The vmAllocationPolicy class can be extended to incorporate user-defined policies for VM allocation to hosts for load balancing. By default, CloudSim provides a vmAllocationPolicySimple class that implements a worst-fit algorithm for host selection. According to this algorithm, when a VM execution task arrives, all available hosts are scanned, and the host with the maximum number of processing elements (PEs) or CPUs is selected for VM execution. To evaluate the proposed algorithm's effectiveness, the existing vmAllocationPolicy class was extended to create a new class called vmAllocationPolicyOptimized, which implements the proposed algorithm.
Simulation Configuration
The experiment was conducted by configuring VMs, Hosts, and Tasks in a datacenter. The VMs were configured uniformly (e.g., MIPS=250; Image Size=10000; RAM=2048; Bandwidth=1000; CPUs=1). Each VM carried a single cloudlet (task) of equal configuration (e.g., Length=40000; FileSize=300; Output Size=300). However, the hosts had varied configurations, as shown in Table 1.
Table 1: Host Configuration
Simulation Results
Several simulation runs were conducted by gradually increasing the number of VMs to impose load on the available hosts. The incremental load illustrates how the algorithm allocates VMs to hosts and balances the load among them. Both the existing and proposed algorithms were tested under the above configurations to compare their performance. Host utilization was used as the performance metric. Data on VM allocation to hosts and host utilization were recorded for each algorithm and simulation run. The average percentage of host utilization (based on its available processing elements) for each algorithm was calculated using the following formula:
Simulation results are summarized in Tables 2 to 8, showing VM allocation and host utilization.
Table 2: Simulation No-1: (5 VMs, 5 Hosts)
Table 3: Simulation No-2: (6 VMs, 5 Hosts)
Table 4: Simulation No-3: (7 VMs, 5 Hosts)
Table 5: Simulation No-4: (8 VMs, 5 Hosts)
Table 6: Simulation No-5: (9 VMs, 5 Hosts)
Table 7: Simulation No-6: (10 VMs, 5 Hosts)
The simulation results demonstrate that the proposed algorithm (new) generally achieves higher host utilization compared to the existing algorithm. This indicates better load balancing and resource allocation by the proposed algorithm.
The results presented in the tables and figure highlight the efficiency and performance differences between the existing VM allocation algorithm and a newly proposed algorithm across various simulation runs.
Table 8: Simulation No-7
Configuration: 11 VMs and 5 Hosts
VM Allocation:
Existing Algorithm:
Host0: VM3, VM8
Host1: VM0, VM1, VM4, VM9
Host2: VM5, VM10
Host3: VM6
Host4: VM2, VM7
New Algorithm:
Host0: VM0, VM1
Host1: VM9, VM10
Host2: VM2, VM3
Host3: VM4, VM5
Host4: VM6, VM7, VM8
Host Utilization:
Existing Algorithm:
Host0: 100%
Host1: 100%
Host2: 100%
Host3: 50%
Host4: 66.66%
New Algorithm:
Host0: 100%
Host1: 50%
Host2: 100%
Host3: 100%
Host4: 100%
Table 9: Average Utilization of Hosts (in Percentage)
Figure 1: Load Balancing Performance Comparison
The figure illustrates the comparative performance of load balancing between the existing and new algorithms.
Analysis:
Performance with Lower VM Load: The new algorithm outperforms the existing algorithm in scenarios with a lower total VM load. It achieves better load balancing across a minimal number of hosts, optimizes the utilization of processing elements, and ensures some hosts remain free.
Energy Efficiency: The existing algorithm leads to underutilization of hosts, which is undesirable as it increases energy consumption and is not cost-effective. In contrast, the new algorithm optimizes host utilization and maintains energy efficiency by freeing up hosts when required.
Overall Improvement: Figure 1 demonstrates that the new algorithm offers superior VM allocation and load balancing compared to the existing algorithm, thereby enhancing host utilization and energy efficiency.
In summary, the proposed VM allocation algorithm significantly improves load balancing and host utilization, making it a more efficient and economical choice for managing virtual machines compared to the existing algorithm.
DETAILED DESCRIPTION OF DIAGRAM
Figure 1: Load Balancing Performance Comparison ,
Claims:1. Design of Smart System of Placement Algorithm for Balanced Resource Utilization in Cloud Data Centres claims that the proposed load balancing algorithm demonstrates enhanced efficiency in VM allocation to PMs compared to the existing CloudSim algorithm, leading to better resource utilization.
2. Experimental data from multiple simulation runs indicate that the proposed algorithm performs load balancing more effectively than the current algorithm in CloudSim.
3. The new algorithm improves host utilization in a cloud datacenter, ensuring that PMs are used more optimally and resources are not wasted.
4. Despite its simplicity, the proposed algorithm is highly effective in balancing the load and improving performance, making it a practical solution for cloud datacenter management.
5. The validity of the proposed algorithm is supported by comprehensive simulation runs conducted using CloudSim, which is a widely recognized cloud computing simulator.
6. The experimental data collected during the simulations provide robust evidence of the algorithm's superior performance in load balancing and host utilization.
7. The proposed algorithm is likely to be scalable, efficiently handling an increasing number of VMs and PMs, which is crucial for dynamic cloud environments.
8. The new algorithm enhances the allocation of virtual machines to physical machines, optimizing the distribution of computational workloads across the available resources.
9. Given its effectiveness in the simulation environment, the proposed algorithm has significant potential for real-world application in cloud datacenters, potentially leading to improved operational efficiency and cost savings.
10. The successful implementation and results of the proposed algorithm lay a solid foundation for further research and development in load balancing techniques, potentially inspiring more advanced algorithms and optimization strategies in the field.
| # | Name | Date |
|---|---|---|
| 1 | 202441053659-REQUEST FOR EARLY PUBLICATION(FORM-9) [15-07-2024(online)].pdf | 2024-07-15 |
| 2 | 202441053659-POWER OF AUTHORITY [15-07-2024(online)].pdf | 2024-07-15 |
| 3 | 202441053659-FORM-9 [15-07-2024(online)].pdf | 2024-07-15 |
| 4 | 202441053659-FORM 1 [15-07-2024(online)].pdf | 2024-07-15 |
| 5 | 202441053659-DRAWINGS [15-07-2024(online)].pdf | 2024-07-15 |
| 6 | 202441053659-COMPLETE SPECIFICATION [15-07-2024(online)].pdf | 2024-07-15 |