Вісник Національного технічного університету "ХПÌ": Системний аналіз, управління та інформаційні технології (Dec 2024)

МОДИФІКОВАНИЙ АЛГОРИТМ РОЗГОРТАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ З ВИКОРИСТАННЯМ БАГАТОПОТОЧНОСТІ

  • Nataliia Khatsko,
  • Mykola Sliepushkov,
  • Kyrylo Khatsko,
  • Yevhenii Shebanov

DOI
https://doi.org/10.20998/2079-0023.2024.02.15
Journal volume & issue
no. 2 (12)
pp. 98 – 103

Abstract

Read online

У статті представлено модифікований алгоритм розгортання програмного забезпечення з використанням багатопоточності в AWS CodeBuild, спрямований на оптимізацію часу збірки та зниження витрат на обчислювальні ресурси в хмарному середовищі. На основі скінченних автоматів, часових автоматів та мереж Петрі було змодельовано основні етапи процесу збірки, включаючи паралельне виконання тестів, аналіз розподілу завдань та управління обчислювальними ресурсами. Особлива увага приділялася ідентифікації та усуненню обмежень стандартних механізмів паралелізації AWS CodeBuild, які можуть призводити до неефективного використання ресурсів та збільшення тривалості збірки. Дослідження виявило, що стандартні механізми AWS CodeBuild не завжди здатні оптимально використовувати системні ресурси, особливо при обробці великих програмних проектів із численними залежностями. Для подолання цих обмежень було запропоновано використання багатопоточності засобами Python, як зручного інструменту для розширення базового функціоналу. Запропонований підхід дозволив реалізувати гнучке керування потоками та розподіл завдань на рівні користувацьких сценаріїв, зменшивши загальний час збірки. Експериментальні результати показали значне скорочення часу виконання збірок у порівнянні зі стандартними налаштуваннями AWS CodeBuild. Це підтверджує ефективність використання запропонованого алгоритму для збільшення продуктивності та забезпечення високої масштабованості процесів збірки в хмарному середовищі. Розроблений алгоритм є особливо актуальним для великих програмних проектів, які вимагають частих ітераційних збірок та тестування. Отримані результати можуть бути використані для вдосконалення автоматизованих процесів розгортання та управління обчислювальними ресурсами у хмарних середовищах.

Keywords