Научная статья на тему 'Имитационное моделирование сложных систем'

Имитационное моделирование сложных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
553
160
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
сложная система / имитационное моделирование / параллельные вычисления / балансировка нагрузки

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — С. В. Лукьянец, Д. В. Кривальцевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — С. В. Лукьянец, Д. В. Кривальцевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SIMULATION MODELING OF COMPLEX SYSTEMS

Simulation modeling for complex information searching, manufacturing and transport systems has been examined, using a standard GPSS language and parallel calculations. Most popular load balancing algorithms have been investigated, recommendations for their application being offered. Computer calculations for the aforementioned systems have been performed. Frameworks were validated, for application of both traditional and offered methods to simulate complex systems.

Текст научной работы на тему «Имитационное моделирование сложных систем»

Доклады БГУИР

2011 № 3 (57)

УДК 681.5.015

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СЛОЖНЫХ СИСТЕМ

СВ. ЛУКЬЯНЕЦ, Д.В. КРИВАЛЬЦЕВИЧ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 6января 2011

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

Ключевые слова: сложная система, имитационное моделирование, параллельные вычисления, балансировка нагрузки.

Введение

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

Исследование алгоритмов балансировки нагрузки

Наиболее эффективными и широко применяемыми алгоритмами балансировки нагрузки при организации параллельных вычислений являются [3]:

- ADE - многовекторного обмена размерностью;

- ODE - одновекторного обмена размерностью;

- ADF - усреднения диффузии;

- ODF - усреднения диффузии по оптимальному параметру.

На основе имитационного моделирования с использованием языка GPSS исследована эффективность этих алгоритмов. Анализировались стратегии синхронной и асинхронной, статической и динамической балансировок нагрузки. Установлено, что по скорости балансировки нагрузки в зависимости от числа распределяемых между узлами задач при статической балансировке предпочтительнее алгоритм ODE для синхронной и алгоритм ADF для асинхронной обработки информации. При динамической балансировке алгоритмы ADE и ADF более эффек-

тивны для синхронной обработки; в случаях же асинхронной обработки рассматриваемые алгоритмы равноценны.

Алгоритмическое и программное обеспечение параллельных вычислений

Для информационно-поисковой системы региональной страховой компании, структурная схема которой приведена на рис. 1, характерно большое число условных переходов и зави-

симостей между данными.

Защитный периметр и

система обнаружения Доверенная зона

вторжения

Кластер балансировки нагрузки

Защитный периметр

Кластер балансировки нагрузки

Рис.1. Структурная схема информационно-поисковой системы региональной страховой компании

Транспортная система пивоваренного предприятия, структурная схема которой представлена на рис. 2, содержит несколько независимых циклов и в ней отсутствуют жесткие зависимости по данным.

