Агентная архитектура распределенной дискретно-событийной системы моделирования бизнес-процессов




Скачать 45.35 Kb.
Дата15.08.2016
Размер45.35 Kb.
Диденко Дмитрий Георгиевич

аспирант кафедры АСОИУ, ФИОТ, НТУУ “КПИ”.



Агентная архитектура распределенной дискретно-событийной

системы моделирования бизнес-процессов.

1. Введение. Сегодня, несмотря на рост производительности компьютеров, в промышленности и бизнесе остаются задачи, требующие повышения скорости работы систем имитационного моделирования (самолетостроение, автомобилестроение, логистика, сборочное производство и т.д.). И одним из вариантов решения этой проблемы является использование параллельного и распределенного дискретно-событийного имитационного моделирования.

На данный момент существует много реализаций распределенных систем имитационного моделирования, например, SPEEDES [1] и PARASOL [2]. Даже существует стандарт в этой области - HLA (High Level Architecture). Но сложность реализации этого стандарта, а также невозможность из-за объектно-ориентированной направленности использования с широкораспространенным декларативным языком имитационного моделирования GPSS [3], приводит нас к созданию распределенной системы, с автоматическим распределением [4] GPSS-программ.

Для решения проблемы повышения производительности и совместимости предлагается распределенная система имитационного моделирования OpenGPSS [5], построенная на основе СУБД Oracle. Также отметим, что Oracle – многосессионная клиент-серверная СУБД, позволяющая одновременно работать с несколькими пользователями (сессиями).

2. Особенности архитектуры системы

Система OpenGPSS представляет кластер моделирования (SC), состоящий из серверов моделирования (SS), предназначенных для хранения моделей и проведения распределенных имитационных экспериментов.



3. Агентная архитектура сервера моделирования

Рассмотрим более подробно архитектуру сервера моделирования (рис. 1) состоящую из взаимодействующих агентов [6]: агент имитационного моделирования AgSim, агент репликации модели AgRep, агент разделения нагрузки AgSpl, агент синхронизации AgSnc, агент приёмо-передачи сообщений AgTrf, агент производительности сервера AgPwr, агент взаимодействия с пользователем AgUsr, агент сборки мусора AgGbr.



Агент имитационного моделирования (AgSim) - незамкнутая система дискретно-событийного имитационного моделирования, состоящая из списка будущих событий (СБС), списка текущих событий (СТС), списка моделей, списка сущностей и обработчика событий.

Агент репликации модели (AgRep) копирует GPSS-модель во внутреннем формате (модель, сущности) для данной сессии с одного SS на другой. На каждом сервере хранится своя копия GPSS-модели, и далее при балансировке нагрузки передаются только маркеры начала и конца обработки. Задача этого агента состоит в том, чтобы реплицировать новую модель или обновить существующую модель на как можно большем количестве серверов в кластере. Возникновение конфликтов, когда два агента пытаются реплицировать одну и ту же модель исключается использованием алгоритма двухфазного подтверждения 2PC [7].

Агент производительности сервера (AgPwr) периодически оценивает загруженность процессора и размеры СБС, СТС, входящей и выходящей очередей агента приёма-передачи сообщений. При размере списков больше пороговых происходит неотложный запуск агентов AgSnc и (или) AgSpl.

Агент разделения нагрузки (AgSpl) распределяет нагрузку среди серверов в кластере в зависимости от структуры GPSS-модели (статический анализ) и нагрузки серверов, полученной от агента AgPwr (динамический анализ). Также на агент разделения нагрузки возложена задача переконфигурации кластера в случае отказа одного из серверов или подключения нового сервера в кластер.

Основными задачами агента синхронизации (AgSnc) являются глобальное управление выполнением имитаций и поддержание непротиворечивости имитаций в точках сохранения.

В системе OpenGPSS используется оптимистический подход синхронизации [8]. Агент AgSnc используется как механизм глобального контроля, работает с глобальным виртуальным временем каждой сессии, которое используется для “безопасного” уменьшения списков входящих и исходящих сообщений агента AgTrf, СБС. Проблема единственности глобального агента AgSnc решается с помощью алгоритма голосования “забияки” [7].

Непротиворечивость имитаций в точках сохранения необходима для обеспечения отказоустойчивости модели, в случае отказа одного из серверов информация оказывается продублированной на остальных. Работа агента защищена от сбоев – используется распределенная транзакция с двухфазным подтверждением 2PC [7].



Агент приёмо-передачи сообщений (AgTrf) обеспечивает приём-передачу сообщений между серверами и поддержание целостности системы относительно модельного времени.

В системе используется оптимистический подход синхронизации событий, и в качестве алгоритма синхронизации используется модифицированный алгоритм виртуального времени (TimeWrap) Джефферсона [8] с временным окном, при этом проблема восстановления состояния сервера при откате решается средствами СУБД Oracle.



Агент взаимодействия с пользователем (AgUsr) ответственен за взаимодействие системы с пользователями. Транслирует текст GPSS-программы [9] во внутренний формат системы (строки модели, сущности), а далее заносит в список заданий (job) сервера [10] новую задачу проведения имитации. После окончания моделирования по запросу пользователя агент AgUsr генерирует стандартный отчет.

Агент сборки мусора (AgGbr) предназначен для удаления неиспользуемых моделей. Когда агент AgPwr определяет небольшую загрузку сервера, запускается агент AgGbr, который удаляет завершившиеся имитации и их статистики на каждом сервере после заданного времени ожидания.

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

Список ссылок.

  1. SPEEDES. http://www.speedes.com/

  2. Mascarenhas E., Knop F., Vernon R. ParaSol: A multithreaded system for parallel simulation based on mobile threads. Winter Simulation Conference 1995.

  3. Шрайбер Томас Дж. Моделирование с использованием GPSS. - М.: Машиностроение, 1980.

  4. Воеводин В. В., Воеводин В. В. Параллельные вычисления. Научное издание. BHV. - СПб. ISBN 5-94157-160-7.

  5. Киевский Центр Имитационного Моделирования. http://www.simulation.kiev.ua/index.htm

  6. Wooldridge M., Jennings R. Intelligent Agents: Theory and Practice. Knowledge Engineering Review, Jan 1995.

  7. Таненбаум Э., Стеен ван М. Распределенные системы. Принципы и парадигмы. – СПб.: Питер, 2003. – 877 с.: ил. ISBN 5-272-00053-6.

  8. Richard M. Fujimoto. Parallel And Distributed Simulation Systems. Wiley, 2000, ISBN 0-471-18383-0.

  9. Ахо Альфред, Сети Рави, Ульман Джеффри. Компиляторы: принципы,технологии, инструменты".: Пер. с англ. - М.: Издательский дом "Вильямс", 2001. - 768 c.: ил. - Парал. тит. англ. ISBN 5-8459-0189-8 (рус.)

  10. Кайт Том. Oracle для профессионалов. Книга 2. Расширение возможностей и защита: Пер. с англ. ДиасофтЮП, 2003. - 848 с. ISBN 966-7992-24-1.




База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница