Современная методология исследования сложных систем основана на развитии и широком применении методов моделирования. Моделирование в общенаучном смысле – это мощное средство научного познания природы и воздействия на нее. В конкретно-научном смысле моделирование – это замещение некоторого объекта А (оригинала) другим объектом В (моделью). Под моделями в широком смысле этого слова понимают сооружения, установки, устройства, различные комбинации элементов сооружения или сумму логических представлений, воспроизводящих явления или группу явлений, подобных изучаемым. Цель замещения одного объекта другим в получении информации о важнейших свойствах объекта-оригинала с помощью объекта-модели [1].
Формализующая процессы обработки данных в рамках компьютерных технологий моделирующая среда, в которой реализуется информационная модель, замыкает на себе прямые и обратные информационные связи между объектом исследования и аппаратом управления, а также вводит в систему и выводит из нее внешние информационные потоки. Функционально структура моделирующей среды обеспечивает: сбор и регистрацию данных; подготовку информационных массивов; обработку, накопление и хранение данных; построение имитационной модели; формирование результатной информации; передачу данных от источников возникновения к месту обработки, а результатов (расчетов) – к потребителям информации для принятия управленческих решений.
Моделирующая среда включает подсистемы обеспечения и технологического процесса. Технологическое обеспечение состоит из подсистем, автоматизирующих информационное обслуживание пользователей, а также решение задач с применением ЭВМ и других технических средств управления в установленных режимах работы. Элементы подсистемы технологического процесса по составу должны быть однородными. Однородность позволяет реализовать принцип совместимости систем в процессе их функционирования. Подсистема обеспечения, как правило, включает информационное, лингвистическое, техническое, программное, математическое, правовое, организационное и эргономическое обеспечение. Поэтому, рассматривая технологию как элемент системы, предназначенный для проведения вычислительного эксперимента, необходимо отметить, что главная отличительная особенность технологии заключается в том, что в состав как реализуемой, так и реализующей подсистем входит моделирующая среда, отображенная на информационное пространство. Новый подход к формированию моделирующей среды основан на программно-аппаратном принципе построения системы моделирования, позволяет решать задачи построения, исследования и сопровождения проектов глобальных и локальных сетей. Комплекс дает возможность осуществлять имитационное моделирование, например, локальных вычислительных сетей различной топологии, работающих по различным сетевым стандартам и протоколам. В отличие от аналитического имитационное моделирование снимает большинство ограничений, связанных как с возможностью отражения в моделях реального процесса функционирования исследуемой ЛВС, так и динамической взаимной обусловленности текущих и последующих событий. При этом реализуется комплексная взаимосвязь между параметрами и показателями эффективности системы. Предлагаемый подход основан на реализации основных компонентов модели аппаратно (мнемонические схемы представлены на рисунках 1 и 2) и программно с помощью интерфейсной части (рис. 3). Основные достоинства данного подхода в том, что он позволяет достичь практически неограниченного параллелизма за счет наращивания аппаратуры, что дает возможность моделировать сеть в режиме реального времени [2].
Важное преимущество программно-аппаратного способа построения имитационных моделей в возможности достижения полного совпадения модели с объектом. Имитационные модели представляют собой описание объекта исследования на неком языке, которое имитирует элементарные явления, составляющие функционирование исследуемой системы, с сохранением их логической структуры, последовательности протекания во времени, особенностей и состава информации о состоянии процесса.
Элементами моделирования выступают конкретные объекты сети (компьютер, кабель, коммутатор, маршрутизатор). Каждый из элементов модели имеет ряд настраиваемых параметров (входные данные для моделирования):
· интенсивность исходящего трафика (Кб/с) (среднее количество информации, передаваемое устройством в выходной канал);
· максимальную ширину входного канала (Кб/с) (максимальное количество информации, которое может быть получено из канала связи);
· пропускную способность канала связи (Кб/с) (максимальное количество информации, которое может быть передано за единицу времени);
· длину кабеля (м);
· величину буфера (для коммутаторов и маршрутизаторов);
· различные алгоритмы коммутации, их влияние на работу сети в целом (например store-and-forward).
Модель позволяет получать и анализировать следующую статистику (рис. 4, 5):
- среднее время обслуживания заявки, в течение которого прибор занят обслуживанием;
- загрузку устройства (вероятность того, что прибор занят обслуживанием);
- число входящих/исходящих кадров/пакетов/байт;
- длину очереди (количество заявок, находящихся на обслуживании);
- среднее время ожидания свободного прибора;
- среднее время задержки, связанное с распространением сигнала, промежуточной обработкой в центрах коммутации и т.д. при прохождении пакета по сети;
- потери в каналах связи и сетевых устройствах (могут быть вызваны перегрузкой, выходом устройств из строя, неверным подбором сетевого оборудования).
С помощью предлагаемой модели можно проанализировать различные режимы работы сети при задании тех или иных входных данных. Среди них особое значение имеют следующие:
- нормальный режим работы, при котором сеть функционирует;
- коллапс сети, то есть прекращение работы, вызванное избыточными коллизиями;
- выход устройства (или его части) из строя;
- режим перегрузок, анализ пиковой производительности сети.
С точки зрения реализации аппаратной части модель – это однородная вычислительная среда (ОВС), настроенная на решение конкретной задачи. ОВС имеет матричную структуру, состоящую из унифицированных вычислительных ячеек (ВЯ). Каждая ВЯ способна совмещать в себе служебные функции (транзитная передача данных без обработки) и реализацию собственно модели того или иного сетевого устройства.
ВЯ представляют собой законченные модули, выполняющие функции специализированных процессорных элементов (рис. 6). Рассмотренные элементы обрабатывают поступающие на их входы данные (операнды), а также перенаправляют информационные потоки по заданному алгоритму.
В структурной схеме ВЯ (рис. 7) блок обработки данных – конкретная модель, элемент, оборудование, выполняющее целевые функции. Среди таких функций генерация сообщений по заданному протоколу, подсчет контрольной суммы IP-пакета или обработка статистики по пришествии транзакта. Коммутатор выполняет вспомогательные функции и служит для управления потоком вычислений. Обрабатывая служебные данные, содержащиеся в пакете (входной поток), коммутатор определяет следующий выходной порт, разбивая таким образом исходный входной поток на множество выходных.
Весь входной поток поступает на обработку разборщику пакетов. Он извлекает служебную информацию и определяет, какая статистика может быть накоплена при пришествии данного пакета (рис. 8). Служебная информация также говорит о том, на какой выходной порт коммутатора должен быть передан данный транзакт. Разборщик пакетов удаляет часть служебной информации, относящейся к данному узлу коммутации, и перенаправляет пакет в соответствии с полученными сведениями.
Генератор транзактов вводит в модель новые данные. Его основными настройками являются частота генерации, время ожидания порождения нового пакета, а также модель пакета со служебными данными, необходимыми для дальнейшей коммутации. Блок моделирования задержки реализует чувствительность модели к таким физическим характеристикам, как параметры кабеля, задержки в центрах коммутации или потери данных.
Особого внимания заслуживают блоки сбора и накопления статистики и память настроек. Они имеют сугубо служебное назначение и управляются с помощью интерфейсной программы.
Организация вычислительного процесса состоит в наложении модели задачи на модель вычислителя. При этом программирование ОВС состоит в задании параметров генерации транзактов, содержащих микрокоманды задания коммутации трасс. В среде используется регистровая коммутация, то есть информация от одной ячейки к другой передается не по шинам, а по регистровым структурам. По этим регистровым каналам последовательно с тактовой частотой перемещается вся служебная информация. Любой процесс, в том числе протекающий в вычислительной сети N, и любую задачу можно описать в форме некоторого графа G(Q,X) (рис. 9).
Граф G(Q, X) содержит множество вершин qiÎQ, каждой из которых приписана некоторая операция Oi, принадлежащая множеству допустимых операций O. Дуги x(qi, qi+1)ÎX определяют последовательность выполнения операций, приписанных вершинам графа G(Q, X), причем, если две вершины qi и qi+1 соединены дугой x(qi, qi+1), то это означает, что результат операции Oi служит входными данными для операции Oi+1. Граф G(Q, X) имеет также множество входных дуг x(q0, q), определяющих источник входных данных, и выходных дуг x(qi, qk), определяющих приемник результатов ее решения. Граф G(Q, X) назовем информационным, или графом алгоритма решения задачи.
При моделировании процессов, происходящих в системе S, с помощью ОВС в последней организуется соответствующий вычислительный процесс, который описывается при помощи совершенно иного графа (рис. 10).
Множество вершин Q* определяется множеством процессоров вычислительной системы. Множество дуг X* – множество каналов коммутации между процессорами. При этом выходные и входные дуги графа G*(Q*, X*) определяются каналами связи с источником входных и приемником выходных данных. Операции Oi из множества O реализуются в процессорах вычислительной системы в форме последовательных процедур обработки данных. Следовательно, задача настройки ОВС под решения конкретной задачи состоит в поиске отображения графа задачи на граф вычислительной среды.
Таким образом, разработанная среда моделирования является системой, так как представлена в виде упорядоченной пары множеств: множество соответствующих элементов, удовлетворяющих принципам целостности и эмерджентности, и множество отношений между этими элементами, определяющих структуру вычислительной среды. При этом обобщенное представление вычислительного эксперимента как системы по своей природе носит междисциплинарный характер, при проведении которого используются самые разные методы и подходы, от качественного анализа нелинейных математических моделей до современных языков программирования. Это позволяет на основе накопленного опыта математического моделирования, реализованных вычислительных алгоритмов и программного обеспечения быстро и эффективно решать новые задачи. Поэтому, характеризуя вычислительный эксперимент в целом, чрезвычайно важно отметить его универсальность, которая позволяет легко переносить эту технологию на исследование других объектов. Универсальность – одна из важнейших концепций современной науки. Ее самое известное физическое проявление – виртуальная реальность, область технологии, которая обсуждалась в течение многих десятилетий, но начинает развиваться только сейчас.
Литература
1. Блехман И.И., Мышкис А.Д., Пановко Я.Г. Механика и прикладная математика. М.: Наука, 1990.
2. Реконфигурируемые мультиконвейерные вычислительные структуры / И.А. Каляев [и др.]. Р-н-Д, Изд-во ЮНЦ РФН, 2008.
3. Тихомиров В.А., Карпов И.А., Тихомирова Е.В. Системный подход к интеграции информационных ресурсов в концепцию математического моделирования // Программные продукты и системы. 2008. № 1. С. 4–7.
4. Тихомиров В.А., Тимофеев С.Г., Тихомирова Е.В. Система автоматизированного проектирования (САПР) аппаратно-программного обеспечения, ориентированного на языки программирования аппаратуры (HDL) // Вест. ТГТУ, 2008. Вып. 13. С. 171–176.