Details

Title Средства прогнозирования и их использование для повышения эффективности распределения ресурсов для облачных вычислений: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators Смородников Григорий Валерьевич
Scientific adviser Самочадин Александр Викторович
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2025
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects прогнозирование нагрузки ; распределение ресурсов ; виртуализация ; облачные вычисления ; lstm ; dnn ; python ; fastapi ; influxdb ; cloudsim ; rest api ; workload forecasting ; resource allocation ; virtualization ; cloud computing
Document type Master graduation qualification work
File type PDF
Language Russian
Level of education Master
Speciality code (FGOS) 09.04.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2025/vr/vr25-3830
Rights Доступ по паролю из сети Интернет (чтение, печать)
Additionally New arrival
Record key ru\spstu\vkr\37484
Record create date 9/19/2025

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Group Anonymous
Network Internet

Работа посвящена разработке системы краткосрочного прогнозирования нагрузки для повышения эффективности распределения ресурсов в облачной инфраструктуре. Цель — создание программных средств, снижающих перегрузки, повышающих стабильность кластера и обеспечивающих адаптивное управление на основе прогноза загрузки CPU и памяти. Проанализированы существующие методы прогнозирования, включая статистические и ML-модели. Разработан собственный подход с использованием LSTM, FastAPI и TensorFlow. Для хранения данных применяется InfluxDB. Процесс прогнозирования автоматизирован с помощью планировщика APScheduler. Прогнозы используются в скоринговом алгоритме размещения задач, который учитывает текущие и ожидаемые метрики при выборе узла для ВМ. Тестирование в CloudSim с синтетическими данными показало рост средней загрузки CPU на 10–13%, сокращение доли перегруженных серверов в 5 раз и уменьшение дисперсии нагрузки. Время размещения заявки — менее 150 мс при 5000 ВМ и 500 узлах. Система превосходит классические алгоритмы без использования предсказаний нагрузки (Random, Round Robin) по стабильности и равномерности распределения. Её архитектура универсальна и применима в SLA-ориентированных, учебных и исследовательских облаках.

This thesis focuses on the development of a short-term workload forecasting system aimed at improving the efficiency of resource allocation in cloud infrastructure. The goal is to create software tools that reduce overloads, enhance cluster stability, and enable adaptive management based on CPU and memory usage forecasts. Existing forecasting methods, including statistical and machine learning models, were analyzed. A custom approach was developed using LSTM models implemented as a microservice with FastAPI and TensorFlow. Time-series data and predictions are stored in InfluxDB. The forecasting process is automated using the APScheduler library. The predictions are used in a scoring-based scheduling algorithm that considers both current and forecasted metrics when selecting a node for virtual machine placement. Testing in the CloudSim simulation environment with synthetic data showed a 10–13% increase in average CPU utilization, a fivefold reduction in overloaded servers, and decreased load variance. Task placement time was under 150 ms for workloads involving up to 5000 VMs and 500 nodes. The proposed system outperforms classical algorithms without forecasting capabilities (e.g., Random, Round Robin) in terms of distribution stability and uniformity. Its flexible architecture makes it suitable for SLA-driven, educational, and research-oriented cloud environments.

