Исследование эффективности распределения

advertisement
Открытые информационные и компьютерные интегрированные технологии № 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
Download