International Research Journal of Engineering and Technology (IRJET)
e-ISSN: 2395-0056
Volume: 11 Issue: 10 | Oct 2024
p-ISSN: 2395-0072
www.irjet.net
Reinforcement Learning Strategies for Dynamic Resource Allocation in Cloud-Based Architectures Sai Krishna Khanday DevOps Engineer --------------------------------------------------------------------------***---------------------------------------------------------------------------Abstract Cloud computing is becoming an increasingly popular approach to providing efficient and scalable solutions for the high demands of modern applications. One of the key challenges in this environment is efficiently allocating resources to meet the varying needs of different users and applications. Reinforcement learning (RL) is a promising approach for tackling this problem, as it allows dynamic adaptation to changing conditions. This paper proposes a framework that uses RL strategies for optimal resource allocation in cloud-based architectures. Our approach uses agents that interact with the cloud environment and learn to allocate resources based on feedback from the environment. These agents also consider different applications' varying resource demands and priorities to optimize the overall resource allocation. Our experiments show that our proposed RL framework outperforms traditional resource allocation methods regarding utilization and response time. It also adapts well to changing conditions and is robust to unexpected changes in the workload. Our approach has the potential to significantly improve resource utilization, reduce costs, and enhance the user experience in cloud-based architectures. Additionally, our framework can be easily extended to handle complex multi-objective resource allocation problems, making it a versatile approach for dynamic resource allocation in cloud environments.
Keywords: High Demands, Dynamic Adaptation, Allocate Resources, Robust, Reduce Costs 1. Introduction Dynamic Resource Allocation is a key feature of cloud-based architectures, which refers to the ability of a system to automatically provision and scale resources depending on the current workload and demand [1]. It allows for efficient and effective utilization of resources and ensures high availability and performance of applications. In a cloud-based architecture, resources such as virtual machines, storage, and network bandwidth are shared among multiple users [2]. As the demand for resources can vary greatly depending on the workload and usage patterns, it is important to have a dynamic system that can allocate resources as needed rather than having a fixed allocation that may result in underutilization or oversubscription [3]. There are several components involved in Dynamic Resource Allocation. The first is the Resource Pool, a pool of resources that can be allocated to applications on demand. This pool can include physical and virtual resources, such as servers and storage devices[4]. The second component is the Resource Manager, responsible for managing and allocating resources from the pool. It receives resource requests from different applications and allocates them based on predefined rules and policies [5]. Dynamic resource allocation refers to assigning computing resources, such as processing power, storage, and memory, to different applications or services based on their current demand. In cloud-based architectures, where resources are shared among multiple users and applications [6], dynamic resource allocation plays a crucial role in ensuring efficient and optimal utilization of resources. However, it also poses several challenges that must be addressed to deploy and operate cloud-based architectures successfully [7]. One of the main issues of dynamic resource allocation is the management of resource contention. As multiple applications compete for resources [8], there may be instances where more resources are needed to meet the demand, resulting in contention. This can lead to performance degradation or system failures if not managed properly [9]. Therefore, cloud providers must implement robust resource allocation algorithms and policies to address this challenge. Another area for improvement is the difficulty in accurately predicting resource demand [10]. As the demand for resources constantly fluctuates, it is often challenging to determine the exact amount needed to execute an application or service. This can result in either under-provisioning, leading to poor performance, or over-provisioning, resulting in wastage of resources and increased costs. The main contribution of the research has the following: Improved efficiency: Dynamic resource allocation in cloud-based architectures enables the allocation of computing, storage, and network resources flexible and scalable. This allows for efficient utilization of resources, ensuring that no resources are wasted and minimizing overall costs.
© 2024, IRJET
|
Impact Factor value: 8.315
|
ISO 9001:2008 Certified Journal
|
Page 551