Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Rohith Sunilkumar Nair, Ameya Mahadev Gonal, Prof. Girish Rao Salanke N.S, Prof. B. K. Srinivas
DOI Link: https://doi.org/10.22214/ijraset.2023.53668
Certificate: View Certificate
The provisioning and use of computing resources has been completely transformed by cloud computing, which provides previously unheard-of levels of scalability, flexibility, and cost-effectiveness. In order to maximize resource utilizatio and guarantee peak performance in cloud settings, dynamic resource allocation is essential. In order to provide a thorough grasp of the most recent developments in this subject, this survey paper offers an in-depth review of dynamic resource allocation methods in cloud computing. The survey includes a wide range of dynamic resource allocation techniques, including as cost-optimization methods, resource provisioning and scheduling techniques, and load-balancing algorithms. Each method is examined in terms of its advantages, drawbacks, and applicability to particular cloud deployment scenarios. The research also investigates evaluation approaches and performance indicators for evaluating the efficacy of dynamic resource allocation systems. It emphasizes the need for continued research and innovation to address the evolving demands of cloud computing environments.
I. INTRODUCTION
Cloud computing has revolutionized modern computing by providing flexible and scalable access to shared computing resources. Efficient resource allocation is crucial for optimal performance and cost-effectiveness in cloud environments. In this survey paper, we aim to explore the state-of-the-art developments and drawbacks of dynamic resource allocation (DRA) techniques in cloud computing[10]. Dynamic resource allocation involves the adaptive management of computing resources in response to changing workloads and user requirements. By intelligently distributing resources, DRA techniques aim to maximize resource utilization, enhance system performance, and improve user experience. Through an extensive review of literature and research, we seek to provide a comprehensive understanding of the current state-of-the-art in dynamic resource allocation[3]. We will examine various techniques, algorithms, and strategies employed for efficient resource allocation in cloud computing. Furthermore, we will identify the drawbacks and limitations of existing approaches[16], highlighting areas for improvement and future research. By analyzing the literature on dynamic resource allocation, this survey paper aims to inform researchers, practitioners, and decision-makers about the current landscape and inspire further advancements in resource allocation techniques for enhanced performance and cost-effectiveness in cloud environments.
II. BACKGROUND AND CONCEPTS
A. Basics of Cloud Computing
A quick, on-demand access to a shared pool of computing resources over the Internet is made possible by the revolutionary computing architecture known as cloud computing. It provides scalability to organizations by enabling them to quickly scale resources up or down to meet changing demands. The flexibility of cloud computing's deployment options, including public, private, and hybrid clouds, allows companies to select the best setting for their applications. With this model, organizations may only pay for the resources they use, negating the need for significant up-front expenditures on hardware and infrastructure upkeep. Businesses may achieve agility, scalability, and cost optimisation in their computing operations thanks to cloud computing.
B. Dynamic Resource Allocation
Dynamic resource allocation is a critical component of cloud environments that aims to optimize resource utilization and enhance system performance[1][6]. It involves the intelligent distribution and management of computing resources to meet the varying demands of applications and users[24].
In cloud computing, where resources are shared among multiple users and applications, efficient resource allocation becomes essential. Dynamic resource allocation techniques enable the allocation and reallocation of resources based on workload variations, user requirements, and system conditions. By dynamically provisioning, reallocating, and deallocating resources, cloud providers can ensure efficient utilization, scalability, and responsiveness[8].
To better understand dynamic resource allocation in cloud environments, it is important to have a solid understanding of the prerequisite concepts. These include load balancing algorithms[9], which distribute workloads across available resources to optimize resource utilization; auto-scaling mechanisms that automatically adjust resource capacities based on workload patterns; and provisioning and scheduling strategies that match workload demands with suitable resource allocations[38].
C. Challenges
Challenges to dynamic resource allocation in cloud environments are multifaceted and demand careful consideration. First and foremost, accurately predicting and effectively handling workload variations in real-time pose significant challenges due to the dynamic nature of user demands. Balancing resource allocation to avoid both overutilization and underutilization is critical to achieve optimal performance and cost-effectiveness. Ensuring fairness and preventing resource contention among multiple users and applications is also a crucial challenge, as it directly impacts user satisfaction and system stability. Efficient monitoring and management of resource utilization, scalability, and availability are further complexities that need to be addressed[20].
III. DESIGN
A. Technologies
Communication-aware and memory load balance(“CMLB”) mapping algorithm technique[12] is an optimized load stabilizing method for the cloud based audio-video ecosystem.. It wholly accounts the load of all hosts or machines allocated under that ecosystem and the conditions of the network and thereby achieves economical and efficient scheduling and load management. Even though this method is considered to be cheaper and reasonable, it is not able to utilize and maximize the output which the system is getting in a very efficient manner. Load balancing ant-colony optimization (“LBACO”)[13] is a technique which again handles the load of the complete ecosystem while reducing the make span of the list of all the tasks. But, the tasks cannot shelter the external processing. In [14] the paper describes how the load balancing process makes use of the concept of a cluster switch, cluster-based load balancing method [14] performs well in heterogeneous nodes by considering the resource demands of each task and reducing the overheads by clustering the machines. But there is a trade- off between the requirements of SLA and the consumption of energy. Dynamic allocation of resources with imbalance [15] efficiently allocates the resources and improves the allocation and efficiency of total resources. Ant colony and network theory [16] techniques balanced the load efficiently in the distributed architecture like system and considered the complex type of networks. This method was utilized in open cloud computing.
B. Design Issues
In the modern digital world it is hard to exist without services existing on cloud based infrastructure to achieve proper Quality of Service to the clients. Cloud computing provides several services to its subscribers or clients. The cloud customer could request a number of requirements to the cloud provider which can account for a number of resources. Then this cloud provider will schedule the resources to the server according to the client requirements and feasibility of such a request from the client. Several design related concerns are arising network scalability [18], dynamic allocation of resources in a cloud infrastructure[19], cost structure and profit making [20], cost for each service [21], resource scheduling [22], catering of resources [23], load stabilizing[24] etc.
To meet the need of the user software as a service (SaaS) lease resources from the infrastructure as a service (IaaS) which can impact the quality of the service because of its variable performance [25]. Load balancing is used to ensure that all the computing resources are allocated effectively and fairly, which make certain that no single node is overloaded. It has become a challenge for the provider of cloud when there is a large number of cloud users [26]. The cloud provider provides resources to the user in the form of pay per use.
To allocate the resources effectively and properly and to satisfy the expectation of the user, several algorithms are used for resource allocation [27].
IV. LITERATURE REVIEW
The papers surveyed related to dynamic resource allocation with such systems where some of them are dynamic resource allocation [17], in cloud are mentioned below:
A. Dynamic Resource Allocation
Numerous studies have explored different aspects of dynamic resource allocation techniques to address the challenges and complexities of cloud environments.
The prominent focus lay on algorithms like ant colony[22][25], round-robin, game theory based and others with the aim of utilizing resources to the maximum with minimum wastage and optimized costs.
By S. Wang et al. [1], one of the significant developments was described. A probabilistic stacking ensemble learning approach that incorporates Gaussian process regression, long short-term memory networks, linear regression, and random forest is proposed to anticipate the cloud resources required by CSS applications that expand to complex system simulation. However, as the article only examined one ensemble learning algorithm, it's possible that other ensemble techniques would be more effective.
Moving forward, the research by A. Mampage et al. [2] incorporated Deadline-aware Dynamic Resource Management in order to efficiently maximize resource utilization for the provider and dynamically manage resources to speed up function response times. Authors use the Container CloudSim toolkit to simulate their method and assess it. This approach may require frequent re-tuning to achieve optimal performance.
The research by A.Khanna and Sarishma [4] introduced the Resource Allocation System(RAS), Resource allocation system implemented in CloudSim cloud environment simulator. The RAS works on the principles of Dynamic resource allocation whereas J.Ghaderi [5] in his research employs Markov Chain and Knapsack Problem in his approach.
B. Scheduling
Mahummad Ibrahim et al. [36] investigate and analyze the working principles of eight recent state-of-the-art static task scheduling algorithms in the context of cloud environments. The selected approaches were chosen for comparative analysis based on their widespread usage in performance comparisons, their use as basic approaches extended by new proposals, and their consistent behavior on multiple datasets. The paper aims to provide insights into the strengths and limitations of these heuristic-based algorithms.
Guojun Sheng et al.[37] propose an improved scheduling algorithm for cloud workflow called ISACW (Improved Scheduling Algorithm for Cloud Workflow). The algorithm utilizes a Directed Acyclic Graph (DAG) model to represent cloud workflows and employs critical path retrieval and depth-first-search methods to dynamically adjust the service time of workflow tasks. The goal is to reduce the overall execution time and cost of cloud workflow tasks. The paper presents the architecture of cloud workflow scheduling, which involves multiple Cloud Workflow Engines (CWEs) interconnected to form a distributed workflow instance process scheduling network. Each CWE has a Process Request Scheduler (PRS) component responsible for receiving and scheduling user workflow process instances. The Cloud Service Registration Center (CSRC) provides the list of candidate services for each workflow activity.
The research by K. M. S. U Bandaranayake et al.[37] presents a new algorithm called Total Resource Execution Time Aware (TRETA) for workflow scheduling in cloud computing environments. The authors compare the proposed algorithm with existing heuristics such as First Come First Serve (FCFS), Maximum Completion Time (MCT), Maximum Execution Time (MET), MaxMin, MinMin, and Distributed Heterogeneous Earliest Finish Time (DHEFT). The algorithm starts by calculating the total execution time of each resource based on the tasks already scheduled. Then, it selects a task from the unscheduled list and assigns it to the resource that gives the minimum total execution time with the new task. The algorithm updates the total execution time for the selected resource, removes the scheduled task from the unscheduled list, and repeats the process until all tasks are scheduled.
R.Buyya et al.[23] in their research paper discuss the proposed MPSO (Modified Particle Swarm Optimization), MCSO (Modified Cat Swarm Optimization), and HYBRID (MPSO+MCSO) techniques for task scheduling and resource allocation in a cloud environment. These techniques aim to improve the efficiency and utilization of virtual machines (VMs) and cloud resources. The MCSO algorithm focuses on the seeking mode of the Cat Swarm Optimization (CSO) technique for resource allocation management.
It utilizes four memory pools: Seeking Memory Pool (SMP), Seeking Range of Selected Dimension (SRD), Counts to Dimension Change (CDC), and Self Position Consideration (SPC). These memory pools play a role in assigning cloud resources to VMs. The proposed work aims to schedule tasks on VMs and efficiently allocate CPU and memory resources using the MPSO and MCSO algorithms. The algorithms consider the resource demands of tasks and assign resources from the VMs or the cloud resource pool based on specific conditions and comparisons. The research also mentions the use of a Branch-and-Bound based Exact algorithm as a benchmark for performance comparison with the proposed algorithms. The Exact algorithm provides the global optimum solution for efficient resource utilization.
C. Load Balancing
Load balancing in cloud computing refers to the distribution of incoming network traffic across multiple servers to optimize resource utilization, improve performance, and ensure high availability of applications and services.
In [25] authors Z Zhang and X Zhang have leveraged the Ant Colony Optimization technique for their load balancing in Cloud computing. Their model of cloud computing supported heuristic systems by minimizing the make span.
Manickachezian, R. & Eswaran in [35] have made use of Support vector machine(SVM) and dynamic multiservice load balancing with adaptive genetic algorithms(AGA) It allows the provider to host multi service with minimum cost required for the resources.
Moving forward in the world of load balancing, authors in [26] used stochastic models for load balancing. They incorporated non-preemptive policies for virtual machines. They concluded that choosing long frame durations resulted in throughput optimal performance.
H.Wen et al.[21] in their paper aim to distribute client requests evenly across the available nodes. It operates by measuring network latency, calculating costs, selecting optimal nodes, and maintaining a list of optimal nodes for each client. The algorithm then assigns clients to their respective optimal nodes, giving priority to the first item in the optimal node list if multiple options are available. The performance of the proposed algorithm was compared against three traditional algorithms: round-robin, number of connections-based, and C/S distance-based algorithms. The evaluation considered two important metrics: response time (the time from user request to receiving a response) and task throughput (the number of completed tasks per elapsed time)
In conclusion, dynamic resource allocation plays a crucial role in optimizing the efficiency and performance of cloud computing environments. By dynamically allocating resources such as computing power, storage, and network bandwidth based on real-time demands and workload patterns, cloud providers can effectively balance the utilization of their infrastructure while meeting service-level agreements (SLAs) and delivering a seamless user experience. Dynamic resource allocation enables the cloud to adapt to fluctuating workloads and varying resource requirements, ensuring optimal resource utilization and minimizing wastage. It allows for scaling resources up or down in response to changing demands, which leads to improved cost-effectiveness and scalability for both cloud providers and users. Furthermore, dynamic resource allocation techniques leverage intelligent algorithms and predictive analytics to optimize resource provisioning, workload distribution, and load balancing. By analyzing historical data and considering factors like workload characteristics, user preferences, and performance objectives, cloud providers can make informed decisions in real-time to allocate resources efficiently and optimize overall system performance. Through dynamic resource allocation, cloud computing environments can enhance their resilience, fault tolerance, and overall system reliability. The ability to detect and respond to failures or performance degradation promptly ensures that critical services remain available and minimizes downtime. However, it is essential to carefully design and implement dynamic resource allocation mechanisms to address challenges such as resource contention, network latency, and the complexity of distributed systems. Additionally, privacy and security considerations should be taken into account to protect sensitive data and ensure compliance with regulatory requirements. Overall, dynamic resource allocation empowers cloud computing to efficiently scale and adapt to changing demands, enabling businesses and users to leverage the benefits of the cloud while optimizing resource usage, enhancing performance, and driving cost savings. As cloud computing continues to evolve, dynamic resource allocation will remain a critical component for unlocking its full potential.
[1] S. Wang, Y. Yao, Y. Xiao and H. Chen, \"Dynamic Resource Prediction in Cloud Computing for Complex System Simulatiuon: A Probabilistic Approach Using Stacking Ensemble Learning,\" 2020 International Conference on Intelligent Computing and Human-Computer Interaction (ICHCI), Sanya, China, 2020, pp. 198-201, doi: 10.1109/ICHCI51889.2020.00050. [2] A. Mampage, S. Karunasekera and R. Buyya, \"Deadline-aware Dynamic Resource Management in Serverless Computing Environments,\" 2021 IEEE/ACM 21st International Symposium on Cluster, Cloud and Internet Computing (CCGrid), Melbourne, Australia, 2021, pp.483-492, doi: 10.1109/CCGrid51090.2021.00058. [3] Madni SH, Latiff MS, Coulibaly Y,“Recent advancements in resource allocation techniques for cloud computing environment: a systematic review”, Cluster Computing, vol.20, no.3, pp.2489-533, 2017. [4] A. Khanna and Sarishma, \"RAS: A novel approach for dynamic resource allocation,\" 2015 1st International Conference on Next Generation Computing Technologies (NGCT), Dehradun, India, 2015, pp. 25-29, doi:10.1109/NGCT.2015.7375076. [5] J. Ghaderi, \"Simple high-performance algorithms for scheduling jobs in the cloud,\" 2015 53rd Annual Allerton Conference on Communication, Control, and Computing (Allerton), Monticello, IL, USA, 2015, pp. 345-352, doi:10.1109/ALLERTON.2015.7447025. [6] K. Vasudewa and P. Gupta, \"A survey on elastic resource allocation algorithm for cloud infrastructure,\" 2016 International Conference on Innovation and Challenges in Cyber Security (ICICCS-INBUSH), Greater Noida, India, 2016, pp. 199-203, doi: 10.1109/ICICCS.2016.7542344. [7] E. I. Nehru, J. I. S. Shyni and R. Balakrishnan, \"Auction based dynamic resource allocation in cloud,\" 2016 International Conference on Circuit, Power and Computing Technologies (ICCPCT), Nagercoil, India, 2016, pp. 1-4, doi: 10.1109/ICCPCT.2016.7530347. [8] R. Madhumathi, R. Radhakrishnan and A. S. Balagopalan, \"Dynamic resource allocation in cloud using bin-packing technique,\" 2015 International Conference on Advanced Computing and Communication Systems, Coimbatore, India, 2015, pp. 1-4, doi: 10.1109/ICACCS.2015.7324065. [9] A. Jyoti, M. Shrimali and R. Mishra, \"Cloud Computing and Load Balancing in Cloud Computing -Survey,\" 2019 9th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Noida, India, 2019, pp. 51-55, doi: 10.1109/CONFLUENCE.2019.8776948. [10] Aditya Narayan Singh and S. Prakash, \"Challenges and opportunities of resource allocation in cloud computing: A survey,\" 2015 2nd International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 2015, pp. 2047-2051 [11] A. Alahmadi, A. Alnowiser, M. M. Zhu, D. Che and P. Ghodous, \"Enhanced First-Fit Decreasing Algorithm for Energy-Aware Job Scheduling in Cloud,\" 2014 International Conference on Computational Science and Computational Intelligence, Las Vegas, NV, USA, 2014, pp. 69-74, doi: 10.1109/CSCI.2014.97. [12] Xu M, Tian W, Buyya R,“A survey on load balancing algorithms for virtual machines placement in cloud computing, ” Concurrency and Computation: Practice and Experience. vol.29, no.12, 2017. [13] Muthulakshmi B, Somasundaram K,“A hybrid ABC-SA based optimized scheduling and resource allocation for cloud environment”. Cluster Computing.pp. 1-9, 2017. [14] Upadhyaya J, Ahuja NJ, “Quality of service in cloud computing in higher education: A critical survey and innovative model”, InI-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), 2017 International Conference on IEEE, pp. 137-140, 2017. [15] M Katyal, A Mishra, \"A comparative study of load balancing algorithms in cloud computing environment\".arXiv preprint arXiv:1403.6918, 2014. [16] Q Zhang, L Cheng, R Boutaba, \"Cloud computing: state-of-the-art and research challenges\". Journal of internet services and applications, vol.1, no. 1, pp.7-18, 2010. [17] Kaneria, RK Banyal, \"Analysis and improvement of load balancing in Cloud Computing\",InICT in Business Industry & Government (ICTBIG), International Conference, IEEE. pp.1-5, 2016. [18] S Ray, A De Sarkar, \"Resource allocation scheme in cloud infrastructure\", In Cloud & Ubiquitous Computing & Emerging Technologies (CUBE), 2013 International Conference, IEEE. pp. 30-35, 2013. [19] Hameed A, Khoshkbarforoushha A, Ranjan R, Jayaraman PP, Kolodziej J, Balaji P, Zeadally S, Malluhi QM, Tziritas N, Vishnu A, Khan SU. “A survey and taxonomy on energy efficient resource allocation techniques for cloud computing systems”. Computing.vol.98, no.7, pp.751-74, 2016.. [20] FF Moghaddam, M Ahmadi, S Sarvari, M Eslami, A Golkar, \"Cloud computing challenges and opportunities: A survey\". In Telematics and Future Generation Networks (TAFGEN), 2015 1st International Conference, IEEE. pp. 34-38, 2015. [21] H Wen, Z Hai-ying, L Chuang, Y Yang, “Effective load balancing for cloud-based multimedia system\". In Electronic and mechanical engineering and information technology (EMEIT), 2011 international conference, IEEE.Vol. 1, pp.165-168, 2011. [22] Lal A, Krishna CR,“Critical Path-Based Ant Colony Optimization for Scientific Workflow Scheduling in Cloud Computing Under Deadline Constraint”. InAmbient Communications and Computer Systems, pp. 447-461, 2018. [23] Guddeti RM, Buyya R,“A Hybrid Bio-Inspired Algorithm for Scheduling and Resource Management in Cloud Environment”.IEEE Transactions on Services Computing.2017. [24] Z Xiao, W Song, Q Chen, \"Dynamic resource allocation using virtual machines for cloud computing environment\". IEEE transactions on parallel and distributed systems, vol.24, no.6, pp.1107-17, 2013. [25] Z Zhang, X Zhang, \"A load balancing mechanism based on ant colony and complex network theory in open cloud computing federation\". InIndustrial Mechatronics and Automation (ICIMA), 2010 2nd International Conference, IEEE, Vol. 2, pp. 240-243, 2010. [26] ST Maguluri, R Srikant, L Ying, \"Stochastic models of load balancing and scheduling in cloud computing clusters\", In INFOCOM, 2012 Proceedings IEEE, pp. 702-710, 2012. [27] X Meng, V Pappas, and L Zhang, \"Improving the scalability of data center networks with traffic-aware virtual machine placement,” InINFOCOM, 2010 Proceedings IEEE, pp. 1-9,2010. [28] YO Yazir, C Matthews, R Farahbod, S Neville, A Guitouni, S Ganti, Y Coady, \"Dynamic resource allocation in computing clouds using distributed multiple criteria decision analysis, \" In Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference, IEEE, pp. 91-98, 2010. [29] K Tsakalozos, H Kllapi, E Sitaridi, M Roussopoulos, D Paparas, A Delis, \"Flexible use of cloud resources through profit maximization and price discrimination,\" In Data Engineering (ICDE), 2011 IEEE 27th International Conference, IEEE, pp. 75-86, 2011. [30] U Sharma, P Shenoy, S Sahu, A Shaikh, \"A cost-aware elasticity provisioning system for the cloud, \" In Distributed Computing Systems (ICDCS), 2011 31st International Conference, IEEE, pp. 559-570, 2011. [31] Yang J, Jiang B, Lv Z, Choo KK,“A task scheduling algorithm considering game theory designed for energy management in cloud computing, ” Future Generation Computer Systems. 2017. [32] S Khatua, MM Manna, N Mukherjee, \"Prediction-based instant resource provisioning for cloud applications, \" In Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, IEEE Computer Society, pp. 597-602, 2014 [33] J Grover, S Katiyar, \"Agent based dynamic load balancing in Cloud Computing,” In Human Computer Interactions (ICHCI), 2013 International Conference, IEEE, pp.1-6, 2013. [34] L Wu, SK Garg, R Buyya, \"SLA-based admission control for a Software- as-a-Service provider in Cloud computing environments,” Journal of Computer and System Sciences, vol.78 no.5, pp.1280-99, 2012 [35] Manickachezian, R. & Eswaran, Sivaraman. (2018). Unevenness measurement using the support vector machine and dynamic multiservice load balancing with modified genetic algorithm in cloud-based multimedia system. International Journal of Computer Aided Engineering and Technology. 10. 732. 10.1504/IJCAET.2018.10015510. [36] M. Ibrahim et al., \"A Comparative Analysis of Task Scheduling Approaches in Cloud Computing,\" 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), Melbourne, VIC, Australia, 2020, pp. 681-684, doi: 10.1109/CCGrid49817.2020.00-23. [37] G. Sheng, Y. Zhang and Y. Li, \"Improved Scheduling Algorithm for Instance-Intensive Cloud Workflow,\" 2019 2nd International Conference on Safety Produce Informatization (IICSPI), Chongqing, China, 2019, pp. 636-638, doi: 10.1109/IICSPI48186.2019.9095905. [38] K. M. S. U Bandaranayake, K. P. N Jayasena and B. T. G. S. Kumara, \"TRETA-A Novel Heuristic Based Workflow Scheduling Algorithm in Cloud Environment,\" 2020 IEEE 15th International Conference on Industrial and Information Systems (ICIIS), RUPNAGAR, India, 2020, pp. 363-368, doi:10.1109/ICIIS51140.2020.9342666.
Copyright © 2023 Rohith Sunilkumar Nair, Ameya Mahadev Gonal, Prof. Girish Rao Salanke N.S, Prof. B. K. Srinivas. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET53668
Publish Date : 2023-06-03
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here