УДК 004.942
СИСТЕМНЫЙ ПОДХОД К ИНТЕГРАЦИИ КОМПОНЕНТОВ МОДЕЛИРУЮЩЕЙ СРЕДЫ
В.А. Тихомиров, д.т.н.; С.Г. Тимофеев; Е.А. Васильченко
(Тверской государственный технический университет, [email protected]); А.К. Тарасов (НПО «Российские инновационные технологии», г. Тверь)
Рассматривается программно-аппаратный подход к построению имитационной модели вычислительной сети. При этом основные вычисления переносятся на аппаратную часть, а сбор статистики, ее анализ и корректное отображение результатов ложатся на программную интерфейсную часть. Основные достоинства данного подхода в том, что он позволяет достичь практически неограниченного параллелизма за счет наращивания аппаратуры, что предоставляет возможность моделирования сети в режиме реального времени.
Ключевые слова: система моделирования, системный подход, ПЛИС.
Современная методология исследования сложных систем основана на развитии и широком применении методов моделирования. Моделирование в общенаучном смысле - это мощное средство научного познания природы и воздействия на нее. В конкретно-научном смысле моделирование - это замещение некоторого объекта А (оригинала) другим объектом В (моделью). Под моделями в широком смысле этого слова понимают сооружения, установки, устройства, различные комбинации элементов сооружения или сумму логических представлений, воспроизводящих явления или группу явлений, подобных изучаемым. Цель замещения одного объекта другим в получении информации о важнейших свойствах объекта-оригинала с помощью объекта-модели [1].
Формализующая процессы обработки данных в рамках компьютерных технологий моделирующая среда, в которой реализуется информационная модель, замыкает на себе прямые и обратные информационные связи между объектом исследования и аппаратом управления, а также вводит в систему и выводит из нее внешние информационные потоки. Функционально структура моделирующей среды обеспечивает: сбор и регистрацию данных; подготовку информационных массивов; обработку, накопление и хранение данных; построение имитационной модели; формирование результатной информации; передачу данных от источников возникновения к месту обработки, а результатов (расчетов) - к потребителям информации для принятия управленческих решений.
Моделирующая среда включает подсистемы обеспечения и технологического процесса. Технологическое обеспечение состоит из подсистем, автоматизирующих информационное обслуживание пользователей, а также решение задач с применением ЭВМ и других технических средств управления в установленных режимах работы. Элементы подсистемы технологического процесса по составу должны быть однородными. Однородность позволяет реализовать принцип совместимости систем в процессе их функционирования. Подсистема обеспечения, как правило, включает инфор-
мационное, лингвистическое, техническое, программное, математическое, правовое, организационное и эргономическое обеспечение. Поэтому, рассматривая технологию как элемент системы, предназначенный для проведения вычислительного эксперимента, необходимо отметить, что главная отличительная особенность технологии заключается в том, что в состав как реализуемой, так и реализующей подсистем входит моделирующая среда, отображенная на информационное пространство. Новый подход к формированию моделирующей среды основан на программно-аппаратном принципе построения системы моделирования, позволяет решать задачи построения, исследования и сопровождения проектов глобальных и локальных сетей. Комплекс дает возможность осуществлять имитационное моделирование, например, локальных вычислительных сетей различной топологии, работающих по различным сетевым стандартам и протоколам. В отличие от аналитического имитационное моделирование снимает большинство ограничений, связанных как с возможностью отражения в моделях реального процесса функционирования исследуемой ЛВС, так и динамической взаимной обусловленности текущих и последующих событий. При этом реализуется комплексная взаимосвязь между параметрами и показателями эффективности системы. Предлагаемый подход основан на реализации основных компонентов модели аппаратно (мнемонические схемы представлены на рисунках 1 и 2) и программно с помощью интерфейсной части (рис. 3). Основные достоинства данного подхода в том, что он позволяет достичь практически неограниченного параллелизма за счет наращивания аппаратуры, что дает возможность моделировать сеть в режиме реального времени [2].
Важное преимущество программно-аппаратного способа построения имитационных моделей в возможности достижения полного совпадения модели с объектом. Имитационные модели представляют собой описание объекта исследования на неком языке, которое имитирует элементарные явления, составляющие функционирование иссле-
Рис. 1. Мнемоническая схема аппаратной части
Рис. 2. Мнемоническая схема узла
Рис. 3. Внешний вид приложения
дуемой системы, с сохранением их логической структуры, последовательности протекания во времени, особенностей и состава информации о состоянии процесса.
Элементами моделирования выступают конкретные объекты сети (компьютер, кабель, коммутатор, маршрутизатор). Каждый из элементов модели имеет ряд настраиваемых параметров (входные данные для моделирования):
• интенсивность исходящего трафика (Кб/с) (среднее количество информации, передаваемое устройством в выходной канал);
• максимальную ширину входного канала (Кб/с) (максимальное количество информации, которое может быть получено из канала связи);
• пропускную способность канала связи (Кб/с) (максимальное количество информации, которое может быть передано за единицу времени);
• длину кабеля (м);
величину буфера (для коммутаторов и маршрутизаторов);
• различные алгоритмы коммутации, их влияние на работу сети в целом (например &1огв-апё-/огл>агё).
Модель позволяет получать и анализировать
следующую статистику (рис. 4, 5):
- среднее время обслуживания заявки, в течение которого прибор занят обслуживанием;
- загрузку устройства (вероятность того, что прибор занят обслуживанием);
- число входящих/исходящих кадров/пакетов/байт;
- длину очереди (количество заявок, находящихся на обслуживании);
- среднее время ожидания свободного прибора;
- среднее время задержки, связанное с распространением сигнала, промежуточной обработкой в центрах коммутации и т.д. при прохождении пакета по сети;
- потери в каналах связи и сетевых устройствах (могут быть вызваны перегрузкой, выходом
Рис. 4. Графическое представление статистической информации
Рис. 5. Шкала статистических данных, отражающая их динамику во времени
устройств из строя, неверным подбором сетевого оборудования).
С помощью предлагаемой модели можно проанализировать различные режимы работы сети при задании тех или иных входных данных. Среди них особое значение имеют следующие:
- нормальный режим работы, при котором сеть функционирует;
- коллапс сети, то есть прекращение работы, вызванное избыточными коллизиями;
- выход устройства (или его части) из строя;
- режим перегрузок, анализ пиковой производительности сети.
С точки зрения реализации аппаратной части модель - это однородная вычислительная среда (ОВС), настроенная на решение конкретной задачи. ОВС имеет матричную структуру, состоящую из унифицированных вычислительных ячеек (ВЯ). Каждая ВЯ способна совмещать в себе служебные функции (транзитная передача данных без обработки) и реализацию собственно модели того или иного сетевого устройства.
ВЯ представляют собой законченные модули, выполняющие функции специализированных процессорных элементов (рис. 6). Рассмотренные элементы обрабатывают поступающие на их входы данные (операнды), а также перенаправляют информационные потоки по заданному алгоритму.
Рис. 6. Структура ОВС
N Блок обработки данных
1 Входной пот ок ">
Коммутатор
Рис. 7. Структурная схема ВЯ
В структурной схеме ВЯ (рис. 7) блок обработки данных - конкретная модель, элемент, оборудование, выполняющее целевые функции. Среди таких функций генерация сообщений по заданному протоколу, подсчет контрольной суммы /Р-пакета или обработка статистики по пришествии транзакта. Коммутатор выполняет вспомогательные функции и служит для управления потоком вычислений. Обрабатывая служебные данные, содержащиеся в пакете (входной поток), коммутатор определяет следующий выходной порт, разбивая таким образом исходный входной поток на множество выходных.
Весь входной поток поступает на обработку разборщику пакетов. Он извлекает служебную информацию и определяет, какая статистика может быть накоплена при пришествии данного пакета (рис. 8). Служебная информация также говорит о том, на какой выходной порт коммутатора должен быть передан данный транзакт. Разборщик пакетов удаляет часть служебной информации, относящейся к данному узлу коммутации, и перенаправляет пакет в соответствии с полученными сведениями.
Память настроек
Входной поток
Генератор транзактов
Разборщик пакетов
Моделирование задержки
Установка настроек
^^ Коммутатор
-1/
статистики
Накопление статистики
Рис. 8. Направление информационных потоков внутри ВЯ
Генератор транзактов вводит в модель новые данные. Его основными настройками являются частота генерации, время ожидания порождения нового пакета, а также модель пакета со служебными данными, необходимыми для дальнейшей коммутации. Блок моделирования задержки реализует чувствительность модели к таким физическим характеристикам, как параметры кабеля, задержки в центрах коммутации или потери данных.
Особого внимания заслуживают блоки сбора и накопления статистики и память настроек. Они имеют сугубо служебное назначение и управляются с помощью интерфейсной программы.
Организация вычислительного процесса состоит в наложении модели задачи на модель вычислителя. При этом программирование ОВС со-
стоит в задании параметров генерации транзактов, содержащих микрокоманды задания коммутации трасс. В среде используется регистровая коммутация, то есть информация от одной ячейки к другой передается не по шинам, а по регистровым структурам. По этим регистровым каналам последовательно с тактовой частотой перемещается вся служебная информация. Любой процесс, в том числе протекающий в вычислительной сети К, и любую задачу можно описать в форме некоторого графа О(0,Х) (рис. 9).
( O3 | q2
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.