Sharing VM Resources With Using Prediction of Future User Requests for an Efficient Load Balancing in Cloud Computing Environment

Sharing VM Resources With Using Prediction of Future User Requests for an Efficient Load Balancing in Cloud Computing Environment

Mousa Elrotub, Ahmed Bali, Abdelouahed Gherbi
DOI: 10.4018/IJSSCI.2021040103
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The problem of balancing user requests in cloud computing is becoming more serious due to the variation of workloads. Load balancing and allocation processes still need more optimizing methodologies and models to improve performance and increase the quality of service. This article describes a solution to balance user workload efficiently by proposing a model that allows each virtual machine (VM) to maximize the serving number of requests based on its capacity. The model measures VMs' capacity as a percentage and maps groups of user requests to appropriate active virtual machines. Finding the expected patterns from a big data repository, such as log data, and using some machine learning techniques can make the prediction more efficiently. The work is implemented and evaluated using some performance metrics, and the results are compared with other research. The evaluation shows the efficiency of the proposed approach in distributing user workload and improving results.
Article Preview
Top

Introduction

Cloud computing models provide different shared resources, such as CPUs, memory, networks, storage, and applications. There are several main processes to manage these resources, such as scheduling and allocating, which handle the user requests that come in. One of the important requirements for these processes is that they be executed with a high level of Quality of Services (QoS), such as maximizing cloud resource usage and reaching users’ satisfaction. Several existing methods are not suitable for optimal utilization of resources because some resources are under-utilized, while others are over-utilized (Sonam Seth, 2017). The variation of workloads and its effect on performance is always a concern in a cloud environment. Load balancing plays the main role in reducing this concern and it is receiving increased attention from researchers. Consequently, an effective load balancing to distribute workload fairly across all machines/nodes will improve user satisfaction and achieve a high level of performance for the whole cloud system. In addition, accurate request prediction also greatly improves cloud systems’ performance (Yoon, Kamal, & Zhu, 2016).

In this context, weblogs represent a main source of data through performance optimization because they contain valuable information about the users who access the sites and request the services. The application of the knowledge obtained from analyzing the clouds’ real data logs represents an important factor that impacts the efficiency of resource utilization (Piraghaj, Calheiros, Chan, Dastjerdi, & Buyya, 2015). Therefore, there is a need for intelligent techniques for extracting and processing such information about users. Analyzing weblogs, for example, by using some machine learning (ML) techniques represents an important approach to extract useful patterns about users and their behavior. Clustering, classification, and prediction can play an important role and prevent systems from wasting operational costs, and they can optimize resource utilization for more system performance. There are some important metrics that can be measured, including CPU utilization per Virtual Machine (VM), memory usage, disk utilization, request time, number of jobs in the message queue, and size of the request queue in the load balancer.

For the virtualization aspect, virtual machines are widely adopted; this process is known as hardware virtualization. As presented in Abdullah, Iqbal, and Bukhari (2018) and Sharma, Chaufournier, Shenoy, and Tay (2016), this kind of virtualization is the most widely used for deploying and managing auto-scaling applications in cloud environments. The hypervisor shares or partitions physical resources between different VMs. Consequently, it facilitates the deployment of various applications with their instances in the same physical machine (or even among multiple hosts) with a good level of isolation. Hence, there is a need for a load balancer to direct traffic among them fairly. However, a new trend has emerged using OS-level virtualization technologies, such as containers (Sharma et al., 2016). The container, which is a lightweight virtualization (Ahmed, Seghir, Al-Osta, & Abdelouahed, 2019), is considered more portable and efficient, especially because there is no need for guest operating systems (Abdullah et al., 2018). Microservices architecture, which is inherently harmonized with the container approach, has advantages for resource utilization in cloud computing (Jamshidi, Pahl, Mendonça, Lewis, & Tilkov, 2018). However, this kind of approach unfortunately has different challenges, such as isolation and security issues (Sharma et al. 2016); it also might lead to losing clear boundaries and could evolve into service-meshes (Jamshidi et al., 2018). Therefore, the authors of the present study have considered the isolation and security concerns in public clouds, and they are currently opting for the most popular choice that uses VMs as virtualization technology.

Complete Article List

Search this Journal:
Reset
Volume 16: 1 Issue (2024)
Volume 15: 1 Issue (2023)
Volume 14: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 13: 4 Issues (2021)
Volume 12: 4 Issues (2020)
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing