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

TOOLS FOR AUTOMATION MULTIVARIATE COMPUTATIONS IN THE STUDY 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
В статье рассматривается технология автоматизации имитационного моделирования процессов функционирования систем массового обслуживания на основе парадигмы распределенных вычислений. Эта технология включает методы и инструментальные средства для организации мультиагентного управления многовариантными расчетами в распределенной вычислительной среде на основе сервис-ориентированного подхода. С помощью разработанных авторами инструментальных средств создается мультиагентная система. Особенностью этой системы является реализация агентов в виде сервисов. Создание проблемно-ориентированных сервисов упрощается предоставлением набора визуальных средств для разработки дизайна web-интерфейса и конфигурирования под конкретные задачи пользователя и вычислительные системы. Рассматриваются архитектура и функциональные возможности разработанного инструментария. Применение вышеперечисленных методов и средств иллюстрируется на примере создания сервис-ориентированного приложения для проведения имитационного моделирования логистического складского комплекса.
The technology of simulation modeling automation of functioning processes of queuing systems is described. This technology is based on the paradigm of the distributed computing. This technology includes methods and tools for the organization of the multi-agent control of multivariate computations in a distributed computing environment based on a service-oriented approach. Using tools developed by authors a multi-agent system are created. A special feature of this system is the realization of agents in the form of services. Creating problem-oriented services is simplified with providing of the set of visual tools for developing the web-based interface design and the configuration for specific user tasks and computer systems. We consider the architecture and functionality of the developed tools. The use of the above methods and tools is illustrated by the creation of service-oriented applications for simulation modeling of logistics warehouse.
multi-agent system
services
automation tools
multivariate computations
1. Basharina O.Ju., Dmitriev V.I., Feoktistov A.G. Modelirovanie urovnja obsluzhivanija klientov dlja pogruzochno-razgruzochnyh rabot logisticheskogo skladskogo kompleksa // Fundamentalnye issledovanija. 2015. no. 7–1. рр. 101–105.
2. Bogdanova V.G., Gorskij S.A., Pashinin A.A. Cervis-orientirovannye instrumentalnye sredstva dlja reshenija zadach bulevoj vypolnimosti // Fundamentalnye issledovanija. 2015. no. 2–6. рр. 1151–1156.
3. Bychkov I.V., Oparin G.A., Feoktistov A.G., Bogdanova V.G., Pashinin A.A. Multiagentnye metody i instrumentalnye sredstva upravlenija v servis-orientirovannoj raspredelennoj vychislitelnoj srede // Trudy ISP RAN. 2014. t. 26. Vyp. 5. рр. 65–82.
4. Feoktistov A.G. Upravlenie slozhnoj sistemoj na osnove metodologii mnogokriterialnogo vybora upravljajushhih vozdejstvij // Fundamentalnye issledovanija. 2015. no. 9–1. рр. 82–86.
5. Feoktistov A.G., Basharina O.Ju. Avtomatizacija imitacionnogo modelirovanija slozhnyh sistem v raspredelennoj vychislitelnoj srede // Programmnye produkty i sistemy. 2015. no. 3. рр. 75–79.
6. Feoktistov A.G., Bogdanova V.G., Pashinin A.A. Servis dlja organizacii mnogovariantnyh raschetov pri issledovanii sistem massovogo obsluzhivanija // Informacionnye i matematicheskie tehnologii v nauke i upravlenii. Trudy XX Bajkalskoj Vserossijskoj konferencii. 2015. рр. 37–44.
7. Bogdanova V.G., Bychkov I.V., Korsukov A.S., Oparin G.A. and Feoktistov A.G., Multiagent Approach to Controlling Distributed Computing in a Cluster Grid System, Journal of Computer and Systems Sciences International. 2014. Vol. 53. no. 5. рр. 713–722.
8. Fujimoto R.M., Parallel and Distributed Simulation Systems, Wiley, 2000.
9. Low A.M. and Kelton W.D., Simulation modeling and analysis, McGraw-Hill, 2000.
10. Taha H.A., Operations Research: An Introduction, Prentice Hall, 2006.

Современные системы массового обслуживания (СМО) представляют собой, как правило, сложно организованные экономические, производственные или технические объекты, функционирующие в различных сферах деятельности. Тенденция развития современных СМО заключается в постоянном совершенствовании технологий и коммуникационных систем, расширении множества выполняемых операций и повышении уровня их сложности, возникновении множества альтернатив принятия решений. В этой связи важнейшими задачами управления СМО становятся анализ и оптимизация функционально-организационной структуры как эксплуатируемых, так и проектируемых СМО [6].

