MODIFIED SOFTWARE DEPLOYMENT ALGORITHM USING MULTI-THREADING
DOI:
https://doi.org/10.20998/2079-0023.2024.02.15Keywords:
deployment process, information technology, algorithm, software deployment process model, timed finite automaton, Petri netsAbstract
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.
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.
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).