Системный подход к интеграции компонентов моделирующей среды

УДК 004.942

СИСТЕМНЫЙ ПОДХОД К ИНТЕГРАЦИИ КОМПОНЕНТОВ МОДЕЛИРУЮЩЕЙ СРЕДЫ

В.А. Тихомиров, д.т.н.; С.Г. Тимофеев; Е.А. Васильченко

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

Ключевые слова: система моделирования, системный подход, ПЛИС.

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

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

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

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

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

Рис. 1. Мнемоническая схема аппаратной части

Рис. 2. Мнемоническая схема узла

Рис. 3. Внешний вид приложения

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

Элементами моделирования выступают конкретные объекты сети (компьютер, кабель, коммутатор, маршрутизатор). Каждый из элементов модели имеет ряд настраиваемых параметров (входные данные для моделирования):

• интенсивность исходящего трафика (Кб/с) (среднее количество информации, передаваемое устройством в выходной канал);

• максимальную ширину входного канала (Кб/с) (максимальное количество информации, которое может быть получено из канала связи);

• пропускную способность канала связи (Кб/с) (максимальное количество информации, которое может быть передано за единицу времени);

• длину кабеля (м);

величину буфера (для коммутаторов и маршрутизаторов);

• различные алгоритмы коммутации, их влияние на работу сети в целом (например &1огв-апё-/огл>агё).

Модель позволяет получать и анализировать

следующую статистику (рис. 4, 5):

- среднее время обслуживания заявки, в течение которого прибор занят обслуживанием;

- загрузку устройства (вероятность того, что прибор занят обслуживанием);

- число входящих/исходящих кадров/пакетов/байт;

- длину очереди (количество заявок, находящихся на обслуживании);

- среднее время ожидания свободного прибора;

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

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

Рис. 4. Графическое представление статистической информации

Рис. 5. Шкала статистических данных, отражающая их динамику во времени

устройств из строя, неверным подбором сетевого оборудования).

С помощью предлагаемой модели можно проанализировать различные режимы работы сети при задании тех или иных входных данных. Среди них особое значение имеют следующие:

- нормальный режим работы, при котором сеть функционирует;

- коллапс сети, то есть прекращение работы, вызванное избыточными коллизиями;

- выход устройства (или его части) из строя;

- режим перегрузок, анализ пиковой производительности сети.

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

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

Рис. 6. Структура ОВС

N Блок обработки данных

1 Входной пот ок ">

Коммутатор

Рис. 7. Структурная схема ВЯ

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

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

Память настроек

Входной поток

Генератор транзактов

Разборщик пакетов

Моделирование задержки

Установка настроек

^^ Коммутатор

-1/

статистики

Накопление статистики

Рис. 8. Направление информационных потоков внутри ВЯ

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

Особого внимания заслуживают блоки сбора и накопления статистики и память настроек. Они имеют сугубо служебное назначение и управляются с помощью интерфейсной программы.

Организация вычислительного процесса состоит в наложении модели задачи на модель вычислителя. При этом программирование ОВС со-

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

q1 --

( O2 ) \ Г^Л q3

q8 V'"''1 O4 )

( O1 ) q7 \ \O5J \/

( O6 ) q4

O8 ) V/ . / \ v°Va q6 / \

O7 )

qs z^- / Д O10 V^ q5

( 09 ) ^—^

V^ q5

Рис. 9. Информационный граф задачи

Граф С(0, X) содержит множество вершин qieQ, каждой из которых приписана некоторая операция Оь принадлежащая множеству допустимых операций О. Дуги x(qi, qi+1)eX определяют последовательность выполнения операций, приписанных вершинам графа X), причем, если две вершины qi и qi+1 соединены дугой х^, qi+1), то это означает, что результат операции Oi служит входными данными для операции Ом. Граф X) имеет также множество входных дуг х^0, q), определяющих источник входных данных, и выходных дуг х^, qk), определяющих приемник результатов ее решения. Граф X) назовем информационным, или графом алгоритма решения задачи.

При моделировании процессов, происходящих в системе 8, с помощью ОВС в последней организуется соответствующий вычислительный процесс, который описывается при помощи совершенно иного графа (рис. 10).

Множество вершин О* определяется множеством процессоров вычислительной системы. Множество дуг X* - множество каналов коммутации между процессорами. При этом выходные и входные дуги графа О*(0*, X*) определяются каналами связи с источником входных и приемником выходных данных. Операции Oi из множества О реализуются в процессорах вычислительной системы в форме последовательных процедур обработки данных. Следовательно, задача настройки ОВС под решения конкретной задачи состоит в

поиске отображения графа задачи на граф вычислительной среды.

Процессоры

Q0* Q1* Q4* Qk*

— Q2* Q5* -

X Q3* Q6*

Источники Приемники

информации

Рис. 10. Граф вычислительного процесса в системе

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

Литература

1. Блехман И.И., Мышкис А.Д., Пановко Я.Г. Механика и прикладная математика. М.: Наука, 1990.

2. Реконфигурируемые мультиконвейерные вычислительные структуры / И.А. Каляев [и др.]. Р-н-Д, Изд-во ЮНЦ РФН, 2008.

3. Тихомиров В.А., Карпов И.А., Тихомирова Е.В. Системный подход к интеграции информационных ресурсов в концепцию математического моделирования // Программные продукты и системы. 2008. № 1. С. 4-7.

4. Тихомиров В.А., Тимофеев С.Г., Тихомирова Е.В. Система автоматизированного проектирования (САПР) аппаратно-программного обеспечения, ориентированного на языки программирования аппаратуры (HDL) // Вест. ТГТУ, 2008. Вып. 13. С. 171-176.