Научная статья на тему 'Оценка пропускных способностей каналов связи в распределенных сетях передачи данных'

Оценка пропускных способностей каналов связи в распределенных сетях передачи данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1702
379
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Нгуен Дык Тай

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Оценка пропускных способностей каналов связи в распределенных сетях передачи данных»

3

ИНФОРМАЦИОННЫЕ СИСТЕМЫ

И ТЕХНОЛОГИИ

ОЦЕНКА ПРОПУСКНЫХ СПОСОБНОСТЕЙ КАНАЛОВ СВЯЗИ В РАСПРЕДЕЛЕННЫХ СЕТЯХ ПЕРЕДАЧИ ДАННЫХ

Нгуен Дык Тай Научный руководитель - д.т.н., профессор Т.И. Алиев

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

Введение

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

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

Постановка задачи

Для описания исследуемой СПД используются: 1) структурные параметры, определяющие:

• топологию СПД;

• количество узлов п и каналов связи в СПД;

• тип каналов связи (дуплексный, полудуплексный);

• стоимостные коэффициенты каналов связи;

• длины каналов связи;

2) функциональные параметры, задающие:

• способ взаимодействия пользователей сети;

• способ маршрутизации для каждого узла СПД в виде маршрутной таблицы, содержащей основной и альтернативный маршруты;

3) нагрузочные параметры:

а) интенсивности Л1 ] потоков сообщений разных типов от пользователей, подключен-

ных к узлам СПД; предполагается, что в сети циркулируют сообщения следующих типов:

• запросы к прикладным программам и наборам данных, размещенных в узлах сети;

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

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

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

б) длины сообщений разных типов:

• прикладных программ Ьр и наборов данных Ь0;

13

• запросов к прикладным программам 1р и наборам данных ° ;

• результатов выполнения прикладных программ 1р и обработки наборов данных 1о •

• текстовых сообщений 1Т ;

в) средняя длина одного пакета 1П и длина обрамления 1О .

Эти параметры используются для решения задачи параметризации модели СПД, представляемой в виде РЭСеМО, в результате которой задача оценки пропускных способностей каналов связи может быть сведена к задаче оптимизации РЭСеМО методом неопределенных множителей Лагранжа. Задача параметризации модели СПД заключается в пересчете параметров СПД, связанных с неоднородностью потоков, циркулирующих в сети. Кроме того, чтобы решить задачу оценки пропускных способностей каналов связи, необходимо рассчитать потоки пакетов в каналах. При этом расчет потоков реализуется программно на основе заданных внешних интенсивностей потоков сообщений, формируемых пользователями сети, известной топологии и маршрутизации, способов взаимодействия пользователей, а также нагрузочных параметров.

Оптимизация пропускных способностей каналов связи

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

Метод расчета характеристик РЭСеМО можно найти в [2]. При этом среднее время доставки пакетов в сети, состоящей из т каналов связи, определяется следующим образом:

п п п 1

Т _ ^^ (к,1 ) П

ср ¿—I ¿—I

Ср к_1 1_1 С(к,1) Х (к ,1 }п где С(к1) - пропускная способность канала связи (к,1); а к1)- среднее число «обращений» к каналу связи (к,I) в процессе передачи пакетов; X(к1) - интенсивность пакетов в канале связи (к,1). Стоимость £ СПД определяется как

п п

£ _ ^^ Р(к,1 )С(к,1)Ц(к,1), к _1 1 _1

где Р(к1) - стоимостной коэффициент пропорциональности, отражающий стоимость

единицы пропускной способности канала связи (к,1); Ц(к1) - длина канала связи.

Задача оптимизации пропускных способностей каналов связи с использованием модели РЭСеМО может решаться в одной из двух постановок.

1. Минимизировать среднее время задержки пакетов в сети Тср при ограничении

на стоимость сети £ < £ *. В этом случае, с учетом введенных обозначений, пропускная способность канала связи (к,1) вычисляется следующим образом (к _ 1, п; 1 _ 1, п; к Ф 1):

£ '^^Р(к,1)Х(к,1)1ПЦ(к,1) Р . к_1 Ы__УР<

