Cloud computing; Energy consumption; Fault tolerance; Load balancing; Multi-agent system; Q-learning; Resource allocation; Computer Science (all); General Computer Science
Abstract :
[en] Now more than ever, optimizing resource allocation in cloud computing is becoming more critical due to the growth of cloud computing consumers and meeting the computing demands of modern technology. Cloud infrastructures typically consist of heterogeneous servers, hosting multiple virtual machines with potentially different specifications, and volatile resource usage. This makes the resource allocation face many issues such as energy conservation, fault tolerance, workload balancing, etc. Finding a comprehensive solution that considers all these issues is one of the essential concerns of cloud service providers. This paper presents a new resource allocation model based on an intelligent multi-agent system and reinforcement learning method (IMARM). It combines the multi-agent characteristics and the Q-learning process to improve the performance of cloud resource allocation. IMARM uses the properties of multi-agent systems to dynamically allocate and release resources, thus responding well to changing consumer demands. Meanwhile, the reinforcement learning policy makes virtual machines move to the best state according to the current state environment. Also, we study the impact of IMARM on execution time. The experimental results showed that our proposed solution performs better than other comparable algorithms regarding energy consumption and fault tolerance, with reasonable load balancing and respectful execution time.
R300 - Institut de Recherche en Technologies de l'Information et Sciences de l'Informatique R450 - Institut NUMEDIART pour les Technologies des Arts Numériques
Velte, A.T., Velte, T.J., Elsenpeter, R.C., Elsenpeter, R.C., Cloud Computing: A Practical Approach. 2010, McGraw-Hill New York.
Buyya, R., Broberg, J., Goscinski, A.M., Cloud Computing: Principles and Paradigms, Vol. 87, 2010, John Wiley & Sons.
A. Sunyaev, Cloud computing, in: Internet computing, Springer, 2020, pp. 195–236.
Tuli, S., Tuli, S., Tuli, R., Gill, S.S., Predicting the growth and trend of covid-19 pandemic using machine learning and cloud computing. Internet Things, 11, 2020, 100222.
Dikaiakos, M.D., Katsaros, D., Mehra, P., Pallis, G., Vakali, A., Cloud computing: Distributed internet computing for it and scientific research. IEEE Internet Comput. 13:5 (2009), 10–13.
Belgacem, A., Beghdad-Bey, K., Nacer, H., Dynamic resource allocation method based on symbiotic organism search algorithm in cloud computing. IEEE Trans. Cloud Comput., 2020.
Belgacem, A., Beghdad-Bey, K., Multi-objective workflow scheduling in cloud computing: trade-off between makespan and cost. Cluster Comput., 2021, 1–17.
Belgacem, A., Beghdad-Bey, K., Nacer, H., Task scheduling optimization in cloud based on electromagnetism metaheuristic algorithm. 2018 3rd International Conference on Pattern Analysis and Intelligent Systems (PAIS), 2018, 1–7.
Bellifemine, F., Caire, G., Greenwood, D., Developing Multi-Agent Systems with JADE. 2007, John Wiley & Sons.
Wooldridge, M.J., Jennings, N.R., Intelligent agents: Theory and practice. Knowl. Eng. Rev. 10:2 (1995), 115–152.
De la Prieta, F., Rodríguez-González, S., Chamoso, P., Corchado, J.M., Bajo, J., Survey of agent-based cloud computing applications. Fut. Gen. Comput. Syst. 100 (2019), 223–236.
Mishra, S.K., Sahoo, B., Parida, P.P., Load balancing in cloud computing: A big picture. J. King Saud Univ.-Comput. Inform. Sci. 32:2 (2020), 149–158.
Sutton, R.S., Barto, A.G., Reinforcement Learning: An Introduction. 2018, MIT Press.
Hasan, M., Goraya, M.S., Fault tolerance in cloud computing environment: A systematic survey. Comput. Ind. 99 (2018), 156–172.
Hameed, A., Khoshkbarforoushha, A., Ranjan, R., Jayaraman, P.P., Kolodziej, J., Balaji, P., Zeadally, S., Malluhi, Q.M., Tziritas, N., Vishnu, A., Khan, S.U., Zomaya, A., A survey and taxonomy on energy efficient resource allocation techniques for cloud computing systems. Computing 98:7 (2016), 751–774.
Kaur, T., Chana, I., Energy efficiency techniques in cloud computing: A survey and taxonomy. ACM Comput. Surveys (CSUR) 48:2 (2015), 1–46.
Belgacem, A., Dynamic resource allocation in cloud computing: analysis and taxonomies. Computing, 2022, 1–30.
Tamilvizhi, T., Parvathavarthini, B., A novel method for adaptive fault tolerance during load balancing in cloud computing. Cluster Comput. 22:5 (2019), 10425–10438.
Sharma, Y., Si, W., Sun, D., Javadi, B., Failure-aware energy-efficient vm consolidation in cloud computing systems. Fut. Gener. Comput. Syst. 94 (2019), 620–633.
Marahatta, A., Wang, Y., Zhang, F., Sangaiah, A.K., Tyagi, S.K.S., Liu, Z., Energy-aware fault-tolerant dynamic task scheduling scheme for virtualized cloud data centers. Mobile Networ. Appl. 24:3 (2019), 1063–1077.
Mustafa, S., Bilal, K., Malik, S.U.R., Madani, S.A., Sla-aware energy efficient resource management for cloud environments. IEEE Access 6 (2018), 15004–15020.
Adhikari, M., Amgoth, T., Heuristic-based load-balancing algorithm for iaas cloud. Fut. Gen. Comput. Syst. 81 (2018), 156–165.
Wang, W., Jiang, Y., Wu, W., Multiagent-based resource allocation for energy minimization in cloud computing systems. IEEE Trans. Syst. Man. Cybern. Syst. 47:2 (2016), 205–220.
Bajo, J., De, F., la, Prieta, Corchado, J.M., S., Rodŕıguez, A low-level resource allocation in an agent-based cloud computing platform. Appl. Soft Comput. 48 (2016), 716–728.
Gao, X., Liu, R., Kaushik, A., Hierarchical multi-agent optimization for resource allocation in cloud computing. IEEE Trans. Parallel Distrib. Syst. 32:3 (2020), 692–707.
Singh, A., Juneja, D., Malhotra, M., A novel agent based autonomous and service composition framework for cost optimization of resource provisioning in cloud computing. J. King Saud Univ.-Comput. Inform. Sci. 29:1 (2017), 19–28.
Gutierrez-Garcia, J.O., Ramirez-Nafarrate, A., Agent-based load balancing in cloud data centers. Cluster Comput. 18:3 (2015), 1041–1062.
Kemchi, S., Zitouni, A., Djoudi, M., Amace: agent based multi-criterions adaptation in cloud environment. Human-centric Comput. Inform. Sci. 8:1 (2018), 1–28.
Singh, A., Juneja, D., Malhotra, M., Autonomous agent based load balancing algorithm in cloud computing. Proc. Comput. Sci. 45 (2015), 832–841.
Jena, U.K., Das, P.K., Kabat, M.R., Hybridization of meta-heuristic algorithm for load balancing in cloud computing environment. J. King Saud Univ. – Comput. Inform. Sci., 2020.
Jyoti, A., Shrimali, M., Dynamic provisioning of resources based on load balancing and service broker policy in cloud computing. Cluster Comput. 23:1 (2020), 377–395.
Xu, X., Fu, S., Li, W., Dai, F., Gao, H., Chang, V., Multi-objective data placement for workflow management in cloud infrastructure using nsga-ii. IEEE Trans. Emerg. Top. Comput. Intell. 4:5 (2020), 605–615.
Chinnathambi, S., Santhanam, A., Rajarathinam, J., Senthilkumar, M., Scheduling and checkpointing optimization algorithm for byzantine fault tolerance in cloud clusters. Cluster Comput. 22:6 (2019), 14637–14650.
Kurdi, H.A., Alismail, S.M., Hassan, M.M., Lace: a locust-inspired scheduling algorithm to reduce energy consumption in cloud datacenters. IEEE Access 6 (2018), 35435–35448.
Kong, L., Mapetu, J.P.B., Chen, Z., Heuristic load balancing based zero imbalance mechanism in cloud computing. J. Grid Comput. 18:1 (2020), 123–148.
Devaraj, A.F.S., Elhoseny, M., Dhanasekaran, S., Lydia, E.L., Shankar, K., Hybridization of firefly and improved multi-objective particle swarm optimization algorithm for energy efficient load balancing in cloud computing environments. J. Parallel Distrib. Comput. 142 (2020), 36–45.
Singhal, R., Singhal, A., A feedback-based combinatorial fair economical double auction resource allocation model for cloud computing. Fut. Gener. Comput. Syst. 115 (2021), 780–797.
Thein, T., Myo, M.M., Parvin, S., Gawanmeh, A., Reinforcement learning based methodology for energyefficient resource allocation in cloud data centers. J. King Saud Univ.-Comput. Inform. Sci. 32:10 (2020), 1127–1139.
Liang, H., Zhang, X., Zhang, J., Li, Q., Zhou, S., Zhao, L., A novel adaptive resource allocation model based on smdp and reinforcement learning algorithm in vehicular cloud system. IEEE Trans. Veh. Technol. 68:10 (2019), 10018–10029.
Praveenchandar, J., Tamilarasi, A., Dynamic resource allocation with optimized task scheduling and improved power management in cloud computing. J. Ambient Intell. Hum. Comput. 12:3 (2021), 4147–4159.
Pradhan, A., Bisoy, S.K., A novel load balancing technique for cloud computing platform based on PSO. J. King Saud Univ.-Comput. Inform. Sci., 2020.
Karthiban, K., Raj, J.S., An efficient green computing fair resource allocation in cloud computing using modified deep reinforcement learning algorithm. Soft. Comput. 24:19 (2020), 14933–14942.
Thai, L., Varghese, B., Barker, A., A survey and taxonomy of resource optimisation for executing bag-of-task applications on public clouds. Fut. Gener. Comput. Syst. 82 (2018), 1–11.
Young, J.W., A first order approximation to the optimum checkpoint interval. Commun. ACM 17:9 (1974), 530–531.
R. S. Sutton, A. G. Barto, Reinforcement learning: An introduction (2011).
Kaelbling, L.P., Littman, M.L., Moore, A.W., Reinforcement learning: A survey. J. Artif. Intell. Res. 4 (1996), 237–285.
Even-Dar, E., Mansour, Y., Bartlett, P., Learning rates for q-learning. J. Machine Learn. Res., 5(1), 2003.
Kondo, D., Javadi, B., Iosup, A., Epema, D., The failure trace archive: Enabling comparative analysis of failures in diverse distributed systems. 2010 10th IEEE/ACM International Conference On Cluster, Cloud And Grid Computing, 2010, IEEE, 398–407.
Gelper, S., Fried, R., Croux, C., Robust forecasting with exponential and holt–winters smoothing. J. Forecast. 29:3 (2010), 285–300.
K. Ferreira, J. Stearley, J. H. Laros III, R. Oldfield, K. Pedretti, R. Brightwell, R. Riesen, P. G. Bridges, D. Arnold, Evaluating the viability of process replication reliability for exascale systems, in: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, 2011, pp. 1–12.
Dongarra, J., Beckman, P., Aerts, P., Cappello, F., Lippert, T., Matsuoka, S., Messina, P., Moore, T., Stevens, R., Trefethen, A., et al. The international exascale software project: a call to cooperative action by the global high-performance community. Internat. J. High Perform. Comput. Appl. 23:4 (2009), 309–322.
Zheng, G., Ni, X., Kaĺe, L.V., A scalable double in-memory checkpoint and restart scheme towards exascale. IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN 2012), 2012, 1–6.