Детальная информация

Название Средства прогнозирования и их использование для повышения эффективности распределения ресурсов для облачных вычислений: выпускная квалификационная работа магистра: направление 09.04.04 «Программная инженерия» ; образовательная программа 09.04.04_01 «Технология разработки и сопровождения качественного программного продукта»
Авторы Смородников Григорий Валерьевич
Научный руководитель Самочадин Александр Викторович
Организация Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Выходные сведения Санкт-Петербург, 2025
Коллекция Выпускные квалификационные работы ; Общая коллекция
Тематика прогнозирование нагрузки ; распределение ресурсов ; виртуализация ; облачные вычисления ; lstm ; dnn ; python ; fastapi ; influxdb ; cloudsim ; rest api ; workload forecasting ; resource allocation ; virtualization ; cloud computing
Тип документа Выпускная квалификационная работа магистра
Тип файла PDF
Язык Русский
Уровень высшего образования Магистратура
Код специальности ФГОС 09.04.04
Группа специальностей ФГОС 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2025/vr/vr25-3830
Права доступа Доступ по паролю из сети Интернет (чтение, печать)
Дополнительно Новинка
Ключ записи ru\spstu\vkr\37484
Дата создания записи 19.09.2025

Разрешенные действия

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа Анонимные пользователи
Сеть Интернет

Работа посвящена разработке системы краткосрочного прогнозирования нагрузки для повышения эффективности распределения ресурсов в облачной инфраструктуре. Цель — создание программных средств, снижающих перегрузки, повышающих стабильность кластера и обеспечивающих адаптивное управление на основе прогноза загрузки 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.

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Прочитать Печать
Интернет Авторизованные пользователи СПбПУ
Прочитать Печать
Интернет Анонимные пользователи
  • ВВЕДЕНИЕ
  • ГЛАВА 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. Тест-кейсы устойчивости системы

Количество обращений: 0 
За последние 30 дней: 0

Подробная статистика