ИССЛЕДОВАНИЕ ХАРАКТЕРИСТИК ПАКЕТНЫХ СЕТЕЙ УЗЛОВЫМ МЕТОДОМ ТЕНЗОРНОГО АНАЛИЗА
(Работа выполнена в рамках гранта Президента Российской Федерации для государственной поддержки
молодых российских ученых МК-20 70.2008.9)
Д.Ю. Пономарев, к.т.н.
(Сибирский федеральный университет, г. Красноярск, дмропТТТ^таИ-ги)
Представлены результаты разработки программной системы для определения вероятностно-временных характеристик пакетных сетей узловым методом тензорного анализа. Разработанная программа определяет загрузку узлов сетей тензорным методом с целью использования полученных результатов для нахождения исследуемых параметров систем: длины очередей, времени задержки в ветвях, вероятности переполнения и стационарных вероятностей состояний для каждой системы.
Ключевые слова: пакетная сеть, вероятностно-временные характеристики, система массового обслуживания, тензорный анализ сетей.
С момента появления сети Арпанет (ARPANET) оценка вероятностно-временных характеристик (ВВХ) является одной из основных задач эксплуатации пакетных сетей и с развитием технологий сетей передачи данных остается актуальной [1]. Исследование ВВХ сети основано на базе IP (Internet Protocol). Это одна из задач развития современных инфокоммуникационных сетей, так как именно данные характеристики позволяют оценить качество обслуживания (QoS - Quality of Service) информационных потоков в сетях. Исследуемыми параметрами при этом являются вероятность потери пакета и занятости мест ожидания в запоминающих устройствах, среднее время задержки пакета в системе, дисперсия времени задержки пакета [2]. Данные характеристики позволяют задать определенный уровень обслуживания для различных видов информационных потоков с целью обеспечения оптимального распределения ресурсов сети.
Однако изменяющаяся структура сети, многовариантность маршрутов передачи информационных потоков, динамическое распределение ресурсов узлов, гетерогенность потоков и прочее усложняют задачу определения ВВХ, а в некоторых случаях приводят к невозможности решения поставленной задачи классическими методами теории систем и сетей массового обслуживания. Учитывая современный подход к построению моделей обеспечения качества обслуживания, связанный с определением уровней приложения и виртуальной сети (с выделением следующих подуровней: независимый от технологии сети, сигнальный подуровень и зависимый от технологии сети), а также с выделением плоскостей управления, приложений и опорной сети, требуется обеспечить решение задачи обеспечения уровня QoS на каждом уровне модели [3, 4].
Кроме того, моделирование процесса обслуживания запросов абонентов условно можно разделить на три этапа: запрос услуги (направление передачи информации от абонента к опорной сети, установление путей передачи информации), предоставление услуги (направление передачи ин-
формации как от абонента, так и к абоненту), завершение предоставления услуги. Следовательно, можно выделить несколько различных сетевых структур, которые в совокупности будут определять общую модель обработки информационных и сигнальных потоков в исследуемой сети.
Рассматривая интерфейсный уровень взаимодействия узлов, любому устройству /Р-сети можно сопоставить модель сети массового обслуживания, каждая система которой будет моделировать отдельный физический интерфейс устройства передачи информации (входной/выходной интерфейс). Рассматриваемый интерфейс можно представить в виде одноканальной системы массового обслуживания с условными потерями, но для большего соответствия реальному объекту можно ограничить число мест ожидания. Пример модели такого устройства представлен на рисунке 1.
На следующем (канальном) уровне можно уже не только рассматривать физические соединения, существующие между узлами, но и учитывать направления передачи к узлам сети. Каждое направление будет задано отдельной системой массового обслуживания, тип которой определяется дисциплиной обслуживания реальной системы обработки информационных потоков. Кроме того, следует
Входные интерфейсы
учитывать, что основные функциональные зависимости (ВВХ) исследуемых показателей являются функциями от загрузки устройств (систем массового обслуживания): |)1101ср,,И'(р) и Тзадаржки=Г(р).
Полученные при расчете значения вероятностно-временных показателей необходимо использовать для получения значений оценок качества обслуживания QoS на следующем сетевом уровне, так как в конкретной реальной сети распределение потоков по узлам не случайное, а подчиняется таблице маршрутизации. На данном уровне также необходимо учитывать и распределение информационных и сигнальных потоков по сети.
Для каждого маршрута можно записать следующие формулы:
т
Р„отерь=1-Х 1 -Р„„,с...... (рассматривая со-
¡=1
вокупность ветвей на маршруте как последовательный граф);
т
Тзадержки= ^ Тзадерядд,,, где ш определяется ¡=1
общим числом систем, составляющих маршрут передачи/обработки (при необходимости можно учесть и наличие обходных маршрутов).
Для всей сети в целом есть смысл определить общее среднее время задержки:
п
Т3адерЖки= X Тзадержки,!, где п - общее количе-¡=1
ство систем в сети.
В настоящей работе использован тензорный подход к задаче определения параметров качества обслуживания в данной сети. Для этого необходимо определить примитивную сеть. Примитивная сеть при узловом методе состоит из незамкнутых обособленных ветвей, ее простейший элемент - ветвь. Уравнение состояния ветви определяется соотношением:
А. = цр, (1)
где р - загрузка системы массового обслуживания (СМО); X - интенсивность поступления сообщений; ц - интенсивность обслуживания в системе [5].
Геометрические объекты примитивной сети: X' - вектор интенсивностей потоков сообщений в ветвях; р' - вектор загрузки систем массового обслуживания; Д' - квадратная матрица, диагональные элементы выражают интенсивности обслуживания пакетов, другие элементы характеризуют взаимное влияние систем друг на друга:
nil И-12
Пи ц22 • •• к.
>С М'п 2 — ^
Эквивалентная система уравнений, описывающих примитивную сеть, в соответствии с (1) будет иметь следующий вид:
К = KiPi + К2Р2 +—+К„Р1
К = niipi + К2Р2 +—+ Уравнения преобразования для узловой сети: P'l = AllPl + A12P2 + —+ Al,„-kP„-k
P'n = AnlPl + A„2P2 + —+ A„,„-kP„-k В матричной форме: p' = Ар, где р- вектор загрузки в исходной сети; А - матрица преобразования; р' - вектор загрузки примитивной сети. При составлении матрицы преобразования A для загрузок ветвей примитивной сети устанавливается соотношение с загрузками в исходной сети, полученные коэффициенты при загрузках исходной сети образуют матрицу A.
Для установления формул преобразования геометрических объектов используется предположение о том, что поток вызовов с одной и той же интенсивностью (X) поступления при неизменной интенсивности обслуживания вызовет одну и ту же загрузку (р) устройств при изменении структуры, и можно считать, что будет выполняться соотношение (инвариант): рХ = р'Х', где переменные со штрихом относятся к одной структуре сети, без штриха - к другой. Вектор интенсивностей потоков сообщений:
X = АТГ . (3)
Матрица значений интенсивностей обслуживания сообщений в системах:
Д = АТД'А- (4)
Примитивная узловая сеть из n ветвей состоит из n незамкнутых обособленных ветвей. Определение компонент геометрических объектов примитивной сети состоит в нахождении векторов X', р' и Д'. Находя соотношение между загрузками ветвей примитивной сети и загрузками в исходной сети, находим матрицу перехода из одной системы координат в другую A. Производя замену уравнения исходной сети X = Др на уравнение
АТХ'= ATjI'A р, (5)
получаем систему линейных уравнений, позволяющую определить загрузки исходной сети, а далее могут быть найдены значения загрузок в ветвях при заданных значениях вероятностей поступления вызовов в отдельные системы массового обслуживания. При известных параметрах устройств с использованием рассчитанных тензорным методом значениях загрузки можно найти параметры QoS для каждого маршрута.
При проектировании или эксплуатации телекоммуникационной сети, работающей на базе
протокола /Р по приведенным теоретическим выкладкам, можно учитывать, как распределять потоки в сети, чтобы каждый поток получил требуемое качество обслуживания. На сегодняшний день в руководящих документах и рекомендациях Международного союза электросвязи для сетей передачи данных по протоколу /Р определены нормы задержек для различных классов обслуживания в службах передачи данных [2].
Для применения тензорного анализа к задаче оценки ВВХ как показателей QoS была создана программная система, реализующая тензорный подход к решению поставленной задачи. В разработанной программной системе используется следующая последовательность этапов анализа сети.
1. Определяется структура примитивной сети и задаются матричные компоненты, описывающие примитивную сеть. Векторы интенсивностей потоков поступления А,' и загрузок р' имеют столько элементов, сколько имеется ветвей, и содержат соответствующие величины для каждой из них.
2. Находится матрица преобразования А. Относительно первого узла в новой сети выбирается к новых независимых узловых загрузок. Для каждой отдельной ветви загрузки примитивной (вспомогательной) сети р' выражаются через узловые загрузки исходной сети р. Коэффициенты при новых загрузках образуют матрицу преобразова-
ляются компоненты матричного уравнения для исходной сети через составляющие инвариантного уравнения для примитивной сети.
благодаря чему можно найти требуемые ВВХ (как по отдельным системам, так и всей сети в целом) и распределение интенсивностей потоков по узлам сети как Хузлов = Дузловрумов.
Рассмотренная последовательность этапов анализа и разработанный теоретический аппарат хорошо формализуются, что позволяет, используя доступные вычислительные и программные средства, обеспечить реализацию тензорного подхода в программной системе. Укрупненный алгоритм работы программной системы представлен на рисунке 2.
Разработанный программный комплекс создан в среде программирования Delphi 7.0 и имеет две
основные рабочие области: «Model» и «Analysis». В области «Model» выполняется построение исследуемой схемы, в «Analysis» вводятся исходные данные и определяются основные характеристики сети. Область «Analysis» содержит несколько вкладок для ввода и вывода данных. На вкладке «Матрица перехода» выводится матрица A. На отдельных вкладках выводятся матрицы интенсивностей поступления и обслуживания А, и ¡1. выраженные в символах примитивной сети в соответствии с (3), (4). На вкладке «Ввод параметров» задаются необходимые интенсивности поступления и обслуживания, тип систем массового обслуживания, размерность буфера, порядок распределения, маршрут и формат представления чисел. На вкладке результатов выводятся результаты расчета как для каждой системы отдельно, так и для всей сети в целом: стационарные вероятности (для систем), средняя очередь, среднее время задержки, узловые загрузки, вычисленные значения загрузок и интенсивностей поступления пакетов в систему. Полученные значения для мнимых ветвей отмечены звездочкой и в расчетах для общего среднего времени задержки (или для маршрута) и вероятности потерь на маршруте не участвуют.
Основными исходными компонентами, с которыми работает программная система, являются массивы данных NodeMASS и VetvMASS. В этих массивах находится вся необходимая информация для дальнейшего вычисления требуемых характеристик как отдельных систем, так и для всей сети в целом.
NodeMASS - это массив данных, содержащий информацию о координатах узлов. В данном случае под узлом понимается точка соединения нескольких систем массового обслуживания или входа/выхода ветви. Координата узла имеет строго заданные значения на поле построения схемы в рабочей области «Model». Каждый узел однозначно описывается парой чисел, определяющих ме-
ния A.
3. Вычисляются составляющие матриц ¡1 и X с помощью выражений (3) и (4), то есть опреде-
4. В соответствии с (5) строится матричное уравнение, решение которого позволяет найти вектор узловых загрузок р и определить коэффициенты использования узлов в сети (р в = Ар),
стоположение узла на данном поле. Однако для мнимых ветвей задан диапазон смещения от отображаемых на поле узлов с целью реализации узлового метода тензорного анализа сетей.
VetvMASS является массивом данных, содержащим информацию о номере, координатах начала и конца (и их повторном использовании) и мнимости ветви. Под ветвью в данном случае понимается система массового обслуживания. Признак повторного использования координат позволяет выявить соединение ветвей между собой и наличие замкнутых контуров и, соответственно, обеспечить их преобразование в узловые пары.
Для наглядного представления схемы исследуемой сети и формирования массивов NodeMASS и VetvMASS используется процедура Imagel-MouseUp. Отдельный цикл данной процедуры обеспечивает формирование мнимых ветвей с соответствующими координатами. Мнимые ветви формируются в связи с применением в ядре программы узлового метода, то есть все контуры преобразуются в узловые пары, в связи с чем появляются мнимые ветви с теми же интенсивностями поступления и обслуживания, что и для истинной. На рисунке 3 показано преобразование схемы с появлением мнимой ветви 5, для которой Я,5 = А,4 и ц5 = ц4. При этом на самой схеме (область «Model») мнимые ветви не отображаются. Введение мнимой ветви 5 позволяет сохранить соотношения = %1 + и А,3 = %1 + Я,4, которые могут быть нарушены при замене контура на узловую пару.
Процедура ResultBarltemsl Click формирует из полученных массивов NodeMASS и VetvMASS матрицу перехода и на ее основе матрицы интенсив-ностей поступления Matrix_N и обслуживания Matrix T в новых координатах. Так как выполняется условие суммы интенсивностей поступления в узле, определяются интенсивности поступления, являющиеся линейными комбинациями других интенсивностей, и, соответственно, определяются номера систем, для которых нет необходимости в задании данных интенсивностей. В этой же про-
цедуре находится блок подготовки данных для использования в вычислениях: замена точек на запятые, ограничение длины и типа ввода.
После ввода данных на вкладке «Ввод параметров» (заполнение матрицы (2)) процедура CalculateButtonClick обеспечивает проверку исходных данных на корректность заполнения для всех немнимых ветвей: заполнение матриц интен-сивностей поступления и обслуживания, выбор значений буфера для систем с ограниченным буфером, выбор порядка для систем с эрланговским распределением длительности обслуживания, задание формата вывода результата (число знаков после запятой, научный или инженерный форматы).
Основная расчетная процедура Calculate обеспечивает нахождение узловых загрузок с использованием полученного матричного уравнения и введенных исходных данных. Первоначально происходит обнуление массивов вероятностных параметров, а также проверка ветвей на мнимость и при необходимости внесение изменений в таблицу исходных данных. Далее для каждой ветви определяются интенсивности поступления и обслуживания, из которых формируются массивы N (интенсивностей поступления: уравнение (3)) и T1 (интенсивностей обслуживания: уравнение (4)) на основе исходных данных и матрицы перехода. После этого проводится проверка полученных матриц на вырожденность, что позволяет выявить некорректность заполнения таблицы исходных данных. Для нахождения узловых загрузок используется функция Determinant, которая позволяет найти определитель при решении системы линейных алгебраических уравнений с применением формул Крамера. В алгоритме функции Determinant реализована защита от наличия нулевых элементов на главной диагонали. На основе полученных узловых загрузок рассчитываются загрузки систем массового обслуживания, а также определяются новые значения интенсивностей поступления. При этом производится проверка на перегрузку систем, то есть обеспечивается значение загрузок систем, не превышающее единицы, и проверка на нулевое или отрицательное значение интенсивностей поступления. Вычисленные значения загрузок далее передаются в блок расчета ВВХ систем, где рассчитываются средняя очередь, среднее время задержки, вероятности состояний и потерь. Этот блок содержит функции расчета ВВХ для систем массового обслуживания следующих типов: M/M/l, M/D/l, M/Er /1, M/M/l/N, M/D/1/N, M/Er/l/N. Исходя из полученных значений для каждой системы производится расчет среднего времени задержки и вероятности потерь на маршруте, общего времени задержки в сети. Все результаты передаются в блок подготовки данных для вывода в таблицу результатов на соответствующей вкладке.
В результате реализации тензорного подхода к задаче оценки QoS разработанная программная система позволяет обеспечить возможности построения любых топологий схем и выбора модели для каждой ветви схемы. При этом результатом работы являются длины очередей и время задержки в ветвях, а также вероятности переполнения буферов и стационарные вероятности состояний для каждой ветви, выбранного маршрута и всей сети в целом. Исходя из всего сказанного можно сделать следующие выводы: протокол 1Р является наиболее распространенным и позволяет объединить практически все существующие услуги сетей с обеспечением заданного уровня QoS; тензорный метод дает возможность достаточно просто формализовать проектные процедуры для сетей такого типа; программная реализация тензорного метода позволяет оценивать требуемые показате-
ли качества при приемлемых вычислительных затратах.
Литература
1. Cheng-Shang Chang. Stability, Queue Length and Delay of deterministic and stochastic queueing networks // IEEE Transactions on Automatic Control. 1994. Vol. 39, pp. 913-931.
2. Яновский Г.Г. Качество обслуживания в IP сетях // Вестник связи. 2008. № 1. C. 65-74.
3. Masip-Bruin X., Yannuzzi M., Serral-Gracia R., Domingo-Pascual J., Enriquez-Gabeiras J., Callejo M.A., Diaz M., Racaru F., Stea G., Mingozzi E., Beben A., Burakowski W., Monteiro E., Cordeiro L. The EuQoS system: a solution for QoS routing in heterogeneous networks // IEEE Communications Magazine. 2007. 45(2), pp. 96-103.
4. Donnet B., Friedman T. Internet topology discovery: a survey // IEEE Communications Surveys & Tutorials. 2007. Vol. 9 (4), pp. 56-69.
5. Пономарев Д.Ю. Тензорная методология в телекоммуникациях // Системы управления и информационные технологии. 2006. 1.1(23). С. 161-165.
АЛГОРИТМ МИНИМИЗАЦИИ СКАЛЯРНОЙ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ ПРИ ИНТЕРВАЛЬНЫХ ОГРАНИЧЕНИЯХ
НА ПЕРЕМЕННЫЕ
Ю.Г. Бояринов, к..т.н..; М.И. Дли,, д.т.н. (Филиал Московского энергетического института (технического университета) в г. Смоленске,
byg@yand.ex. ги)
Рассмотрен поисковый алгоритм минимизации скалярной функции многих переменных при неявном задании функции и интервальных ограничениях на переменные. Суть алгоритма, в предположении, что наименьшее значение функция принимает в одной из вершин гиперпараллелепипеда - области допустимых значений аргументов, состоит в последовательном обходе вершин из начальной точки в сторону убывания функции. Предложена программная реализация алгоритма в среде МАТЬАВ.
Ключевые слова: алгоритм минимизации, скалярная функция многих переменных, интервальные ограничения на переменные, программная реализация алгоритма.
Задача нахождения наименьшего значения скалярной функции многих аргументов при наличии интервальных ограничений на аргументы на практике является достаточно типовой. Для ее решения разработано множество алгоритмов (см., например, [1-3]), однако, как правило, подобные алгоритмы хорошо работают только при небольшом числе аргументов. Если же это число велико - десятки и сотни, то многие из известных алгоритмов просто неприменимы. Для подобных ситуаций пригодными оказываются только так называемые алгоритмы большой размерности, реализованные, в частности, в системе компьютерной математики ЫАТЬАБ [4]. Однако использовать возможности этой и других аналогичных систем не всегда целесообразно ввиду их громоздкости, иногда удобнее иметь автономные программы, созданные на языке высокого уровня. В статье рассмотрена разновидность алгоритма большой размерности, отличающаяся простотой программной реализации.
Постановка задачи. Предполагается, что в общем случае неявным образом задана скалярная функция f(x) многих вещественных переменных
xi, х2,."9 х„, или, иначе, векторного аргумента х =[xj, x2, ..., xn]T (здесь T - символ транспонирования). На переменные наложены интервальные ограничения в форме нестрогих неравенств:
Xl min—iiui\-Х2 min—Х2—Х2 nui\-
или, в векторной форме, xmin <x<xmax .
(1)
где Xmi = [Xl mill* ^2miii9 ♦ ♦ ♦ 9 ^nminj ? max = [Xl max,
x2max, • • xnmax] •
Число переменных может быть значительным, например до сотни.
Xi min——X¡ max?
Xu min—Xu—Xn щах?