Одним из наиболее эффективных подходов к анализу процессов функционирования СМО является имитационное моделирование [10]. Процесс построения моделирующей программы, адекватно отображающей исследуемый объект, во многом является нетривиальной задачей и требует от её разработчика наличия высокой математической и программистской квалификации [9], тем более, если речь идёт о параллельной или распределённой программе [8]. Таким образом, актуальными представляются приведенные в статье исследования, целью которых является разработка высокоуровневых инструментальных средств автоматизации этого процесса, которые позволят максимально использовать потенциал высокопроизводительной вычислительной техники и обеспечат построение сложной технологической цепочки: от специалиста-«предметника», формулирующего задачу, к математику, создающему модель, затем к программисту, и только затем – к тем, кто занимается непосредственно вычислениями.

Технология автоматизации имитационного моделирования процессов функционирования СМО в распределенной вычислительной среде включает методы и средства разработки имитационных моделей [4], интеллектного управления распределенными вычислениями в кластерной Grid [7], создания проблемно-ориентированных сервисов для проведения имитационного моделирования. В статье рассматриваются разработанные авторами инструментальные средства, автоматизирующие процесс создания проблемно-ориентированных сервисов на основе пакета прикладных программ пользователя.

Инструментальные средства автоматизации

Инструментальные средства HpcSoMas (High-performance Service-oriented Multi-agent system) Framework [2, 3] предназначены для разработки мультиагентных систем, автоматизирующих процесс управления организацией многовариантных расчетов в распределенной вычислительной среде. Особенностью таких мультиагентных систем является реализация агентов в виде сервисов. В состав HpcSoMas Framework входят: средства создания агентов на базе нейронных сетей; библиотека разработки агентов-сервисов на основе стандарта REST (Representational State Transfer) и протокола SOAP (Simple Object Access Protocol), а также готовые агенты-сервисы, реализующие базовые функции агентов, созданные на основе библиотечных классов и требующие для своего использования только конфигурационной настройки. Инструментарий HpcSoMas Framework предоставляет следующие возможности:

  • удаленный доступ к высокопроизводительным вычислительным ресурсам, web-интерфейс для формулирования постановки задачи;
  • формирование вариантов расчета и генерация подзаданий;
  • планирование ресурсов, обеспечивающее выбор наименее загруженного вычислительного кластера, отвечающего требованиям пользователя;
  • мультиагентное управление многовариантными расчетами;
  • организация взаимодействия с системой управления прохождением заданий вычислительного кластера;
  • объединение и обработка полученных результатов.

В HpcSoMas Framework для реализации этих функций предусмотрен набор системных агентов-сервисов. Агенты-сервисы, предназначенные непосредственно для решения задачи пользователя, называются вычислительными сервисами. Список всех сервисов хранится в базе данных агента-менеджера. Реализация вычислительного сервиса в среде HpcSoMas Framework требует создания специальных файлов описания конфигурации и схемы вычислительного сервиса на языке json, в которых содержатся все характеристики вычислительного сервиса и логика его работы, параметры, вводимые пользователем при формулировании постановки задачи, которые впоследствии будут отображены на web-форме пользовательского интерфейса при вызове сервиса. Такие файлы создаются как для элементарных сервисов, так и для сложных, состоящих из набора связанных между собой управляющими конструкциями вычислительных сервисов. Управляющие конструкции представляют собой команду запуска программы, условие запуска команды, команду циклической обработки, команду прерывания выполнения слоя. Под слоем понимается набор параллельно выполняемых подзаданий при организации многовариантных расчетов. Для разработки вычислительного сервиса и подключения его к агенту-менеджеру необходимо выполнить следующие действия: создать класс при помощи библиотеки hpcsomas, скомпилировать программу и загрузить на сервер Tomcat, создать конфигурационный файл для вычислительного сервиса, создать схему выполнения сервиса, в которую будет включен вычислительный сервис и его параметры, настроить агента-менеджера, чтобы он видел новый вычислительный сервис и схему сервиса.

Инструментарий HpcSoMas Framework ориентирован на две категории пользователей. К первой относятся системные разработчики, квалификация которых позволяет как вносить изменения в базовые возможности готовых сервисов, так и создавать на их основе собственные, придерживаясь общих концепций. Ко второй относятся специалисты-предметники, занимающиеся лишь конфигурацией готовых программных решений для представления своих приложений в виде сервисов. Для первой категории предоставляются библиотека классов и примеры сервисов для разработки на их основе собственных, что предусматривает ручное заполнение файлов конфигурации сервисов, доработку и компиляцию исходного программного кода. Вторая категория обеспечивается стандартным набором сервисов, для которых файлы настроек можно создавать и модифицировать под свои нужды, и новым компонентом инструментария HpcSoMas Framework, мастером создания вычислительных сервисов.