Р(к,1) Ц

'(к,Г)\к,г/п Ц(к,1)

С __к_1 1_1__V' у-*' " , у 1 /1\

Чм) _ в Ц п п + \к,1)1 П • (1)

(к,1)Ц(к,1) УУ ¡в X 1 Ц

/ У г (к, 1/ (к, 1) п^к 1,

) П (к,1)

к_1 1_1

2. Минимизировать стоимость СПД Б при ограничении на среднее время задержки пакетов в сети Т < Тср. В этом случае пропускная способность канала связи

(к,1) вычисляется по формуле (к _ 1,п; 1 _ 1,п; к Ф 1):

1 п п _ I а 1

1 ^^ гг. г^:: I 1Л(к,1 )' п

С(к,1) _ Т* ^^ в(к 1)а(к,)ПЦ(к, 1)л в Ц + Х(к,1 /п . (2)

Тср к_1 1=1 У Р(к,1) Ц(к,1)

Расчет потоков в каналах связи

Чтобы решить задачу определения пропускных способностей каналов связи с использованием формул (1) и (2), необходимо рассчитать интенсивности X(к1) потоков

пакетов в каналах связи на основе заданных внешних интенсивностей потоков сообщений и известного алгоритма маршрутизации в СПД. Кроме того, расчет интенсивностей проводится с учетом выбранного варианта размещения прикладных программ и наборов данных по узлам СПД и заданного способа взаимодействия пользователей сети. Расчет потоков пакетов в каналах СПД состоит из трех этапов.

На первом этапе выполняется расчет интенсивностей Xч пакетов в СПД путем

умножения внешних интенсивностей Л1 ] сообщений от пользователей на число пакетов в одном сообщении:

х] _ кК] <л ] _1, п; * Ф Л

где к _ 1,2,... - количество пакетов в сообщении.

На втором этапе расчет интенсивностей пакетов в каналах связи выполняется на основе вычисленных на первом этапе внешних интенсивностей потоков пакетов, заданных таблиц маршрутизации и вероятности передачи по основному пути. Интенсивности пакетов в каждом из каналов связи рассчитываются по формуле

n n

) (k,1 = 1,n; к * l), (3)

i=1 j=1

где у - интенсивность пакетов из узла г в узел у; Хи) - доля пакетов (0 < Хи) - 1), проходящих по линии (к,1), причем должно выполняться условие сохранения потока в

сети:

VX'j'-V x(';-j')

\k,l) AJ\l,k) k=l k=l

l, l = Г; 0, l * i;

(4)

in l=j.

Формула (3) получена из условия, что интенсивность пакетов в канале связи (k,l) должна равняться сумме интенсивностей пакетов по всем путям, которые проходят через этот канал. Для того чтобы найти программно доли пакетов X^ и, следовательно,

интенсивности пакетов в каналах связи, используется обратная рекурсивная процедура, определяющая распределение интенсивностей потоков на паре (i - узел-источник, j -узел-назначение) и суммирующая их при рассмотрении всех пар узлов. Эта процедура реализуется следуюшим образом.

Сканируются все узлы, через которые пакеты могут пройти от узла-источника к узлу-назначению с учетом таблиц маршрутизации, и строится двоичное дерево, причем для каждого узла рассматриваются два пути передачи пакета: основной и альтернативный. СПД отличается от двоичного дерева тем, что ее топология произвольная. Чтобы устранить ситуацию, когда пакеты могут циркулировать в сети бесконечно, используется маскирование узлов, которые уже сканировались: Ма8к[узел]:=Га1ве.

На первом шаге обнуляются все доли Xk'j) пакетов во всех каналах связи и

маскируется узел-источник i как просканированный узел: Mask[i]:= false.

При вызове рекурсивной процедуры доля пакетов в каждом из каналов связи рассчитается по правилу:

• если следующий рассматриваемый узел является основным и он не маскирован, то доля пакетов в этом канале увеличивается на величину, равную произведению вероятности передачи пакетов по основному пути на долю пакетов предыдущего канала связи;

