MODIFIED SOFTWARE DEPLOYMENT ALGORITHM USING MULTI-THREADING

Authors

DOI:

https://doi.org/10.20998/2079-0023.2024.02.15

Keywords:

deployment process, information technology, algorithm, software deployment process model, timed finite automaton, Petri nets

Abstract

The article presents a modified deployment algorithm for software systems using multithreading in AWS CodeBuild, aimed at optimizing build time and reducing computational resource costs in cloud environments. The key stages of the build process, including parallel test execution, task allocation analysis, and resource management, were modeled using finite automata, timed automata, and Petri nets. Particular attention was given to identifying and addressing the limitations of AWS CodeBuild's standard parallelization mechanisms, which can lead to inefficient resource utilization and extended build durations. The study revealed that AWS CodeBuild's default mechanisms are not always capable of optimally leveraging system resources, especially when handling large software projects with numerous dependencies. To overcome these limitations, the use of Python's multithreading capabilities was proposed as a convenient tool for extending the platform's base functionality. The proposed approach enabled flexible thread management and task distribution at the user scenario level, significantly reducing overall build time. Experimental results demonstrated substantial reductions in build execution time compared to the default AWS CodeBuild settings, confirming the effectiveness of the proposed algorithm in enhancing performance and ensuring high scalability for build processes in cloud environments. The developed algorithm is particularly relevant for large software projects requiring frequent iterative builds and testing. The findings can be utilized to improve automated deployment processes and computational resource management in cloud ecosystems.

Author Biographies

Nataliia Khatsko, National Technical University "Kharkiv Polytechnic Institute"

Candidate of Technical Sciences, Associate Professor, Associate Professor of the Department of Information Systems and Technologies of the National Technical University "Kharkiv Polytechnic Institute", Kyiv, Ukraine

Mykola Sliepushkov, National Technical University "Kharkiv Polytechnic Institute"

Master's Student, National Technical University "Kharkiv Polytechnic Institute", Kharkiv, Ukraine

Kyrylo Khatsko, National Technical University "Kharkiv Polytechnic Institute"

Senior Lecturer of the Department of the Department of Information Systems and Technologies of the National Technical University "Kharkiv Polytechnic Institute", Graduate Student, Kharkiv, Ukraine

Yevhenii Shebanov, National Technical University "Kharkiv Polytechnic Institute"

Graduate Student, National Technical University "Kharkiv Polytechnic Institute", Kharkiv, Ukraine

References

Shakhmetova G., Saukhanova Z., Udzir N. I., Sharipbay A., Saukhanov N. Application of Pseudo-Memory Finite Automata for Information Encryption. IntelITSIS. 2021, pp. 330–339.

Cotumaccio N., Prezza N. On indexing and compressing finite automata. Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms (SODA). Philadelphia: Society for Industrial and Applied Mathematics, 2021, pp. 2585–2599.

Jovanović N., Miljković D., Stamenković S., Jovanović Z., Chakraborty P. Teaching concepts related to finite automata using ComVis. Computer Applications in Engineering Education. 2021, vol. 29, no. 5, pp. 994–1006.

Nikulina O. M., Khatsko K.O. Method of converting the monolithic architecture of a front-end application to microfrontends. Visnyk Natsional'noho tekhnichnoho universytetu "KhPI". Seriya: Systemnyy analiz, upravlinnya ta informatsiyni tekhnolohiyi. [Bulletin of the National Technical University "KhPI". Series: System analysis, control and information technology]. Kharkov, NTU "KhPI" Publ., 2023, no. 2 (10), pp. 79–84. DOI: doi.org/10.20998/2079-0023.2023.02.12.

Stotts P. D., Pugh W. Parallel finite automata for modeling concurrent software systems. Journal of Systems and Software. 1994, vol. 27, no. 1, pp. 27–43.

Liao H., Wang Y., Cho H. K., Stanley J., Kelly T., Lafortune S., et al. Concurrency bugs in multithreaded software: Modeling and analysis using Petri nets. Discrete Event Dynamic Systems. 2013, vol. 23, pp. 157–195.

Sen K., Viswanathan M. Model checking multithreaded programs with asynchronous atomic methods. Computer Aided Verification: 18th International Conference, Seattle, WA, USA, August 17–20, 2006. Springer, 2006, pp. 300–314.

Philippe J., Omond A., Coullon H., Prud'Homme C., Raïs I. Fast Choreography of Cross-DevOps Reconfiguration with Ballet: A Multi-Site OpenStack Case Study. International Conference on Software Analysis, Evolution and Reengineering. 2024, pp.1–11. DOI: doi.org/10.1109/SANER60148.2024.00007.

Bo C., Dang V., Xie T., Wadden J., Stan M., Skadron K. Automata processing in reconfigurable architectures: In-the-cloud deployment, cross-platform evaluation, and fast symbol-only reconfiguration. ACM Transactions on Reconfigurable Technology and Systems. 2019, vol. 12, no. 2, pp. 1–25.

Zamkovyi M., Gavrylenko S., Khatsko K., Khatsko N., Algorithmic support for building a distributed iot system in a cloud service. 4th KhPI Week on Advanced Technology, Kharkiv, Ukraine, 2023, pp. 1–6. DOI: doi.org/10.1109/KhPIWeek61412.2023.1031299

Zimba A., Hongsong C. Analyzing trust concerns in public clouds using finite state automata. 2nd International Conference on Cloud Computing and Internet of Things. 2016, October, pp. 25–29.

Vayadande K. B., Sheth P., Shelke A., Patil V., Shevate S., Sawakare C. Simulation and testing of deterministic finite automata machine. International Journal of Computer Sciences and Engineering. 2022, vol. 10, no. 1, pp. 13–17.

Alur R., Dill D. L. A theory of timed automata. Theoretical Computer Science. 1994, vol. 126, no. 2, pp. 183–235.

Gavrylenko S., Zozulia V., Khatsko N., Methods for improving the quality of classification on imbalanced data. 2023 IEEE 4th KhPI Week on Advanced Technology, Kharkiv, Ukraine, 2023, pp. 1–5. DOI: doi.org/10.1109/KhPIWeek61412.2023.10312879.

Published

2025-01-04

How to Cite

Khatsko, N., Sliepushkov, M., Khatsko, K., & Shebanov, Y. (2025). MODIFIED SOFTWARE DEPLOYMENT ALGORITHM USING MULTI-THREADING. Bulletin of National Technical University "KhPI". Series: System Analysis, Control and Information Technologies, (2 (12), 98–103. https://doi.org/10.20998/2079-0023.2024.02.15

Issue

Section

INFORMATION TECHNOLOGY