{ Солодовенный цех

Замачивание и очистка зерна

Проращивание зерна - Сушка зерна

Дробление солода - Солод

Отбивание ростков

Пастеризатор

Варочный цех

Варочный порядок

Водоподготовка

Охлаждение сусла

Контроль качества тары - Разливная машина - Этикетировочная машина > Нанесение акциза

1 1

Мойка тары - Транспортировка тары Термоупаковка Контроль качества

1 1

Прием тары на склад - Распаковка тары Палетизатор - Обмотка стрейч-пленкой

Бродильно-лагерный цех

Дрожжи

Фильтрация

Чистая культура

Цех готовой продукции

Учет - Транспортировка на склад Заводской склад

Л

Региональные склады

Рис.2. Структурная схема транспортной системы пивоваренного предприятия

С учетом отмеченных особенностей этих систем разработаны алгоритмы их имитационного моделирования при организации параллельных вычислений, изображенные на рис. 3 и 4.

Рис. 3. Алгоритм моделирования информационно-поисковой системы

Рис. 4. Алгоритм моделирования транспортной системы

Схема организации паралелльных вычислений показана на рис. 5.

Пользователь

Программа на

GPSS

Транслятор

Балансировщик нагрузки

I

ProActive

Результаты моделирования

Серверы

Рис. 5. Схема организации параллельных вычислений

В соответствии с этой схемой на стадии оптимизации промежуточный код модели приводится к пригодному для распараллеливания виду, далее транслируется в выбранный пользователем целевой язык (в нашем случае - Java), компилируется и передается системе ProActive [4], параметризованной алгоритмом балансировки нагрузки.

Алгоритм балансировки нагрузки изображен на рис. 6.

Начало sum ^ 0

Цикл для jeNt

ж

sum ^ sum + page(i, j)

sum ^ sum +

(r + 1)x d (j) r x buf (i, j)

Конец цикла

i

Вычислить суммарную производительность дисков

f ^

Z",., Dj

i

sum ^ 0

Цикл для j =n

sum ^ sum+load10(j)

Конец цикла

thresholdjo (i) ^ f x sum

Найти *'-ый сервер, где

loadjo (i) < thresholdo (i)

n loadjo (k )

threshold o (k)

Обновить loadjo(i)

!

Передать задачу узлу i

Конец

D

Рис. 6. Алгоритм балансировки нагрузки

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

Модель разбивается на разделы. Разделом может быть хранилище, устройство или блок. Каждый блок языка GPSS оформляется как расширение базового класс-блока.

Компьютерный эксперимент по имитационному моделированию информационно-поисковой и производственно-транспортной систем

Для сопоставления результатов последовательного и параллельного подходов к моделированию проведен ряд тестов на моделях рассматриваеых систем.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Обе модели были протестированы в диапазоне от 100 до 500 тысяч транзактов, циркулирующих в каждой модели. Установлен следующий процесс проведения тестирования: вначале проводилось тестирование модели информационной системы при заданном диапазоне транзактов и организации последовательного моделирования. Затем к модели информационной системы применялись методы организации параллельных вычислений. Тестирование модели транспортной системы произведено дважды. В первом случае использовался стандартный механизм распределения нагрузки системы ProActive, функционирующий по алгоритму циклической диспетчеризации. Во втором случае применялся модуль для системы ProActive, который обеспечивал балансировку нагрузки по алгоритму ADF - наиболее эффективному при данном виде вычислений, как было показано ранее.

При организации последовательных вычислений использовался программный продукт GPSS World.

Для тестирования при организации параллельных вычислений использовался разработанный нами транслятор моделей и система ProActive, параметризованная модулем балансировки нагрузки также собственной разработки.

Параметры загрузки процессоров и объем доступной оперативной памяти измерялись программно при помощи инструмента VTune Performance Analyser и Thread Profiler от компании Intel. Показания производительности считывались один раз в одну секунду и сохранялись в базе данных в автоматическом режиме.

Каждый эксперимент повторялся три раза и использовались усредненные значения ислледуемых величин.

Моделирование информационно-поисковой и производственно-транспортной систем позволило выявить ряд особенностей применения к организации вычислений последовательного и параллельного подходов.

Системы имитационного моделирования тратят фиксированное время на разбор кода модели вне зависимости от типа применяемых вычислений, поэтому усовершенствование способов компиляции моделей представляется нецелесообразным. Для эффективной работы с количеством транзактов более 100 000 системам имитационного моделирования достаточно обеспечить скорость компиляции моделей порядка 10 с, чтобы время компиляции составляло незначительную часть общего времени моделирования.

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

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

Эффективность параллельных вычислений также зависит от используемого алгоритма балансировки нагрузки. Анализ результатов компьютерных экспериментов показал, что стандартный алгоритм циклической диспетчеризации в задачах моделирования способен загрузить вычислительные узлы только на 60-70%, в то время как уровень загрузки процессоров в фазе обсчета модели может достигать 100% при замене стандартного алгоритма балансировки нагрузки алгоритмом ADF.

Сокращение времени моделирования при применении параллельных вычислений показано на рис. 7.

Рис. 7. Зависимость времени моделирования от количества транзактов и реализации системы моделирования

Как следует из этих графиков, применение параллельных вычислений в задачах моделирования сложных систем позволяет сократить время моделирования в 2,5-3 раза.

Заключение

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

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

Сопоставление результатов тестирования систем моделирования при организации последовательных и параллельных вычислений показало, что при сравнительно небольшом количестве обрабатываемых транзактов (100 000-200 000) выигрыш в производительности последнего подхода незначителен, при существенном же их количестве (400 000 - 500 000 и более) скорость моделирования возрастает ощутимо (время моделирования уменьшается до 2,5 раз при 4 узлах сети).

SIMULATION MODELING OF COMPLEX SYSTEMS

S.V. LUKJANETS, D.V. KRIVALTSEVICH

Abstract

Simulation modeling for complex information searching, manufacturing and transport systems has been examined, using a standard GPSS language and parallel calculations. Most popular load balancing algorithms have been investigated, recommendations for their application being offered. Computer calculations for the aforementioned systems have been performed. Frameworks were validated, for application of both traditional and offered methods to simulate complex systems.

Литература

1. Таненбаум Э., Стин М. Распределенные системы. Принципы и парадигмы. СПб., 2003.

2. Замятина E.B., Осмехин K.A. // Известия белорусской инженерной академии. 2005. №1(19). С. 54-55.

3. Ва Sharma S., Singh S., Sharma M. // World Academy of Science, Engineering and Technology. 2008. Vol. 28. С. 269-272.

4. Diekmann R., Monien B., PreisR. Load Balancing Strategies for Distributed Memory Machines.

i Надоели баннеры? Вы всегда можете отключить рекламу.