• если следующий рассматриваемый узел является альтернативным и он не маскирован, то доля пакетов в этом канале увеличивается на величину, равную произведению вероятности передачи по альтернативному пути на долю пакетов предыдущего канала связи.

Рекурсивная процедура вызывается только тогда, когда следующий рассматриваемый узел в процессе сканирования не маскрован и не совпадает с узлом-назначения. Обратный механизм в рекурсивном алгоритме реализуется с помощью массива маскирования Mask[] - после вызова рекурсивной процедуры какой-то пары (узел-источник, узел-назначение), нужно отметить узел-источник как немаскированный: Mask[узел-источник]: =true.

Если основной путь рассматриваемого узла совпадает с узлом-назначения и альтернативный путь этого узла является маскированным узлом, то к доле пакетов основного канала связи добавляется доля пакетов альтернативного, равная произведению вероятности передачи пакета по альтернативному пути на долю пакетов предыдущего канала связи, так как пакеты не могут повторно попадать в один и тот же узел СПД. При этом обеспечивается условие (4).

На рис. 1 показан пример распределения по каналам связи долей пакетов, передаваемых в СПД с интенсивностью от пользователей, подключенных к узлу 1, к пользователям, подключенным к узлу 4. Рекурсивная процедура обозначается как Кь(к,/), где к - узел-источник, / - узел-назначение, И - порядковый номер вызова рекурсивной процедуры.

Рис. 1. Пример распределения долей пакетов Л14

Распределение долей пакетов Х14 в каналах связи для пары (1,4) реализовано с помощью рекурсивной процедуры Я1(1,4) следующим образом. Процедура Я1(1,4) определяет по таблице маршрутизации узла 1 следующие узлы основного пути (узел 3) и альтернативного пути (узел 6), по которым пакет должен пройти от узла 1 к узлу назначения 4. Затем выбирается основной путь (узел 3) и вызывается рекурсивная процедура

Я2(3,4). При этом доля Х^14 пакетов в канале (1,3), соединяющем узел 1 и основной

узел 3, будет вычисляться как произведение доли пакетов предыдующего канала (в этом случае она равна 1) и вероятности q передачи пакета по основному пути, т.е. Х($ = q . В свою очередь, процедура Я2(3,4) снова определяет по таблице маршрутизации узла 3 основной и альтернативный пути, по которым пакет должен пройти от этого узла к узлу назначения. Пусть основным путем является узел назначения 4, а альтернативным - узел 2. Доля Х^^ пакетов в канале (3,4), соединяющем узел 3 и основной

узел 4, будет вычисляться как произведение доли пакетов предыдующего канала (в этом случае она равна q) и вероятности q передачи пакета по основному пути, т.е. X™ = q2. Поскольку узел 4 представляет собой узел назначения, то Я2(3,4) выбирает альтернативный путь от узла 3 к узлу 4 путем вызова процедуры Я3(2,4). При этом, доля Xпакетов равна произведению доли пакетов q предыдующего канала на вероятность (1^) передачи пакетов по альтернативному пути, т.е. Х^4 = q(1 — q). Таким образом, рекурсивная процедура сканирует все узлы, по которым пакет пройдет от узла-источника к узлу назначения, рассчитывая доли пакетов в каналах связи. Эта процедура позволяет вычислить интенсивности пакетов в каналах связи, через которые пакеты проходят при передаче от узла-источника до узла назначения, т. е. между одной парой взаимодействующих узлов. Для того чтобы получить интенсивности пакетов разных типов в СПД между всеми узлами, нужно просуммировать интенсивности всех возможных передач для прикладных программ, наборов данных и текстовых сообщений.

На третьем этапе выполняется расчет коэффициентов передач для каждого канала связи (k,l) как отношение интенсивности пакетов в этом канале к суммарной (внешней) интенсивности поступления пакетов в СПД: а (k , i) = Х (k , l) /Х вн . , где

n n

Xвн = ^ i j - суммарная (внешняя) интенсивность поступления пакетов в СПД.

i=1 j=1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Расчет потоков пакетов в каналах связи выполняется с учетом способов взаимодействия пользователей сети, которые существенно влияют на результаты расчетов потоков и, следовательно, пропускные способности каналов связи. В работе рассматриваются следующие способы взаимодействия пользователей:

a) RDA (Remote Data Access) - по запросу пользователя прикладная программа или набор данных пересылаются в узел пользователя и обрабатываются в нем;

