Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

WEB-SERVICE FOR CONDUCTING EXPERIMENTS WITH SIMULATION MODELS OF QUEUING SYSTEMS

Bogdanova V.G. 1 Pashinin A.A. 1
1 Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of Russian Academy of Sciences
Tools for automating the development of service-oriented applications is considered. The composite service for the investigation of queuing systems using simulation modeling in a distributed computing environment is implemented through these tools. This service is intended for execution of the simulation model on all possible combinations of values of input variable model parameters from the range of admissible values and the subsequent multi-criterion selection of the observed variables values obtained in the process of simulation. This service provides transparent access to computing resources, a web-based interface for the problem formulation, the generation, the distribution and monitoring of the task flows that arise when the simulation model parameters are varied. Regimes, methods and means for decomposition of a parameters variable set are considered. The scheme of the composite service development and variants of its deployment on computational resources are given. The process of simulation model execution with the help of this service is described.
simulation modeling service
automation tools
multivariate computations

Сравнительный анализ систем имитационного моделирования [1] дает возможность определения дальнейшего направления исследований в отношении разработки инструментальных средств автоматизации проведения имитационных экспериментов на основе современных технологий. В настоящее время активно развивается тенденция привлечения технологии распределенных и облачных вычислений для имитационного моделирования сложных систем массового обслуживания (СМО). Интеграция имитационного моделирования с интернет-технологиями привела к появлению концепции web-моделирования (Web-based simulation, WBS), преимущества и недостатки которого по сравнению с классическими системами моделирования рассматриваются в обзорной работе [2]. В этой же работе рассматривается возможность применения ряда технологий и архитектурных решений, в частности SOA, для WBS. В работе [3] дается всесторонний обзор сервис-ориентированных инструментальных средств имитационного моделирования и делается вывод, что, хотя в этой области достигнут значительный прогресс, многие проблемы, в частности автоматизация создания, совместимость, повторное использование, оркестровка и хореография сервисов, требуют дальнейшего исследования. В работе [4] рассматривается модель облачных вычислений Simulation Software-as-a-Service (SimSaaS), в рамках которой программные средства имитационного моделирования предоставляются как услуга. В [5] отмечается, что параллельное и распределенное имитационное моделирование эволюционировало за последние десятилетия, однако в настоящее время в этой области возникают новые задачи, в частности обеспечение возможности проведения широкодоступного распределенного моделирования посредством упрощения для конечного пользователя доступа к специализированным системам разработки таких моделей и исполнению этих моделей в распределенных и облачных средах. В [6] отмечается, что перспективным направлением решения подобных задач является применение современных интеллектуальных информационных технологий. Такая тенденция актуализирует разработку инструментальных средств, автоматизирующих возможность использования потенциала высокопроизводительных вычислений.

Настоящая статья посвящена дальнейшему развитию исследований, связанных с автоматизацией многовариантных расчетов для декомпозируемых вычислительных задач в рамках сервис-ориентированного подхода, изложенного в [7]. Целью исследования является разработка и реализация новой версии сервиса имитационного моделирования систем массового обслуживания (СМО) на основе платформы HPCSOMAS Framework [8]. Этот сервис (Simulation of Queuing Systems, SimQS) предназначен для выполнения имитационной модели в среде GPSS WORLD на всевозможных сочетаниях значений входных варьируемых параметров модели из области допустимых значений и последующего многокритериального выбора [10] значений наблюдаемых переменных, получаемых в процессе имитационного моделирования. SimQS не является монолитным приложением, а реализован в виде набора сервисов. Управление их взаимодействием в процессе имитационного моделирования осуществляется с помощью предоставляемых платформой специализированных системных сервисов (далее – сервисов логики выполнения).

Создание сервиса на основе HPCSOMAS Framework