Создание предметно-ориентированного сервиса с помощью HpcSoMas Framework упрощается при использовании мастера ABCSW (Agent Based Class Service Wizard), предназначенного для автоматизации описания пользовательских и программных интерфейсов web-сервисов при конвертировании комплекса прикладных программ пользователя в научный вычислительный сервис, управление которым осуществляется на основе мультиагентного подхода. Данный инструментарий включает редактор вычислительных сервисов и редактор агента-менеджера, предназначенные для конфигурирования вычислительных сервисов, в виде которых реализуются предметно-ориентированные агенты, для описания схемы сервиса и для конфигурирования системных агентов мультиагентных систем, создаваемых при помощи HpcSoMas Framework. Агент-менеджер содержит информацию обо всех сервисах, добавляемых в систему. На рис. 1 представлены этапы автоматизированной разработки сервиса.

На рис. 2 показан интерфейс редактора вычислительного сервиса, с помощью которого выполняются первые два этапа, изображенные на рис. 1. В главном окне создан вычислительный сервис с именем ComputeServiceImmodSplitter (выделен в списке вычислительных сервисов). Сервису присваивается идентификатор, группа доступа не задана (значение «none»), при таком значении сервис доступен любой зарегистрированной в HpcSoMas группе пользователей. Задается краткое имя сервиса, которое будет отражаться на панели управления клиента HpcSoMas, и дается описание предназначения сервиса. Затем в следующем окне для этого сервиса указывается номер вычислительного слоя, задается блокировка слоя, означающая, что пока все элементы слоя не выполнятся, перехода к следующему вычислительному слою не будет. В этом же окне задается список параметров. В последнем окне параметры редактируются. Схема вычислительного сервиса редактируется аналогичным образом. На рис. 3 представлен пример программы настройки агентов, при помощи которой пользователь может подготовить агента к работе с вычислительным ресурсом, подключить необходимые вычислительные сервисы, схемы постановок задач, а также объединить агентов в единую систему, указав имена и адреса других агентов. Пользователю нужно просто открыть файл «agent.json», появится окно, приведенное на рис. 3 и содержащее информацию об агенте-менеджере. Имя нового сервиса нужно добавить в список вычислительных сервисов, имя схемы сервиса – в список шаблонов. Все остальные необходимые действия, в частности создание объектов классов, содержащихся в библиотеке «hpcsomas.jar», компиляция, перезагрузка сервера сервисов, осуществляются автоматически мастером ABCSW.

pic_8.tif

Рис. 1. Этапы разработки сервиса с помощью ABCSW

pic_9.tif

Рис. 2. Окна редактора вычислительного сервиса

pic_10.tif

Рис. 3. Главное окно редактора агента-менеджера

Сервис-ориентированная система имитационного моделирования

Для организации многовариантных расчётов при имитационном моделировании СМО с помощью описанных выше инструментальных средств была разработана сервис-ориентированная система имитационного моделирования, включающая несколько системных, элементарных и составных вычислительных сервисов. Эта система предоставляет следующие функции, которые реализованы набором сервисов:

  • создание и редактирование списка наблюдаемых параметров, используемых в дальнейшем во время моделирования (сервис OPLE – Observed Parameters List Edit);
  • проведение имитационного моделирования (сервис SimQS – Simulation Querying Systems);
  • параллельное решение с помощью многовариантных расчетов для различных входных параметров в распределенной вычислительной среде;
  • интеграция и визуализация результатов решения (сервис Grapher);
  • информирование пользователя о завершении выполнения запроса.

Сервис имитационного моделирования (рис. 4) рассматриваемой системы является основным и содержит следующие входные параметры: имя модели, число прогонов модели для перехода в рабочий режим, число прогонов модели в рабочем режиме, файлы вариантов исходных данных модели, наблюдаемые переменные модели, метод анализа результатов моделирования, сбор статистики, метод многокритериального выбора (лексикографический или мажоритарный).

При проведении вычислительных экспериментов имитационные модели были разработаны в системе GPSS World Student Version, функционирующей под управлением операционных систем семейства Windows. В качестве распределенной вычислительной среды использовались кластеры разнородных персональных компьютеров Международного института экономики и лингвистики Иркутского государственного университета и Института динамики систем и теории управления имени В.М. Матросова СО РАН. Разработанная сервис-ориентированная система имитационного моделирования была использована для решения задач, описанных в работах [1, 5, 6].

pic_11.tif

Рис. 4. Web-интерфейс сервиса имитационного моделирования

Заключение

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

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