b) DBS (DataBase Server) - по запросу пользователя прикладная программа и набор данных обрабатываются в узле-сервере, в котором они находятся, и пользователю пересылаются только результаты обработки;

c) AS (Application Server) - прикладные программы в процессе реализации в узле-сервере могут обращаться к наборам данных, расположенным в других узлах сети.

Программный комплекс

Рассмотренный метод оценки пропускных способностей каналов связи СПД реализован в виде программного комплекса, написанного на языке Visual C++ с использованием библиотеки базовых классов MFC с архитектурой Doc/View для удобства разработки и реализации приложений под Windows. Программа работает под ОС Windows 2000/XP с требованием памяти не более 64 Мбайт. Программа имеет наглядный графический интерфейс, позволяющий достаточно просто задавать структурно-функциональные и нагрузочные параметры исследуемой СПД. Программа обладает следующими возможностями:

1) задание топологии исследуемой СПД одним из следующих способов (рис. 2):

• графически путем указания мышкой на экране компьютера местоположения узлов и соответствующих каналов связи;

• автоматически путем выбора из перечня типовых топологий, а именно: «звезда», «кольцо», «дерево», «полносвязная»;

• аналитически путем указания декартовых координат узлов СПД или расстояний между ними (рис. 3);

2) построение и изменение произвольной топологии с использованием соответствующей матрицы связей (рис. 2);

3) выбор вариантов распределения прикладных программ и наборов данных по узлам СПД;

4) автоматическое создание всех таблиц маршрутизации в узлах по критерию «количество хостов» или «взвешенного графа» с возможностью изменения таблиц маршрутизации и вероятности передачи пакетов по основному пути;

5) расчет потоков пакетов в каналах связи и параметризация модели СПД;

6) расчет вероятностей передачи пакетов:

• от пользователей к каналам связи;

• между соседними каналами;

• от каналов к пользователям сети;

7) расчет пропускных способностей каналов связи методом множителей Лагранжа;

8) исследование характеристик СПД путем варьирования структурно-функциональных и нагрузочных параметров.

зшм

Рис. 2. Построение и изменение произвольной топологии

Рис. 3. Аналитическое задание топологии

На рис. 4 показан интерфейс для ввода исходных параметров СПД. В этой закладке можно выбрать одну из двух постановок задачи оптимизации: минимизировать стоимость СПД при ограничении на среднее время задержки пакетов в сети или минимизировать среднее время задержки пакетов в сети при ограничении на стоимость сети. Кроме того, интерфейс позволяет задавать такие параметры, как модель взаимодействия, тип каналов связи, длина пакета, длина запросов и ответов разных типов по прикладным программам, наборам данных и текстовым сообщениям.

Рис. 4. Интерфейс для ввода исходных параметров СПД

Рис. 5. Пример результатов оптимизации и расчета характеристик СПД

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

На рис. 5 представлен пример результатов оптимизации и расчета характеристик СПД. Для заданного времени задержки пакетов в сети программа позволяет рассчитать оптимальные пропускные способности каналов связи, обеспечивающие минимальную стоимость СПД, а также время передачи данных по каждому каналу и загрузку всех каналов связи. Здесь же предусмотрено варьирование пропускных способностей и значения времени передачи пакетов в каналах связи.

Работа пользователя с программой реализуется по следующей схеме:

Заключение

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

Литература

1. Клейнрок Л. Теория массового обслуживания. М.: Машиностроение, 1979. 432 с.

2. Клейнрок Л. Вычислительные системы с очередями. М.: Мир, 1979. 598 с.

3. Столлингс В. Современные компьютерные сети. 2-е изд. СПб: Питер, 2003. 783 с.

4. Вишневский В.М. Теоретические основы проектирования компьютерных сетей. М.: Техносфера, 2003. 512 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.