МОДЕЛЬ СЕТИ ПЕРЕДАЧИ ДАННЫХ ПРИ НАЛИЧИИ НЕСАНКЦИОНИРОВАННЫХ ПРЕРЫВАНИЙ А.С. Крутолапов, кандидат технических наук, доцент; М.А. Иванов; А.К. Абулев. Санкт-Петербургский университет ГПС МЧС России Рассмотрены принципы построения математической модели сети передачи данных в случае несанкционированных прерываний. Предложено при построении модели использовать математический аппарат маркированных потоковых графов. Ключевые слова: процессы информационного обмена, сеть передачи данных, пакет данных, коммуникационный канал, буфер, ориентированный граф, маркированный потоковый граф MODEL OF THE NETWORK OF DATA TRANSMISSION IN THE PRESENCE OF UNAPPROVED INTERRUPTIONS A.S. Krutolapov; M.A. Ivanov; A.K. Abylev. Saint-Petersburg university of State fire service of EMERCOM of Russia Principles of construction of mathematical model of a network of data transmission in the presence of the unapproved data are considered. It is offered to use at model construction mathematical apparatus marked data counts. Key words: processes of an information exchange, data transmission network, a package of the data, communication channel, buffer, focused count, marked data count Распределенный характер процессов информационного обмена (ПИО) определяет неоднородность передаваемых сообщений. Это означает, что процессы могут передавать и принимать данные порциями произвольных размеров. Отсюда возникают и проблемы при моделировании таких ПИО. Цель настоящей статьи предложить модель для проверки возможности преодоления проблем еще на стадии разработки сети передачи данных (СПД). С этих позиций сформулируем свойства, которыми должны обладать модели ПИО в распределенной СПД: поддержка неоднородности неограниченного числа динамически порождаемых процессов, взаимодействующих посредством асинхронной посылки сообщений. Информационный обмен в распределенной СПД связан с возможностью несанкционированных прерываний. Процессы-потребители не могут быть инициированы, не имея достаточного количества требуемых данных от процессов-производителей. Несанкционированные прерывания появляются в результате столкновения процессов или в состоянии их неопределенности. Для обнаружения возможности блокировки необходимо учитывать детальную структуру данных, которыми обмениваются процессы. Это возможно при использовании различных моделей на основе графов [1]. Например, ориентированный граф, каждая вершина которого соответствует некоторому ресурсному семафору S[i], а дуга (S[i], S[j]) с меткой Pk – возможности последовательного выполнения P-операции процессом 67 Pk над семафорами S[i] и S[j]. Наличие в таком графе контура свидетельствовало бы о ситуации столкновения процессов. Состояние неопределенности может возникнуть, если процессам назначаются некоторые приоритеты при доступе к разделяемым ресурсам. Столкновения могут быть обусловлены неудачным выбором алгоритма маршрутизации СПД [2]. Известны две основные стратегии передачи сообщений – это коммутация каналов и коммутация пакетов. Первая стратегия характеризуется тем, что коммуникационные ресурсы (порты и буферы коммутаторов) резервируются заранее, до посылки пакетов данных. Ее недостаток состоит в том, что ресурсы сети могут использоваться неэффективно: пока не завершится передача пакетов, для которых зарезервирован канал, другие пакеты находятся в состоянии ожидания. Этот недостаток преодолевает другая стратегия – коммутация пакетов. В этом случае сообщения разбиваются на пакеты, для передачи которых коммуникационные ресурсы заранее не резервируются. Необходимо предварительное разбиение сообщения в пункте отправления и последующая сборка пакетов в пункте назначения. Состояния столкновения процессов могут быть обусловлены конкуренцией за право обладания портами и буферами СПД. Ситуация столкновения может возникать и в сети с коммутацией каналов (рис. 1). Пары процессов 1, 4 и 2, 3 пытаются обменяться пакетами. Для этого им удается зарезервировать по два входных порта и одному выходному порту каждого из четырех коммутаторов. При одновременной посылке сообщений неизбежно возникает тупик: все четыре процесса ждут, когда освободятся выходные порты коммутаторов. Представленный на рис. 1 случай соответствует статической маршрутизации. Маршрутизация может быть реализована адаптивно, когда общий буферный пул динамически распределяется между входными и выходными портами. Коммутаторы сети учитывают текущий трафик обмена данными. Во избежание ситуаций столкновения целесообразно специальным образом структурировать буферный пул. Рассматриваемые распределенные СПД предприятия используют стратегию передачи данных с коммутацией пакетов. Поэтому дальнейшее обсуждение будет подразумевать именно эту стратегию. Выходной порт Процесс 3 Процесс 1 Выходной порт Коммутаторы сети Процесс 4 Выходной порт Выходной порт Процесс 2 зарезервированные входные и выходные порты незарезервированные выходные порты Рис. 1. Тупик в сети с коммутацией каналов Случаи несанкционированных прерываний ПИО не исчерпываются лишь ситуациями столкновения и голодания. Это проиллюстрировано моделью, на основе SDF-графов 68 (Sinchronous Data Flow) [3]. На рис. 2а приведены примеры SDF-графов, вершины которых обозначают акторы, а маркировка дуг – число производимых и потребляемых ими токенов (элементарных сообщений). Случай, представленный на рисунке 2а соответствует последовательности гнезд циклов. Для однократного срабатывания актора а3 необходимо соответственно 10 и 100 срабатываний акторов a2 и а1. Граф на рис. 2б иллюстрирует случай столкновения: акторы а4, а5 взаимно блокируют друг друга. Пример на рис. 2в представляет так называемый несогласованный SDF-граф: актор а6 при каждом срабатывании производит два токена, передаваемых по дуге (а6, a8), в то время как по дуге (a7, a8) передается один. Нетривиального решения уравнения баланса, дающего целое число срабатываний актора a8, не существует. Ситуацию с актором a8 можно, с одной стороны, интерпретировать как ситуацию голодания по входящей дуге (а7, a8). С другой стороны, имеет место переизбыток данных, передаваемых по входу (а6, a8). 1 a1 10 a2 1 10 a3 a a4 1 1 1 a5 1 a6 1 1 a7 1 2 б 1 a8 1 в Рис. 2. Примеры SDF-графов Для обнаружения возможности несанкционированных прерываний ПИО необходимы адекватные модели, поддерживающие информационные зависимости между процессами и соответствующую структуру данных. SDF-графы не содержат условных ветвлений и альтернативных выборов (слияний) потоков данных. Поэтому, SDF-модели становятся алгоритмически неразрешимыми при введении в них таких конструкций. Невозможно дать ответ на вопрос, существует ли нетривиальное, отличное от нуля решение уравнения баланса. Необходимы модели, поддерживающие недетерминизм ПИО с произвольно структурированными данными, а также имеющие средства предотвращения несанкционированных прерываний при наличии циклов и альтернативных операторов. Проблема реализуемости моделей заключается в согласовании параметров очередей сообщений (входных и выходных буферов). Чтобы учесть допустимые истории процессов, когда ни один из них не блокируется [4]. Для решения этой проблемы возможно использование графов специального вида: маркированных потоковых графов. Рассматриваемые в работе распределенные СПД используют буферный обмен разнородными сообщениями, и в модели также присутствуют буферы. С помощью модели возможно интерпретировать возникновение или отсутствие несанкционированных прерываний при буферном обмене сообщениями. Покажем, как это происходит в рамках модели. Пусть с каждым процессом p свяжем b входных и c выходных буферов сообщений. Входное сообщение представляет собой b-компонентный вектор, i-й компонент которого – это набор операндов-аргументов i-го входного буфера, где i=1,…,b. Число аргументов i-го компонента – ширина буфера ini, и является меткой соответствующей входной позиции вершины графа. Входные сообщения процесса p образуют очередь, длина d которая является глубиной всех b буферов. В каждый из входных буферов процесса p операнды-результаты соответствующих процессов поступают асинхронно, при этом буфер (процесс) переходит в одно из начальных состояний. Процесс p инициируется после формирования полного сообщения из b наборов аргументов. Входная очередь – это массив из bd наборов аргументов, а i-й буфер хранит 69 массив из inid аргументов, где inid может рассматриваться как метка входящей дуги в графе. Выходное сообщение процесса представляет собой c-компонентный вектор, j-й компонент которого – это набор операндов результатов j-го выходного буфера, где j=1,…,c. Число результатов j-го компонента сообщения – ширина буфера outj, и является меткой соответствующей выходной позиции вершины графа. Каждому входному сообщению процесса p соответствует выходное сообщение, так что выходная очередь – это массив из cd наборов результатов, при этом в j-м буфере хранится массив из outjd результатов, где outjd может рассматриваться как метка исходящей дуги графа. Глубина d входных и выходных буферов процесса p присваивается как метка соответствующей вершине графа. Формирование промежуточных и окончательных результатов информационного обмена происходит асинхронно, и появление любого из них переводит буфер (процесс) в одно из особых состояний. Условные ветвления реализуются процессами с одним выходным буфером, который может находиться в одном из заключительных состояний. Ему соответствует определенное значение управляющей переменной процесса, которому передаётся управление. Сформулируем допущения, учитывающие особенности недетерминизма ПИО в распределенных сетях передачи данных: – во-первых, возможны различные истории ПИО для одних и тех же входных сообщений (одно и то же подмножество особых состояний). Формирование выходных сообщений, достигается процессами с разными историями: последовательности появления наборов компонентов одного сообщения могут быть произвольными; – во-вторых, любое из состояний k-го процесса (например, его выходного буфера), где k {1,..., K } , а K – число операторов, может переводить в начальные состояния входов буфера связанных с ним процессов. Положим, dk – глубина буферов процесса pk, k {1,..., K } . Если для любой из альтернатив выполнения ПИО существует набор (d1, d2, …, dK) меток вершин графа, каждый из компонентов которого имеет наименьшее из возможных значение, то в потоковой модели ПИО отсутствуют блокировки. Маркированные потоковые графы позволяют строить модель ПИО, способную учитывать количество, расположение, размеры буферов маршрутизаторов распределенной СПД и связи между ними, а также характер передаваемых сообщений и порядок их обработки. СПД рассматривается как вычислительная сеть, а узлы графа отображают маршрутизаторы, сервера клиентов сети. Сервера рассматриваются также как маршрутизаторы, для которых учитывается порядок обработки сообщений, необходимость входящих сообщений от определенных источников для генерации выходящего сообщения. Это обеспечивается за счет использования в модели альтернативного выбора (слияний) входящих потоков данных (slt-позиций), альтернативных переключений (swh-позиций) и ветвлений (frk-позиций) исходящих потоков данных. При моделировании поведения реальной сети затруднительно или невозможно получить информацию о порядке обработки сообщений серверами. В этом случае она рассматривается именно как сеть передачи данных, сервера – как оконечные устройства, и ширина буферов в модели принимается равной единице. Достоверно можно проанализировать лишь потоки данных только от источника к приемнику, без учета возможных преобразований в серверах. Глубина любого из буферов процесса теоретически не ограничивается. Допускаются бесконечные последовательности наборов входных и выходных сообщений. На практике доступные длины буферов ограничены. На бесконечном потоке сообщений для любой из альтернатив развития процессов существует наименьшая верхняя глубина буферов каждого из процессов, при которой не блокируются связанные с ним процессы. Несанкционированные прерывания не возникают, если на бесконечном потоке входных сообщений при любом возможном развитии процессов для каждой альтернативы 70 существует такая наименьшая неподвижная точка (число сообщений), что композиция процессов может вырабатывать бесконечное число выходных сообщений. Принимаются во внимание возможные сценарии с учетом недетерминизма ПИО, которые обмениваются порциями данных произвольных размеров. Литература 1. Еременко В.Т. Математическое моделирование процессов информационного обмена в распределенных управляющих системах: монография / под общ. ред. проф. И.С. Константинова. М.: Машиностроение, 2004. 224 с. 2. Антонов С.В. Разработка методики и моделей для анализа информационных потоков в сетях обработки информации АСУП с требованиями к качеству обслуживания: дис. … канд. техн. наук. М.: ИПИ РАН, 1997. 154 с. 3. Гришин М.Т. Информатика. Введение в современные информационные и телекоммуникационные технологии в терминах и фактах: энциклопедический словарьсправочник. М.: Физматлит, 2006. 767 с. 4. Олейников А.Я. Технология открытых информационных систем. М.: Янус-К, 2004. 287 с. 71