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

Название Система дискретно-событийного имитационного моделирования на языке программирования Go: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Discrete-event simulation system in the Go programming language
Авторы Гуляев Илья Владиславович
Научный руководитель Никифоров Игорь Валерьевич
Организация Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Выходные сведения Санкт-Петербург, 2026
Коллекция Выпускные квалификационные работы ; Общая коллекция
Тематика имитационное моделирование ; дискретно-событийное моделирование ; облачная платформа ; язык программирования Go ; кодогенерация ; DSL ; микросервисная архитектура ; параллельные эксперименты ; simulation modeling ; discrete-event simulation ; cloud platform ; Go programming language ; code generation ; microservice architecture ; parallel experiments
Тип документа Выпускная квалификационная работа бакалавра
Язык Русский
Уровень высшего образования Бакалавриат
Код специальности ФГОС 09.03.04
Группа специальностей ФГОС 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-3499
Права доступа Доступ по паролю из сети Интернет (чтение, печать)
Дополнительно Новинка
Ключ записи ru\spstu\vkr\42692
Дата создания записи 21.08.2026

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

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

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

Данная работа посвящена разработке облачной платформы дискретнособытийного моделирования на языке программирования Go. Отличительной особенностью платформы служит распределённое исполнение экспериментов в облачной инфраструктуре с генерацией специализированного исполняемого кода вместо интерпретации модели во время выполнения. Платформа реализована как набор взаимодействующих микросервисов и собрана в виде набора Docker-образов, разворачиваемых единым стендом вместе с PostgreSQL, NATS и объектным хранилищем S3. Описание модели выполняется на разработанном предметно-ориентированном языке и транслируется в специализированный Go-код, который компилируется в самостоятельный исполняемый файл и выполняется без интерпретации. Изоляция процессов моделей по ресурсам реализована средствами контрольных групп ядра Linux версии cgroups v2. В результате работы реализована облачная платформа и проведены экспериментальные исследования её производительности. Сгенерированный движок выполнил одиночную модель в 4.8 раза быстрее ближайшего по скорости открытого решения и в 67 раз быстрее интерпретируемой реализации, потребляя при этом около 10 Мбайт памяти против десятков и сотен мегабайт у сравниваемых систем. Параллельное выполнение серии независимых экспериментов дало ускорение до 3.92 раза на четырёх слотах при эффективности параллелизма около 0.98, причём масштабирование достигается как добавлением слотов одного узла, так и подключением новых узлов исполнения. В работе использованы язык программирования Go, PostgreSQL, NATS, MinIO с интерфейсом S3, gRPC, Protocol Buffers, Docker, Docker Compose, cgroups v2, Visual Studio Code, Git и GitHub. Разработаны предметноориентированный язык описания дискретно-событийных моделей и облачная платформа дискретно-событийного моделирования.

This work is devoted to the development of a cloud platform for discrete-event simulation in the Go programming language. The distinctive feature of the platform is distributed execution of experiments in a cloud infrastructure with generation of specialized executable code instead of model interpretation at runtime. The platform is implemented as a set of interacting microservices and packaged as a set of Docker images that are deployed together with PostgreSQL, NATS and S3-compatible object storage as a single environment. The model description is written in a dedicated domain-specific language and translated into specialized Go code, which is compiled into a standalone executable file and runs without interpretation. Resource isolation of model processes is implemented by means of Linux kernel control groups version cgroups v2. As a result of the work, a cloud platform has been implemented and experimental studies of its performance have been carried out. The generated engine executed a single model 4.8 times faster than the nearest open-source solution by speed and 67 times faster than an interpreted implementation, while consuming about 10 MB of memory against tens and hundreds of megabytes for the compared systems. Parallel execution of a series of independent experiments yielded a speedup of up to 3.92 times on four slots at a parallel efficiency of about 0.98, with scaling achieved both by adding slots on a single node and by attaching additional execution nodes. The work uses the Go programming language, PostgreSQL, NATS, MinIO with an S3 interface, gRPC, Protocol Buffers, Docker, Docker Compose, cgroups v2, Visual Studio Code, Git and GitHub. A domain-specific language for describing discrete-event simulation models and a cloud platform for discrete-event simulation have been developed.

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все
Прочитать Печать
Интернет Авторизованные пользователи СПбПУ
Прочитать Печать
Интернет Анонимные пользователи
...