Сервис-ориентированное приложение (композитный сервис), разработанное на основе HPCSOMAS Framework (рис. 1), содержит служебные агенты-сервисы, использующиеся при выполнении запроса пользователя и предметно-ориентированные вычислительные агенты-сервисы, реализующие методы исследования математических моделей предметной области (ПО). Служебные сервисы предназначены для выполнения функций управления выполнением композитного сервиса, управления данными пользователя, организации взаимодействия с пользователем. Эти сервисы не зависят от предметной области, реализованы на основе соответствующих классов библиотеки создания агентов-сервисов, имеют схему описания на языке JSON, являются повторно-используемыми. Вычислительные сервисы являются атомарными или композитными, состоящими из набора атомарных и вложенных композитных сервисов.

Расчетная схема, соответствующая композитному сервису, описывает план проведения вычислительного эксперимента для решения конкретной задачи ПО, строится на основе вычислительной модели ПО и задает логику выполнения композиции подзадач, каждой из которых соответствует вычислительный модуль или вложенная расчетная схема. В [11] приведены шаблоны расчетов, соответствующие типовым подзадачам, возникающим в процессе вычислительных экспериментов. Основу описания расчетных схем составляют шаблоны типовых подзадач, которым соответствуют следующие базовые виды расчета: последовательный, параллельный, альтернативный, статический многовариантный, динамический многовариантный, итеративный и составной, который может включать как перечисленные типы расчетов, так и вложенный составной расчет.

При параллельном выполнении многовариантных расчетов в среде HPCSOMAS используется декомпозиция по данным, выполняемая в статическом режиме (когда декомпозируемое множество данных известно заранее) или в динамическом, когда декомпозируемое множество строится в процессе решения задачи. Применяемые способы декомпозиции сформировались в результате опыта разработки сервис-ориентированных приложений для решения задач параметрического синтеза стабилизирующей обратной связи для динамических управляемых систем и задач булевой выполнимости [8, 12–14] и основаны на построении расчетной сетки варьируемых с некоторым шагом и в заданных границах параметров, задании битовой маски (в случае, когда в переборе вариантов участвует только часть параметров, указать которые нельзя регулярным способом) или списка, когда области допустимых значений параметров имеют разную структуру. Для параллельного выполнения многовариантных расчетов на основе функционального параллелизма применяется способ декомпозиции по заданному набору альтернативных элементов, например набору программ, реализующих разные методы решения задачи на одних и тех же исходных данных.

Механизмы декомпозиции заложены в служебные сервисы логики выполнения, реализующие шаблоны схем многовариантных расчетов. При создании композитного сервиса они встраиваются в последовательность вычислительных сервисов. Сервисы логики выполнения в процессе интерпретации расчетной схемы распределяют подзадачи на вычислительные слои, в которых они могут выполняться последовательно или параллельно в зависимости от соответствующего подзадаче шаблона расчета. При реализации SimQS использованы три таких сервиса: сервис создания вычислительного слоя (CREATE PLATER XXX), сервис условия выполнения элемента слоя (CONDITION XXX) и сервис снятия вычислительного слоя (DELETE PLAYER). Обозначение «XXX» для каждого способа декомпозиции заменяется значениями модификаторов. При создании вычислительного слоя первый модификатор связан с режимом декомпозиции, второй зависит от способа декомпозиции, третий показывает, все ли элементы вычислительного слоя должны быть выполнены. Сервис создания вычислительного слоя используется совместно с сервисом условия выполнения элемента слоя. Для сервиса условия модификаторы имеют другой смысл: тип условия, вид операции отношения, установка флага прекращения выполнения оставшихся подзадач при получении решения для одного из вариантов или синхронизации для выполнения всех элементов слоя (таблица).

С помощью сервисов логики выполнения схема SimQS описывается следующим образом:

1. CREATE PLAYER SLA (TAB, TABPROC1).

2. GPSS RUN.

3. CONDITION LTW.

4. JOIN.

5. DELETE PLAYER.

6. JRA.