Network User group Action
ILC SPbPU Local Network All
Read Print
Internet Authorized users SPbPU
Read Print
Internet Anonymous
  • ВВЕДЕНИЕ
  • ГЛАВА 1. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ ПРОГНОЗИРОВАНИЯ НАГРУЗКИ
  • 1.1 СРЕДСТВА ПРОГНОЗИРОВАНИЯ НАГРУЗКИ ДЛЯ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ
  • 1.2 КЛАССИФИКАЦИЯ АЛГОРИТМОВ ПРОГНОЗИРОВАНИЯ НАГРУЗКИ
  • 1.2.2 Машинное обучение (ML)
  • 1.2.3 Глубокое обучение (DL)
  • 1.2.4 Гибкие и адаптивные модели
  • 1.3 МЕТОДЫ МАШИННОГО ОБУЧЕНИЯ ДЛЯ ПРОГНОЗИРОВАНИЯ НАГРУЗКИ
  • 1.4 ВЫВОДЫ ПО АНАЛИЗУ СУЩЕСТВУЮЩИХ РЕШЕНИЙ
  • 1.5 ДЕТАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ
  • ГЛАВА 2. АЛГОРИТМЫ ПРОГНОЗИРОВАНИЯ РЕСУРСОВ ДЛЯ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ
  • 2.1 МОДЕЛИ МАШИННОГО ОБУЧЕНИЯ
  • 2.1.1 Рекуррентные нейронные сети и архитектура LSTM
    • Способы улучшения:
  • 2.1.2 Сверточные временные сети (Temporal Convolutional Networks, TCN)
  • 2.1.3 Полносвязные нейронные сети (DNN)
  • 2.2 МЕТРИКИ ОЦЕНИВАЯ СРЕДСТВА ПРОГНОЗИРОВАНИЯ РЕСУРСОВ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ
  • 2.2.1 MSE
  • 2.2.2 MAPE
  • 2.2.3 Коэффициент детерминации
  • 2.3 ОБЗОР СХЕМ АЛГОРИТМОВ ПРОГНОЗИРОВАНИЯ РЕСУРСОВ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ
  • 2.3.1 Универсальное средство прогнозирования ресурсов облачных вычислений
  • 2.3.2 Средство индивидуального прогнозирования
  • 2.4 КЛЮЧЕВЫЕ ИДЕИ ДЛЯ РАЗРАБОТКИ СОБСТВЕННОГО СЕРВИСА ПРОГНОЗИРОВАНИЯ НАГРУЗКИ
  • 2.5 ОПИСАНИЕ СЕРВИСА ПРОГНОЗИРОВАНИЯ, РЕАЛИЗОВАННОГО В СИСТЕМЕ
  • 2.5.1 Общая структура
  • 2.5.2 Описание компонентов
  • 2.5.3 Типы симуляций
  • 2.5.4 Сценарий взаимодействия компонентов
  • ГЛАВА 3. ОПИСАНИЕ РЕАЛИЗАЦИИ СЕРВИСА
  • 3.1 ОБЩАЯ АРХИТЕКТУРА СИСТЕМЫ
  • 3.1.1 Общий обзор компонентов
  • 3.1.2 Архитектурные принципы и особенности
  • 3.1.3 Потоки данных и взаимодействие компонентов
  • 3.2 ТЕХНОЛОГИЧЕСКИЙ СТЕК
  • 3.2.1 Язык программирования и фреймворки
  • 3.2.2 Хранилища данных
  • 3.2.2 Прогнозирование нагрузки
  • 3.2.3 Модуль симуляции
  • 3.2.4 Работа с конфигурацией и параметрами
  • 3.2.5 Прочие инструменты и библиотеки
  • 3.3 СТРУКТУРА ПРОЕКТА И РЕАЛИЗАЦИЯ ОСНОВНЫХ КОМПОНЕТНОВ
  • 3.3.1 Общая файловая структура проекта
  • 3.3.2 Файловая структура и API-интерфейс сервиса прогнозирования
  • 3.3.3 API-интерфейс средства
  • 3.3.4 Реализация SimulationService
  • 3.4 РЕАЛИЗАЦИЯ КЛАССА SIMULATION: АГРЕГИРОВАНИЕ И КООРДИНАЦИЯ ПОДСИСТЕМ
  • 3.5 РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА ДОСТУПА К INFLUXDB
  • 3.6 РЕАЛИЗАЦИЯ МЕХАНИЗМА УПРАВЛЕНИЯ ML-МОДЕЛЯМИ
  • 3.7 РЕАЛИЗАЦИЯ СЦЕНАРИЕВ ПРОГНОЗИРОВАНИЯ
  • 3.7.1 Сценарий прогнозирования по одной виртуальной машине
  • 3.7.2 Сценарий прогнозирования по виртуальным машинам одного сервера
  • 3.7.3 Добавление сценария прогнозирования
  • 3.7.4 Система оценки качества
  • 3.8 РЕАЛИЗАЦИЯ ДИНАМИЧЕСКОГО УПРАВЛЕНИЯ СЦЕНАРИЯМИ ПРОГНОЗИРОВАНИЯ
  • 3.8.1 Реестр стратегий
  • 3.8.2 Асинхронный обработчик файловых событий
  • 3.8.3 Фабрика стратегий
  • 3.8.4 Процесс динамического обновления
  • 3.9 РЕАЛИЗАЦИЯ СЕРВИСА ALLOCATION
  • 3.10 РЕАЛИЗАЦИЯ СЕРВИСА EXECUTOR
  • 3.10.1 Реализация сервиса Dynamic RA Scheduler
  • ГЛАВА 4. ТЕСТИРОВАНИЕ СЕРВИСА
  • 4.1 ПОДХОД К ТЕСТИРОВАНИЮ
  • 4.2 МОДУЛЬНОЕ ТЕСТИРОВАНИЕ КОМПОНЕНТОВ ПРОГНОЗИРОВАНИЯ
  • 4.3 ИНТЕГРАЦИОННОЕ ТЕСТИРОВАНИЕ И ПРОВЕРКА API
  • 4.4 РУЧНОЕ ТЕСТИРОВАНИЕ ДИНАМИЧЕСКОГО УПРАВЛЕНИЯ СЦЕНАРИЯМИ ПРОГНОЗИРОВАНИЯ
  • 4.5 ПРОВЕРКА СООТВЕТСТВИЯ СЕРВИСА ПРОГНОЗИРОВАНИЯ ТРЕБОВАНИЯМ
  • 4.6 ТЕСТИРОВАНИЕ СКОРИНГОВОГО АЛГОРИТМА
  • 4.6.1 Нагрузочное тестирование алгоритма скоринга
  • 4.6.2 Метрики эффективности алгоритма распределения
  • 4.6.3 Сравнение с классическими алгоритмами распределения
  • 4.6.4 Проверка соответсвия алгоритма распределения требованиям
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
  • ПРИЛОЖЕНИЕ А. Тест-кейсы сервиса прогнозирования
  • ПРИЛОЖЕНИЕ B. Тест-кейсы устойчивости системы

Access count: 0 
Last 30 days: 0

Detailed usage statistics