Реферат: От последовательного моделирования в системе gpss\World к распределённому моделированию в Opengpss
УДК 004.94
Диденко Д.Г. , ассистент кафедры
От последовательного моделирования в системе GPSS\World к распределённому моделированию в OpenGPSS.
В статье рассмотрены различные аспекты проведения экспериментов в дискретно-событийных системах GPSS/PC, GPSS\World и OpenGPSS, сравниваются их качественные и количественные результаты работы. Предложен подход разделения эксперимента на независимые части для параллельного выполнения на узлах кластера с последующей сборкой результатов, который приводит к повышению производительности системы или уменьшению времени моделирования и при этом не влияет на правильность конечных результатов.
^ Didenko Dmitry Georgievitch
From serial simulation in system GPSS\World to distributed simulation in OpenGPSS.
The report deals with questions of computing experiment in distributed discrete-event simulation systems GPSS/PC, GPSS\World and OpenGPSS, their high-quality and quantitative job performances are compared. The problems of experiment distribution by independent part, deployment this part on cluster node, parallel execution and result assembles and here does not influence on the rightness of end-point also were labored in the report.
Введение
Имитационное моделирование – один из важных методов анализа различных сложных систем. Сегодня вместе с ростом производительности и стоимости современных компьютерных систем возникают новые требования к системам имитационного моделирования – увеличение скорости получения результатов моделирования, для чего можно использовать распределённые системы имитационного моделирования, которые рассмотрены в книгах [1, 2]. Существует много реализаций распределённых систем и систем тиражирования экспериментов (например, Triad.Net), но, к сожалению, они не охватывают разработчиков, которые работают с широко распространённым языком имитационного моделирования GPSS [3]. С другой стороны, система GPSS\World [4] использует язык GPSS и имеет большую функциональность, но не может работать в распределённом режиме. Поэтому, исходя из важности повышения скорости моделирования уже построенных GPSS-моделей, была разработана новая распределённая дискретно-событийная онлайн-система моделирования OpenGPSS (http://www.simulation.kiev.ua). В докладе рассмотрены проблемы перенесения и модификации GPSS-программ из системы GPSS\World в систему OpenGPSS для повышения производительности. Рассматриваемые вопросы начали обсуждаться в [5], но там сравнивалась работа только двух систем имитационного моделирования.
^ Последовательное имитационное моделирование
Рассмотрим типовой вычислительный эксперимент на языке GPSS, который моделирует работу одноканальной системы массового обслуживания (СМО) с очередью (табл. 1).
Таблица 1. Текст тестовой GPSS-программы
^ Команды GPSS
GENERATE 10,5
QUEUE QUE1
SEIZE PRIB1
DEPART QUE1
ADVANCE 15,5
RELEASE PRIB1
TERMINATE
GENERATE 5000
TERMINATE 1
START 1
Система OpenGPSS имеет агентную архитектуру [6, 7] и может работать как в простом последовательном режиме (используется только один узел моделирования), так и в распределённом режиме (используется два или больше узла моделирования), который детально формализован в роботе [8] и реализованный в [9, 10]. Проведем компьютерные прогоны тестовой GPSS-программы в трёх системах моделирования: GPSS\PC, GPSS\World и OpenGPSS (табл. 2). Система OpenGPSS в последовательном режиме работает только с одним узлом (табл. 2, 1 узел).
^ Таблица 2. Сравнение результатов моделирования
Показатель
Расшифровка
GPSS\PC
GPSS
World
OpenGPSS
(1 узел)
OpenGPSS
(2 узла)*
OpenGPSS
(3 узла)*
Модельное время
Модельное время
5000
5000
5000
5000
5000
FR$PRIB1
Коэффициент использования устройства
997
999
997
998
998
FC$PRIB1
Число входов в устройство
338
334
331
341
338
FT$PRIB1
Среднее время использования устройства
14
15
15
14
14
Q$QUE1
Длина очереди
168
167
161
162
158
QA$QUE1
Средняя длина очереди
80
81
79
82
77
QM$QUE1
Максимальная длина очереди
169
167
162
162
159
QC$QUE1
Общее число входов в очередь
506
502
492
503
506
QZ$QUE1
Число нулевых входов в очередь
2
1
1
1
1
* - работа системы моделирования в распределённом режиме, показаны среднеарифметические значения для всех узлов.
После сравнения результатов моделирования делаем вывод, что они немного различны, потому что в каждой системе моделирования используются разные датчики псевдослучайных чисел (ДПЧ).
^ Распределённое имитационное моделирование
Система OpenGPSS использует автоматическое распределение GPSS-программ.
Для того, чтобы система OpenGPSS начала почала работать в распределённом режиме тиражирования, изменим тестовую GPSS-программу – добавим команды управления имитационным экспериментом и получим модифицированную GPSS-программу (табл. 3). Полный текст используемых GPSS-программ можно найти в [11].
Таблица 3. Текст модифицированной GPSS-программы для GPSS\World
^ Команды GPSS
GENERATE 10,5
QUEUE QUE1
SEIZE PRIB1
DEPART QUE1
ADVANCE 15,5
RELEASE PRIB1
TERMINATE
GENERATE 5000
OPEN ("RES.TXT"),1,ERROR_BLOCK
WRITE FR$PRIB1,1,Done
WRITE FC$PRIB1,1,Done
WRITE FT$PRIB1,1,Done
WRITE Q$QUE1,1,Done
WRITE QA$QUE1,1,Done
WRITE QM$QUE1,1,Done
WRITE QC$QUE1,1,Done
WRITE QZ$QUE1,1,Done
WRITE QT$QUE1,1,Done
WRITE QX$QUE1,1,Done
CLOSE ,1,ERROR_BlOCK
TERMINATE 1
ERROR_BLOCK TERMINATE 1
CLEAR
RMULT 1,2,8,5,8,2,8
START 1,NP
CLEAR
RMULT 5,1,6,6,7,1,1
START 1,NP
CLEAR
RMULT 2,2,5,2,8,9,3
START 1
То есть вместо того чтобы запускать программу моделирования много раз как раньше, будем выполнять компьютерные прогоны с помощью команд управления START, CLEAR и RMULT. Промежуточные результаты статистики для устройства PRIB1 и очереди QUE1 будем сохранять в файле RES.TXT командой WRITE в GPSS\World (аналог команды RESULT в OpenGPSS и GPSS\PC).
С помощью команды RMULT устанавливаются начальные значения для всех ДПЧ. Команда START запускает вычислительный эксперимент. В GPSS-программе можно несколько раз использовать команду START, для получения промежуточных результатов моделирования. Команда CLEAR очищает всю статистику системы и удаляет все транзакты из модели. После выполнения команды CLEAR вся система, кроме ДПЧ, находится в начальном состоянии. Команда WRITE (RESULT) заносит результаты моделирования во временный буфер результатов, для сохранения значений и последующего анализа.
^ Увеличение скорости моделирования
Рассмотрим, как количество транзактов в модели влияет на скорость моделирования, для чего в нашей последней GPSS-программе в строке вместо блока «GENERATE 5000» будем использовать «GENERATE 100000», «GENERATE 200000»…«GENERATE 1000000». Все эксперименты будем проводить для разного количества узлов кластера. Результаты проведения экспериментов показаны на рис. 4. По оси абсцисс отложены значения модельного времени, а по оси ординат астрономическое время моделирования в секундах.
Системы моделирования GPSS\PC и GPSS\World последовательные и работают только на одном компьютере. Причем кривая для системы GPSS\PC обрывается из-за того, что рассматриваемая модель с большим количеством транзактов не запускается по причине выдачи ошибки о нехватке памяти (это связано с 16-битностью программы).
Скорость работы системы GPSS\World на начальных участках графика при небольшом количестве транзактов примерно одинаковая. Далее при увеличении транзактов, астрономическое время моделирования резко увеличивается.
Рис.4. Сравнение скорости моделирования
На работу системы OpenGPSS при последовательном моделировании (используется только один узел) в начале графика сильно влияет наличие накладных расходов для инициализации (начала работы) системы – разделение частей моделирования на узлы кластера. Астрономическое время моделирования для системы с двумя узлами «приблизительно» такое же как и для одного узла, потому что GPSS-программа содержит три независимых сегмента (три команды управления START), из-за чего один из узлов вынужден ждать другой узел пока тот последовательно моделирует два сегмента. Скорость увеличивается, но совсем не в два раза. Тренд, который отображает время для трёх узлов системы моделирования OpenGPSS на модельном времени 1 млн. ед. опережает систему GPSS\World, потому что все три сегмента вычисляются на отдельных узлах.
4. Заключение
Из доклада делаем вывод, что системы GPSS\PC, GPSS\World и OpenGPSS на одинаковых GPSS-программах выдают «приблизительно» одинаковые результаты в последовательном и распределённом режимах проведения эксперимента. Для того чтобы получить более точные результаты необходимо увеличение числа прогонов модели. Полученные результаты подтверждают возможность прозрачного автоматического разделения эксперимента на независимые части для ускорения процесса моделирования. Скорость моделирования растет с увеличением количества узлов кластера, что стаёт заметным при наличии уже трёх узлов. В случае независимых входных экспериментов система работает в режиме тиражирования: сегменты моделирования автоматически разделяются между вычислительными узлами, проводятся параллельные вычисления, а потом собираются результаты. Далее перспективным могут быть исследования оптимизации работы кластера и построения большого кластера из 16-32 вычислительных узлов.
Список ссылок
1. Замятина Е.Б. Современные теории имитационного моделирования: Специальный курс. – Пермь: ПГУ, 2007. – 119 с.
2. Richard M. Fujimoto. Parallel And Distributed Simulation Systems. Wiley, 2000.
3. Шрайбер Томас Дж. Моделирование с использованием GPSS. – М.: Машиностроение, 1980. – 593 с.
4. Бражник А.Н. Имитационное моделирование: возможности GPSS WORLD. - СПб.: Реноме, 2006. - 439 с.
5. Диденко Д.Г. Сравнение скорости проведения экспериментов в системах имитационного моделирования OpenGPSS и GPSS/PC // XI Мiжнародна науково-технічна конференція "Системний аналіз та iнформацiйнi технології" (САIТ-2009), м. Київ. - 2009. - С.485-486.
6. Томашевский В.Н., Диденко Д.Г. Агентная архитектура распределенной дискретно-событийной системы имитационного моделирования OpenGPSS. Системні дослідження та інформаційні технології. № 4, 2006. – К.: ВПК “Політехніка”, 2006. С.123–133.
7 Диденко Д.Г. Взаимодействие агентов в распределенной дискретно-событийной системе имитационного моделирования OpenGPSS // Третья всероссийская научно-практическая конференция «Имитационное моделирование. Теория и практика» (ИММОД-2007), г. Санкт-Петербург. - 2007. - т.1 - С.272-276.
8. Диденко Д.Г. Тиражирование независимых сегментов вычислительного эксперимента в распределенной дискретно-событийной системе имитационного моделирования OpenGPSS // Друга науково-практична конференція з міжнародною участю "Математичне та імітаційне моделювання систем МОДС'2007", м. Київ. - 2007. - С.157-160.
9. Діденко Д.Г. Реалізація тиражування обчислювального експерименту в розподіленій системі моделювання OpenGPSS. – Наукові вісті – К. 2007. – № 5. С. 49-53.
10. Дiденко Д.Г. Реплiкацiя в розподiленiй дискретно-подiйнiй системі iмiтацiйного моделювання OpenGPSS // X Мiжнародна наукова практична конференція "Iнформацiйнi технології в економiцi, менеджменті i бiзнесi. Проблеми науки, практики i освіти, м. Київ. - 2006. - С.135-139.
11. Дiденко Д.Г. Особливості переходу від послідовного моделювання у системі GPSS\World до розподіленого моделювання у системі OpenGPSS. // IV науково-практична конференція з міжнародною участю "Математичне та iмiтацiйне моделювання систем. МОДС'2009". - Київ. - 2009. - С.197-201.
еще рефераты
Еще работы по разное
Реферат по разное
Университет Опыт «языкового погружения»
18 Сентября 2013
Реферат по разное
Современный подход к диагностике и лечению школьной дезадаптации с использованием Системных Продуктов Здоровья компании витамакс
18 Сентября 2013
Реферат по разное
Труды V всероссийской научно-технической конференции "нейроинформатика-2003", ч. 1, с. 211
18 Сентября 2013
Реферат по разное
Геохимическое моделирование процессов внутрипластовой очистки подземных вод от железа и марганца
18 Сентября 2013