В первой строке создается параллельный вычислительный слой для статического многовариантного расчета, осуществляется генерация вариантов для подзадач слоя (в скобках заданы параметры – способ представления списка параметров в интерфейсе пользователя (макроконстанта TAB) и вид обработчика табличных данных (макроконстанта TABPROC1). Во второй строке запускается сервис исполнения имитационной модели для варианта расчета, в третьей строке стоит сервис синхронизации завершения выполнения всех подзадач, в четвертой объединяются отчеты, полученные при прогоне вариантов, в пятой снимается вычислительный слой, в шестой выполняется сервис, анализирующий результаты моделирования с использованием методологии многокритериального выбора.

Развертывание приложения на ресурсах можно производить на основе технологии как тонкого клиента, так и толстого клиента (рис. 2). На ресурсах устанавливается hpcsomas-агент. Доступ к сервису осуществляется через web-браузер.

bogd1.tif

Рис. 1. Разработка композитного сервиса на основе платформы HPCSOMAS

Модификаторы сервисов логики выполнения

Сервис

X

X

X

CREATE PLAYER

Static/Dynamic

S|D

Grid/Mask/List/Set

G|M|L|S

All elements/Part

A|P

CONDITION

Arithmetical/Logical

A|L

EQ/NE/GT/LT/True E|N|G|L|T

Delete Layer/Wait

D|W

 

bogd2.tif

Рис. 2. Развертывание композитного сервиса на вычислительных ресурсах

Для развертывания сервиса на ресурсах Иркутского научного центра [15] использовалась технология тонкого клиента.

Выполнение имитационной модели сервисом SimQS

Пользователь выбирает модель с помощью сервиса файлового менеджера, web-интерфейс которого представлен на рис. 3. Если модель отсутствует в пространстве пользователя на сервере, ее можно загрузить с внешнего ресурса с помощью кнопок в нижней части формы «Выберите файл» и «Загрузить». Дополнительные файлы модели вводятся аналогично. Если постановка задачи осуществляется первый раз, должны быть введены связанные с моделью варьируемые входные параметры и наблюдаемые переменные. В web-интерфейсе сервиса SimQS для ввода этих данных используются табличные элементы управления. Шаблон постановки задачи с введенными входными данными может быть сохранен, тогда при повторном исполнении модели можно загрузить (и отредактировать) сохраненную ранее постановку задачи. Для выполнения имитационной модели нужно нажать кнопку на web-интерфейсе сервиса SimQS «Создать задание». После завершения задания на вкладке «Результаты» web-интерфейса hpcsomas-агента можно получить и просмотреть итоговый отчет «report.txt» (рис. 3).

Приведенные на рис. 3 результаты получены с помощью многокритериального выбора на основе метода лексикографического упорядочения, примененного к объединенным отчетам, полученным в результате выполнения модели для каждого сочетания варьируемых параметров. Список вариантов доступен на вкладке «Результаты» по команде «information (i)», открывающей окно просмотра характеристик задачи. При описании примера работы сервиса SimQS использовалась имитационная модель рефрижераторного склада, описанная в [9].

Заключение

В статье рассмотрено применение инструментальных средств автоматизации построения и поддержки функционирования предметно-ориентированных композитных сервисов. Предложены способы декомпозиции, реализованные на основе включения агентов-сервисов логики выполнения в состав композитного сервиса. Рассмотрен пример создания на основе такого подхода сервиса для выполнения имитационной модели и анализа результатов моделирования в распределенной вычислительной среде. Сервис существенно упрощает проведение экспериментов для конечного пользователя, обеспечивая прозрачный доступ к ресурсам высокопроизводительной вычислительной среды, организацию многовариантных расчетов, включая генерацию вариантов и управление параллельным выполнением подзадач на основе мультиагентного подхода.

bogd3.tif

Рис. 3. Выполнение имитационной модели PRRModel средствами сервиса SimQS

Исследование выполнено при поддержке РФФИ, проект № 15-29-07955-офи_м и при частичной поддержке Программы 1.33П фундаментальных исследований Президиума РАН, проект «Разработка новых подходов к созданию и исследованию моделей сложных информационно-вычислительных и динамических систем с приложениями» и Совета по грантам Президента Российской Федерации для государственной поддержки ведущих научных школ Российской Федерации (НШ-8081.2016.9).