Открытые информационные и компьютерные интегрированные технологии № 42, 2009 УДК 004.732.011.56 С.А. Нестеренко, О.А. Усова Исследование эффективности распределения информационных потоков в сети передачи данных Одесский национальный политехнический университет Рассмотрены проблемы эффективности и оптимизации распределения информационных потоков в сетях передачи данных. Смоделирован информационный поток. Оптимизация информационного потока проходила на основе линейного программирования. Задача распределения информационных потоков решена на основании квадратичного программирования. Приведены критерии эффективности распределения информации в сетях передачи данных. С помощью графов и методов квадратичного программирования решена задача перераспределения потоков данных в целях оптимизации загрузки каналов связи в магистральных СПД. Ключевые слова: информационные потоки, сеть передачи данных, перегрузка, эффективность, оптимизация, линейное и квадратичное программирование. В сетях передачи данных (СПД) на некоторых участках сети могут возникать перегрузки, что приводит к образованию очередей [1,2] и снижению эффективности распределения в них информационных потоков. Чтобы повысить эффективность загрузки каналов связи в магистральных СПД, необходимо формализовать задачу перераспределения потоков данных в целях оптимизации их загрузки и с учетом ограничений на их пропускную способность. Определим сеть как произвольно направленный граф с n вершинами и l дугами и представим его с помощью матрицы инциденций А и матрицы контуров В, определенных в [3]. Для нашей задачи примем, что дуга соответствует только одному направлению передачи данных, так что обычные участки СПД представлены двумя противоположно направленными дугами между теми же самыми двумя вершинами, причем направление дуги совпадает с направлением движения информационного потока. Далее в этой модели вершина не обязательно представляет собой только один узел коммутации, но более макроскопично может соответствовать некоторому небольшому участку сети, в то время как дуга в этом случае соответствует совокупности магистральных CПД между серверами. Если qj — это интенсивность передачи информации на дуге j, то имеем qj ≥ 0 (1) из-за предположения об однонаправленности дуг. В качестве критерия эффективности распределения информационных потоков по сети используем суммарное время передачи информации по сети и, кроме того, примем следующие допущения: 1) будем учитывать только чистое время передачи по дугам, пренебрегая задержками, возникающими в вершинах; 2) пренебрегаем постепенными или случайными изменениями во времени информационного потока и принимаем, что время передачи определяется только интенсивностями движения по каждой дуге, а не каким-либо сетевым эффектом; 3) зависимость между временем передачи (индивидуальным) и интенсивностью информационного потока по дуге представляется выпуклой возрастающей функцией интенсивности (предположив, что скорости превышают величины, соответствующие пиковым интенсивностям загрузки, имеем здесь однозначную функцию). 220 Открытые информационные и компьютерные интегрированные технологии № 42, 2009 Если τ j (q j ) представляет собой время передачи по дуге j как функцию от интенсивности передачи qj, то суммарное время передачи F определяется формулой l F = ∑ g jτ j (q j ). (2) j=1 Введем в рассмотрение следующее ограничение на информационный поток. В общем виде информационный поток может быть представлен интенсивностями передачи информации между точками отправления и назначения (ОН). Примем, что точки отправлений и назначений пакетов представляют собой некоторые подходящие узлы и будем обозначать через OHij (всегда неотрицательный) информационный поток от вершины i к вершине j. Вначале рассмотрим случай, когда имеется только одна точка назначения, а затем расширим результаты на случай множества таких точек: а) случай одной точки назначения. Рассмотрим воображаемый случай, когда информационные потоки движутся к одной точке k. Если gi — это интенсивность потока, начинающего движение в вершине i (может быть с отрицательным знаком) и точкой назначения является вершина k, то gi определяется посредством соотношений g j = OHik (i ≠ k), g k = − ∑ OHik , i≠ k (3) где отрицательная величина g h означает поток, прибывающий в k. Затем получим взаимосвязь интенсивности g j и порождающих интенсивностей qі . Например для сети на рис. 1 [1] имеем q1 − q 2 − q 3 + q 4 = gi . (4) В более общем случае, если (аij) — это матрица инциденций A, то, как очевидно из определения матрицы А, уравнение (4) преобразуется к виду ai1q1 + ai2q2 + ai3q3 + ... + = gi , Другими словами, если: q1 g1 q g 2 q = , q = 2 , M M ql gn то имеем Ag = g . (5) Так как ранг А равен n—1, то n—1 из n уравнений из системы уравнений (5) являются независимыми. Поэтому для того, чтобы избежать сложностей в обозначениях, примем, что нижняя строка qn так же, как элемент g n из g , уже опущены в уравнении (5); б) случай множества точек назначения. В случае, когда существует множество точек назначения, необходимо использовать уравнение (5) для информационного потока, движущегося к каждой из них. Если N ≤ n — это число точек на221 Открытые информационные и компьютерные интегрированные технологии № 42, 2009 значения и OHij — это спрос от i-й точки отправления к k-й точке назначения, то интенсивность передачи информации, которая порождается в вершине i из-за наличия точки назначения k: OHik , i ≠ k, g ik = − OH νk , i = k. ∑ ν≠ k (6) k Пусть q j — часть информационного потока по дуге j, имеющая вершину k точкой назначения: q1k g1k k k q g qk = 2 , gk = 2 , M M k k ql gn (7) то аналогично рассуждениям для случая с одним назначением имеем Aq k = g k (k = 1, N). q (8) 2 3 q q 1 3 i q 4 4 Рис. 1. Информационный поток в вершине Если обозначим через g j интенсивности информационного потока по дуге уj, то N q j = ∑ g kj . (9) k =1 Следовательно, проблема распределения информационных потоков по сети сводится к проблеме минимизации выражения (2) при ограничениях (8), (9), qj≥0 для всех j, k и qj≤Cj, где Cj — пропускная способность дуги j. Реализуем оптимальное распределение информационных потоков с ис222 Открытые информационные и компьютерные интегрированные технологии № 42, 2009 пользованием линейного программирования. Зависимость между временем передачи и интенсивности информационного потока по дуге может быть в общем виде представлена функцией, подобной изображенной на рис. 2 [1], хотя в качестве такой функции можем использовать сумму времени передачи и формирования очередей на узлах коммутации. Поэтому рассмотрим метод оптимизации, основанный на аппроксимации целевой функции [4,5]. В качестве простейшего случая примем постоянным время передачи информации, как показано на рис. 3 [1], т.е. τ j (q j ) = τ0j для 0 ≤ q j ≤ C j. (10) j τj τj 0 0 cj g j Рис. 2. Зависимость времени передачи сообщения от интенсивности информационного потока cj gj Рис. 3. Аппроксимация времени прохождения информационного потока Данное предположение означает, что средняя скорость передачи информации постоянна вне зависимости от интенсивности информационного потока. Целевая функция F, показанная на рис. 2, получена с помощью уравнений (9) и (10) как линейная функция от g kj : l l N F = ∑ τ0q j = ∑ ∑ τ0j = q kj . j=1 (11) j=1 k =1 Ограничения задаются соотношениями (8) и (9) в виде q kj ≥ 0, ( j = 1, l; k = 1, N); N k ∑ q j ≤ C, ( j = 1,1); k =1 k k Aq = g , (k = 1, N). (12) Теперь легко можем получить оптимальное соотношение, т.е. соответствующее минимуму F и qk, используя технику линейного программирования. Предположение о постоянном времени передачи информации является нереалистичным. При аппроксимации времени передачи с помощью ступенчатой 223 Открытые информационные и компьютерные интегрированные технологии № 42, 2009 функции типа показанной на рис. 4 [1] задача по-прежнему может быть решена методом линейного программирования, но при этом придется иметь дело с огромными матрицами, поскольку каждая переменная qkj заменяется при этом на некоторое количество новых переменных, равное числу ступенек целевой функции. Кроме того, увеличивается и число ограничений. j 0 cj gj Рис. 4. Аппроксимация времени передачи информации ступенчатой функцией Оптимизируем распределение информационных потоков с использованием квадратичного программирования. Типичной задачей квадратичного программирования является минимизация функции 1 F = x τPx − x τd 2 (13) Ax = b (14) при ограничениях и x ≥ 0. (15) Начнем с того, что, рассматривая даже более общую ситуацию [1], покажем, как можно решать задачи квадратичного программирования. Для максимизации F = f (x1, x 2 ,..., x n ) при ограничениях: gi ( x1 ,x2 ,...,xn ) = 0 , ( i = 0 ,m1 m1 < n ) , h i (x1, x 2 ,..., x n ) ≥ 0, (i = 0,m 2 m 2 — произвольно (16) решают одновременно n уравнений m m 1 2 ∂f ∂g ∂h + ∑ λ1 i + ∑ λ1 i = 0 ∂x k i =1 ∂x k i =1 ∂x k и (т1 + т2) уравнений и неравенств (16) при ограничениях 224 (17) Открытые информационные и компьютерные интегрированные технологии № 42, 2009 µi ≥ 0, m 2 ∑ µi h i = 0. i =1 (18) Уравнение (18) означает просто, что если h1 > 0, то µi = 0 , но если hi = 0, то µi ≥ 0 . Сформулированный метод решения исходной задачи называется методом множителей Лагранжа с ограничениями в виде неравенств, который опишем ниже. Геометрическая идея метода достаточно проста и основана лишь на элементарных понятиях частного дифференцирования и скалярного умножения векторов. В точке х = (х1, х2, ...хn) условного максимума функции f достаточно малое смещение δx в любом направлении, если оно не нарушает ограничений, изменяет f на неположительную величину. Определим, какие смещения δx = δx1,(δx 2 ,..., δx n ) являются допустимыми. Поскольку новая точка x + δx должна по-прежнему удовлетворять ограничениям, изменения δg1 по каждому ограничению gi должны быть малы по сравнению с δx k . Другими словами, ∂g i ∑ k =1 ∂x k δx k = 0, i = 1, m1, т.е. δgi = (∇gi , δx) = 0, где ∇g i — градиент функции gi , a ( ∆g, δx) — скалярное произведение. Аналогичным образом, чтобы удовлетворить ограничениям hi (x + δx) > 0 для тех i, при которых hi (x) = 0, должно выполняться δh i ≥ 0 (с точностью до малых по сравнению с δx k изменений). Это условие можно переписать в виде δgi = n (Z(h i∇h i , δx)) ≥ 0, i = 1, m 2 , где 0, при h > 0, Z(h) = 1, при h = 0. Таким образом, было установлено, что δf=( ∇ f,δx)≤0, когда одновременно (∇g i , δx) = 0, i = 1, m , и (Z(h i∇h i , δx)) ≥ 0, i = 1,m . Преобразуем последнее условие геометрически, учтя то обстоятельство, что (А, В) = 0 означает ортогональность (перпендикулярность) векторов A и В, а (А, В) < 0, когда А и В образуют тупой угол. Видно, что вектор ∇f образует неострый угол с любым вектором, который ортогонален всем ∇g i и образует нетупой угол со всеми z (hi) ∇h i Это означает, что ∇ f является суммой линейной комбинации ∇ qi и линейной комбинации Z(hi) ∇h i с неположительными коэффициентами. Уравнение (17) представляет собой алгебраический способ выражения этого факта, который, однако, требует для полного доказательства использования техники линейного программирования. Если правила, приведенные выше, применить к уравнениям (13 - 15), в оче225 Открытые информационные и компьютерные интегрированные технологии № 42, 2009 видных обозначениях будем иметь: n 1 n n а = p x x − ∑∑ i, j i j ∑ d jx j , 2 i =1 j=1 j=1 m1 gi = ∑ a ijx j − b j ;1 ≤ i ≤ m, i =1 h i = x i ;1 ≤ i ≤ n. Уравнение (17) преобразуется к виду m1 n ∑ x jpkj − d k + ∑ λia ik + µk = 0, j=1 (19) i =1 где мы приняли pij = pji . Уравнение (18) преобразуется к виду n ∑ µi xi = 0, i =1 µi ≥ 0. (20) Таким образом, решая уравнения (14), (19) и (20), находим оптимальное решение. Хотя уравнение (20) нелинейно (поскольку и лi и xi; неизвестны), оно просто означает, что из каждой пары µi , x i — только одна неизвестная может быть положительной. Поэтому, когда уравнения (14) и (19) решаются с помощью методов линейного программирования, уравнение (20) может быть удовлетворено путем последовательной отбраковки тех из пробных решений, в которых одновременно появляются ненулевые xi и лi. Никакой другой технологии решения в действительности не требуется. Сформулируем теперь задачу распределения информационных потоков как задачу квадратичного программирования. Аппроксимируем время передачи по каждой дуге с помощью линейной функции, показанной на рис. 5: τ j = α jq j + β j , (21) 0 ≤ q j ≤ C j, (22) βj - время передачи при нулевой интенсивности передачи информации, равно длине дуги j, деленной на максимально разрешенную скорость. Целевая функция является квадратичной: N i k F = −∑ q jτ j = − ∑ ∑ q j α j ∑ q kj + β j , k =1 k =1 j=1 j=1 i i (23) где мы изменили знак с тем, чтобы решать задачу максимизации. Если обозначим через qjN+1 так называемую невязку, то условие (22) преобразуется к виду qi + q j N +1 = N +1 ∑ q kj = C j ( j = 1, l);q Nj +1 ≥ 0. k =1 226 (24) Открытые информационные и компьютерные интегрированные технологии № 42, 2009 j aj 0 cj gj Рис. 5. Линейная аппроксимация Отсюда, совмещая уравнения (8) и (24), получаем: 1 1 0 q g q2 g2 . . . . 0 0 . . . . . . = , (25) . . . . 0 . . . . . . . . A . qN gN . . . . . . E E N +1 N +1 q g N +1 где Е — l-мерная единичная матрица и g = (C1,C2 ,...,Cl ) τ . Уравнение (25) соответствует ограничениям (16) при gi = 0. Решим уравне∂f ние (17) следующим образом. Первый член , т.е. в данном случае ∂x k ∂F (k = 1, N) , вычисляется из уравнения (23): ∂q k A A E E ∂F ∂q k где τ j = α jq j α j = 4β j / C j , β j, k = −2α ∑ q νj − β j , ν=1 0 〈 q 〈 C j , C j — число над дугой, β j — число под дугой, — генерация информационного потока, информационный поток. 227 — назначенный Открытые информационные и компьютерные интегрированные технологии № 42, 2009 Второй член ∑ λi∂gi / ∂xi для дифференцирования соотношения (25) по n ∑ λik a ij + λ Nj +1 , а для дифференцирования по q qik (k = 1, N) имеет вид i =1 N +1 k вен λ j Третий член равен µi (k k соответствуют q i ≥ 0 . Поэтому N −2α j ∑ q νj − β + ν=1 j N+1 ра- = 1, N + 1) , так как условия h i (x1, x 2 ,..., x n ) ≥ 0, n −1 ∑ qik a ij + λ Nj +1 + µ Nj +1 = 0, (26) i =1 +1 +1 ( j = 1, l, k = 1, N); λ N + µN = 0. j j (27) Подставив уравнение (27) в (26), получим N 2α j ∑ j=1 qiν n −1 +1 − β j + ∑ λik a ij +µ kj − µ N j . (28) i =1i Если представим совокупность λ вектором λ и обозначим через aj j-й столбец матрицы A, то уравнение (28) примет вид k k N +1 −2α j ∑ qiν − β j + λ k a iτ + µ kj − µ N = 0. j (29) j=1 Умножая на матрицу контуров В слева, получим с учетом уравнения (29) соотношение N ν BM ∑ q − Bβ + Bµ k − Bµ N +1 = 0, (30) ν=1 k в которое вектор λ уже не входит. Если объединим уравнения (30) по k и положим D = ВМ, тог 1 D D K D q B D D K D 2 B q . . . . . . . . . . . . . . . . . . . . . . . . . . . . D D K D q N . . 0 . . 0 . . 228 1 −B u Bβ −B u 2 Bβ . . . . . . . = . . . . . . . . . . . . . g. B −B u N +1 Bβ (31) Открытые информационные и компьютерные интегрированные технологии № 42, 2009 С другой стороны, в соответствии с уравнением (18) имеем: l N ∑ ∑ µkj q kj = 0, j=1 k =1 µ kj ≥ 0; q kj ≥ 0. (32) Таким образом, оптимальные (qjk) находятся путем решения уравнений (25) и (31) при условии (32). Это может быть выполнено, как уже указывалось, с помощью техники линейного программирования, причем ненулевые WKj и g kj для любых j и k никогда не используются в одно и то же время. В качестве примера на рис. 6 показано численное решение для корпоративной информационной сети, используемой в электронном бизнесе. Используем в качестве времени передачи функцию, показанную на рис. 5, и примем, что τ j (C j ) = 5τ j (0), так что получим α j = 4β j / C j . 1000 400 1000 200 500 400 1000 600 2000 400 1000 200 2000 200 500 600 1000 800 1000 800 1000 200 1000 600 1000 200 1000 400 1000 300 1000 800 700 1000 700 1000 500 200 1000 600 2000 800 1500 500 1000 300 1000 200 Рис. 6. Пример пропускной способности информационной сети 213 131 96 234 132 131 244 41 100 100 40 32 174 0 6 200 212 51 181 334 200 85 100 587 100 82 400 198 2 200 1000 1000 800 Рис. 7. Пример численных расчетов оптимальной загрузки сети Числа над и под каждой дугой на рис. 6 представляют собой соответственно пропускные способности Cj и минимальные значения времени передачи βj. На рис. 7 показан информационный поток корпоративной сети (в маленьких прямоугольниках) и результаты вычислений. Список литературы 1. Джон Мартин. Системный анализ передачи данных / Мартин Джон. — М.: Мир, 1975. – Т. 2. — 431 с. 2. Ландэ Д.В. Основы интеграции информационных потоков / Д.В. Ландэ. – К.: Инжиниринг, 2006. — 240 с. 229 Открытые информационные и компьютерные интегрированные технологии № 42, 2009 3. Басакер Р. Конечные графы и сети / Р. Басакер, Т. Саати. – М.: Наука, 1973 . – 386 с. 4. Peterson Larry L. Computernetze / Larry L. Peterson, Bruce S. Davie. — Heidelberg: dpunkt.lehrbuch, 2003. – 802 c. 5. Олифер В.Г. Компьютерные сети / В.Г. Олифер, Н.А. Олифер. — 3— е изд. – СПб.: Питер, 2006. – 958 с. 6. Рецензент: д-р техн. наук, проф., зав. каф. В.М. Вартанян, Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ», Харьков. Поступила в редакцию 16.06.09 Дослідження ефективності розподілу інформаційних потоків у мережі передачі даних Розглянуто проблеми ефективності й оптимізації розподілу інформаційних потоків у мережах передачі даних. Змодельовано інформаційний потік. Оптимізація інформаційного потоку проходила на основі лінійного програмування. Задачу розподілу інформаційних потоків розв’язано на підставі квадратичного програмування. Наведено критерії ефективності розподілу інформації в мережах передачі даних. За допомогою графів і методів квадратичного програмування вирішено завдання перерозподілу потоків даних з метою оптимізації завантаження каналів зв'язку в магістральних МПД. Ключові слова: інформаційні потоки, мережа передачі даних, перевантаження, ефективність, оптимізація, лінійне і квадратичне програмування. Investigation of the efficiency of information flows in the network data transfer The article deals with the problem of efficiency and optimizing the distribution of information flows in data transmission networks. The information flow has been simulated. Optimizing of the information flow was based on linear programming. The task of distribution of information flows is solved by quadratic programming. Performance criteria of information distribution in data networks are given. The problem of the redistribution of data flows is solved by graphs and methods of quadratic programming in order to optimize the download of connection channels in the trunk DTN. Keywords: information flow, data transmission network, congestion, performance, optimization, linear and quadratic programming. 230