ЭКОНОМИЧЕСКИЕ АЛГОРИТМЫ УПРАВЛЕНИЯ ПОТОКАМИ В СЕТЯХ С ВИРТУАЛЬНЫМИ КАНАЛАМИ

Оглавление

  1. Введение
  2. Экономико-математическая модель компьютерной сети с виртуальными каналами
  3. Спрос виртуального канала на коммуникационные ресурсы
  4. Узлы компьютерной сети
  5. Справедливость и оптимальность экономических алгоритмов управления потоками
  6. Заключение
  7. Литература

Аннотация.

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

1. Введение

Рассмотрим компьютерную сеть как экономическую систему. В такой системе есть два типа экономических агентов: виртуальные каналы (virtual circuits) и узлы сети.

Каждый виртуальный канал характеризуется маршрутом в сети (совокупностью реальных каналов связи, составляющих данный виртуальный канал), требованиями пользователя к задержке (delay) и пропускной способности (throughput) виртуального соединения и величиной оставшихся виртуальных денег. Виртуальный канал наделяется некоторой суммой (виртуальных) денег, которые расходуются на приобретение коммуникационных ресурсов, т.е. пропускной способности реальных каналов связи.

Узел сети, как экономический агент, устанавливает цены на коммуникационные ресурсы. Цель узла - вычислить равновесную цену, при которой спрос на ресурсы равен их предложению.

Каждый новый виртуальный канал, зная свою цель относительно пропускной способности и задержки, использует ценовую информацию для определения возможности достижения этой цели. Если такая возможность отсутствует, то можно либо отложить формирование виртуального канала до тех пор, пока цены не понизятся, либо изменить цель. Таким образом, "экономика компьютерной сети" выполняет управление доступом (admission control).

Цены являются показателем редкости ресурсов. Поэтому использование рыночных механизмов в компьютерных сетях может способствовать повышению эффективности использования их ресурсов.

2. Экономико-математическая модель сети с виртуальными каналами

Моделью компьютерной сети может служить граф G=<V,E>, где V={1,2,...,K} - совокупность узлов, E={1,2,...,M} - совокупность ребер графа.

Каждое ребро i из E характеризуется двумя величинами:

  • теоретическая пиковая пропускная способность Ci (измеряется в количестве данных, переданных в единицу времени);
  • реальная пропускная способность Si, причем Si<Ci.

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

Цель управления потоками заключается в распределении пропускной способности между виртуальными каналами.

Пусть A={1,2,...,N} обозначает совокупность виртуальных каналов. Предположим, что A не меняется. Каждый виртуальный канал a из A определяется совокупностью реальных каналов, входящих в его состав, т.е. совокупностью ребер графа G:

La=i1,i2,...,im(a) , (1)

где i принадлежит E.

Виртуальные каналы, играя роль покупателей коммуникационных ресурсов, участвуют в их распределении. Часть ресурсов, доставшихся в результате распределения данному виртуальному каналу, описывается вектором X=(x1,x2,...,xM), где все xi>=0.

У каждого реального канала i из E есть свой продавец (узел сети), который взимает плату с виртуальных каналов за использование i.

Цены задаются вектором P=(p1,p2,...,pM), где все pi>=e>0. Предположение, что pi>0 используется в пятой главе. Оно не уменьшает общность рассмотрения, ибо pi может быть сколь угодно близким к нулю.

Для каждого виртуального канала a введем отношение предпочтения &a на множестве распределений. Пусть вектор X предпочтительнее для a , чем Y, обозначим это следующим образом: X&aY. Если X&aY и Y&aX, то для виртуального канала a вектора X и Y равноценны. Если X&aY и X и Y не равноценны для a, тогда X строго предпочтительнее Y. Обозначим это X&saY (s - от англ. strictly).

Пусть T(X) пропускная способность виртуального канала a, получившего в результате распределения ресурсы X, D(X) - средняя задержка a. Виртуальный канал a пытается максимизировать T(X) до тех пор, пока не достигнет цель ga, заданную пользователем виртуального канала. Затем, a стремится минимизировать D(X).

Отношение предпочтения &a определяется следующим образом:

  1. если T(X)<=ga, T(Y)<=ga и T(Y)>=T(X), то Y&aX;
  2. если T(X)<ga и T(Y)>=ga, то Y&aX;
  3. если T(X)>=ga, T(Y)>=ga и D(X)>=D(Y), то Y&aX.

Очевидно, что введенное таким образом отношение не охватывает все случаи, однако, является достаточным для наших целей.

Если приложение является критическим с точки зрения пропускной способности (например, передача файлов), ga должно быть достаточно большим. Если приложение является критическим с точки зрения задержки (как, например, в случае, когда виртуальный канал соединяет рабочую станцию с базой данных), ga - невелико (например, достаточно взять средний размер пакета в транзакции, деленный на "время размышления" (think time) пользователя).

Поскольку пропускная способность виртуального канала определяется скоростью самого медленного реального канала, входящего в его состав, то

T(X)=min{xi| i принадлежит La} (2)

Рассматривая реальный канал связи i как систему массового обслуживания типа M/M/1, среднюю задержку на канале i в наихудшем случае (т.е. рассматривается верхняя граница для средней задержки) можно определить следующим образом [1]:

(3)

Средняя задержка на всем виртуальном канале:

(4)

Каждый виртуальный канал a наделяется некоторым бюджетом Wa>0, который соответствует приоритетности a . Бюджетную систему канала a можно записать в виде:

Ba(P)={X | P*X<=Wa} (5)

Спрос со стороны a на коммуникационные ресурсы:

Ф a(P)={X | X принадлежит Ba(P), X&aY, для всех Y из Ba(P)} (6)

3. Спрос виртуального канала на коммуникационные ресурсы

Затраты на передачу единицы данных по реальному каналу i равны pi . Следовательно, затраты на передачу единицы данных по всему виртуальному каналу a:

(7)

Поскольку виртуальный канал a стремится передавать данные со скоростью ga , общие затраты составят: ga*Qa, причем должно выполняться условие: Qa*ga<=Wa.

Справедлива следующая лемма.

Лемма 1.

Если Qa*ga>=Wa при ценах P , то

  1. Фa(P) - не пусто.
  2. Фa(P) содержит единственный элемент ф.
  3. фi = Wa/Qa, если i принадлежит La.
  4. фi=0, если i не принадлежит La.

Доказательство.

Поскольку

,

то ф является допустимым вектором (с т.зр. бюджетного ограничения) и Ba(P) - не пусто. Так как отношение предпочтения есть частичный порядок, существует максимальный (наиболее предпочтительный) элемент. Это значит, что Фa(P) - не пусто.

Допустим, что существует другой вектор ф', такой что ф'&aф. Тогда имеем:

  1. Если фi'>=0, то для всех i, не принадлежащих La, фi'>=фi.
  2. Если T(ф')>=T(ф), то для всех i из La фi'>=(Wa/Qa).

Если ф' равноценно ф для a, то T(ф')=T(ф)=(Wa/Qa) и ф'=ф .

Если ф'&asф, то T(ф')>T(ф)=(Wa/Qa). Это означает, что фi'>(Wa/Qa) и, следовательно, ф'*P>Wa. Поэтому, ф' не является допустимым, т.е. не удовлетворяет бюджетному ограничению. Лемма доказана .

Если виртуальный канал может достичь цель ga, он покупает по ценам P пропускную способность, величиной в ga, на каждом реальном канале, входящем в La. Оставшаяся сумма Wa-(Qa*ga) используется для минимизации средней задержки.

Введем обозначения:

ui=xi-ga, Ki=Ci-Si, U=(u1, u2, ...,um(a)).

Задачу минимизации средней задержки можно сформулировать следующим образом:

(8)

при условиях:

  1. ui>=0,
  2. P*U<=Wa-Qa*ga.

Нетрудно доказать, что область допустимых значений U выпукла и компактна, а функция F(U) непрерывна и строго выпукла на этой области. Это означает, что существует единственное решение задачи.

Формулируя и упрощая условие Куна-Таккера для поставленной выше задачи, получим для всех i:

ui=0, или

1/(pi*(Ki+ui)2)=v, (9)

где v - множитель Лагранжа .

Первое из этих условий означает, что в оптимуме xi>=ga. Второе условие говорит, что предельная задержка, приходящаяся на единицу цены, должна быть одинаковой у всех реальных каналов i, для которых xi>ga.

Заметим, что из (9) вытекает следующее равенство (для всех ui>0):

(10)

Каждый виртуальный канал использует для вычисления v алгоритм бинарного поиска, представленный ниже:

  1. vd=0 (нижняя граница для v).
  2. vu=max{1/(pi*(Ki)2), i из La} (верхняя граница для v , следует из (9)).
  3. v=(vu-vd)/2
  4. Для всех i из La:
  5. a)

    b) если ui<0, то ui=0.

  6. Если P*U=Wa-Qa*ga, то U - оптимально (решение найдено).
  7. Если P*U>Wa-Qa*ga, то vd=v.
  8. Если P*U<Wa-Qa*ga, то vu=v.
  9. Возврат в пункт 3 (вычисление нового значения v).

После вычисления U спрос виртуального канала a на коммуникационные ресурсы определяется однозначно:

фia=ga+ui, если i из La.

фia=0, если i не принадлежит La.

4. Узлы компьютерной сети и алгоритм ценообразования

Общий спрос на ресурс i при ценах P равен сумме индивидуальных спросов каждого из виртуальных каналов:

(11)

Разницу между спросом и предложением будем называть функцией излишка (или просто излишком) и обозначать Z(P). Ясно, что Z(P) - вектор, его i-я компонента zi(P)=di(P)- Si.

Если zi(P*)=0 для всех i, то экономика находится в состоянии конкурентного равновесия при равновесных ценах P*. Обычно, равновесие определяется как состояние, в котором: 1) нет неиспользованных ресурсов, 2) спрос каждого экономического агента (виртуального канала) полностью удовлетворен.

К "экономике компьютерной сети" это определение непригодно, т.к. возможна ситуация, когда Si принимает значения строго большие, чем di(P), как бы низко цены не падали. Этот случай проиллюстрирован рисунком (рис.1).

Есть два виртуальных канала, W1=W2=1, и Si=1 ( для всех i). В силу симметрии и леммы 1, виртуальные каналы поделят третий реальный канал пополам, виртуальный канал 1 получит (1/2,0,1/2), виртуальный канал 2 получит (0,1/2,1/2). Излишек составит: Z(P)=(-1/2,-1/2, 0).

Для того чтобы исключить подобные ситуации, введем новое определение равновесия. "Экономика компьютерной сети" находится в состоянии равновесия при ценах P* , если для всех i либо zi(P*)=0, либо zi(P*)<=0 и pi=e.

Как следует из данного определения, излишек (в состоянии равновесия) допускается при минимальных ценах.

Узлы сети, являясь продавцами, устанавливают цены на коммуникационные ресурсы на основе соотношения спроса и предложения. Этот процесс выполняется по следующему алгоритму.

Алгоритм ценообразования.

  1. Установка начальных цен P.
  2. Вычисление для всех a из A спроса фa(P) (выполнение этого шага описано в предыдущей главе).
  3. Если для всех i из E либо ( zi(P)=0), либо (zi(P)<=0 и pi=e), то равновесие достигнуто (итерационный процесс останавливается).
  4. Иначе, для всех i из E
  5. pi=max [pi+r*pi*(zi(P)/Si), e] (12)

  6. Переход в пункт 2.

Комментарий. В качестве начальных цен можно брать pi=e для всех i. На втором шаге все виртуальные каналы вычисляют спрос при текущих ценах параллельно. Для выполнения этих вычислений каждому виртуальному каналу a требуется информация о ценах на реальные каналы, входящие в La. Параметр r из (12) отражает важность обновления цен. На четвертом шаге продавцу реального канала i необходимо знать идентификаторы всех виртуальных каналов, в состав которых входит данный реальный, и их спрос на i , для вычисления zi(P).

5. Справедливость и оптимальность экономических алгоритмов

управления потоками.

Сформулируем четыре критерия справедливости распределения ресурсов между виртуальными каналами.

(F1) Распределение {X1, X2, ..., XN} справедливо, если для всех a из A выполняется неравенство T(Xa)>0.

Этот критерий утверждает, что не должно быть виртуальных каналов, которым досталась бы в результате распределения нулевая пропускная способность.

Будем называть реальный канал i из La заторным каналом (от слова затор, узкое место) виртуального канала a, если T(Xa)=xia. Таким образом, заторный канал определяет пропускную способность виртуального канала.

(F2) Пусть i является заторным каналом виртуального канала a. Распределение {X1, X2, ..., XN} справедливо, если xia>=xib для всех b из A.

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

(F3) Распределение {X1, X2, ..., XN} справедливо, если для всех a из A Xa&aY для всех Y из Ba(P).

Это условие построено на основе понятия устойчивости по Нэшу (из теории игр). В отличие от F1 и F2, критерий F3 учитывает и пропускную способность, и задержку (в силу того, что он основывается на отношении предпочтения).

Прежде чем сформулировать четвертый критерий, введем несколько вспомогательных понятий.

Назовем коалицией S некоторую подсистему A. Коалиция S может улучшить распределение {X1, X2, ..., XN}, если найдет другое распределение {Y1, Y2, ..., YN} такое, что:

  1. Ya=Xa, где a не принадлежит S (формирование коалиции не влияет на тех, кто в нее не входит);
  2. Ya&aXa, для a из S ( для всех членов коалиции новое распределение не хуже старого);
  3. найдется такое a из S, для которого Ya&saXa (хотя бы для одного члена коалиции новое распределение строго лучше старого).

Теперь определим четвертый критерий.

(F4) Распределение {X1, X2, ..., XN} справедливо, если нет таких коалиций, которые могли бы улучшить распределение.

Условие F4 эквивалентно определению оптимальности по Парето .

Очевидно, что справедливы утверждения:

  • Если F2, то F1;
  • Если F4, то F3.

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

Лемма 2.

Пусть P - вектор цен, фa(P) - вектор спроса виртуального канала a при ценах P, X - вектор ресурсов, такой что X не равен фa(P). Тогда:

  1. ф a(P)*P=Wa
  2. Если X&aфa(P), то X*P>= фa(P)*P
  3. Если X&sa фa(P), то X*P> фa(P)*P

Доказательство.

В случае, если T(фa(P))<ga, утверждения леммы очевидны. Пусть T(фa(P))>=ga.

(1) Если фa(P)*P<Wa, у виртуального канала образуется остаток q=Waa(P)*P, где q>0. Приобретение q/pi полосы пропускания реального канала связи i из La позволяет уменьшить задержку, ибо она (задержка) является монотонно убывающей функцией от xi, при xi>=ga. Это значит, что фa(P) - неоптимальный вектор. Полученное противоречие доказывает первое утверждение леммы.

(2,3) Допустим противоположное: если X&a фa(P), то X*P< фa(P)*P.

Обозначим:

  1. ui= фia-ga, если i из La.
  2. ui= фia, если i не принадлежит La.

  3. hi=xi-ga, при i из La.
  4. hi=xi, если i не принадлежит La.

  5. U=(u1,u2,...,um(a)), H=(h1,h2,...,hm(a)).

Тогда, P*H<=Wa-Qa*ga и H -допустимо.

Если X равноценно фa(P) для a, то F(U)=F(H). Но это противоречит строгой выпуклости функции F.

Если X&as фa(P), то F(H)<F(U). Приходим к противоречию с оптимальностью U(определением фa(P)). Это завершает доказательство леммы .

Согласно определению, цены P и бюджет Wa принимают только положительные значения. На основании этого и в силу утверждения части 1 леммы 2 распределение фa(P) является справедливым с т.зр. критерия F1. Справедливость с т.зр. критерия F3 вытекает из утверждений пунктов 2 и 3 леммы 2.

Воспользуемся леммой 2 для доказательства следующей теоремы, устанавливающей парето-оптимальность распределения в "экономике компьютерной сети" .

Теорема 1.

Пусть P - вектор равновесных цен. Тогда распределение 1(P), ф2(P),..., фN(P)} является парето-оптимальным и единственным.

Доказательство.

Единственность. В главе 3 было показано, что система спроса Фa(P) содержит один единственный элемент (для всех a из A). Следовательно и вектор 1(P), ф2(P),..., фN(P)} - единственный.

Парето-оптимальность. Допустим, что коалиция S={1,2,...,s} сформировала новое распределение ф', такое что:

  1. фi'(P)&i фi(P), для всех i из S.
  2. фj'(P)&siфj(P), хотя бы для одного j из S.

Следовательно, согласно лемме 2:

  1. фi'(P)*P>= фi(P)*P, для всех i из S.
  2. фj'(P)*P> фj(P)*P, хотя бы для одного j из S.

Значит,

(13)

Это свидетельствует о том, что коалиция не может улучшить распределение. В силу формулировки F4, распределение 1(P), ф2(P),..., фN(P)} - оптимально по Парето. Теорема доказана .

6. Заключение

В работе представлен нетрадиционный подход к управлению потоками в сетях с виртуальными соединениями.

Построена экономико-математическая модель компьютерной сети, учитывающая наличие индивидуальных конфликтных целей: максимизация пропускной способности и минимизация задержки. Во многих работах по управлению потоками в сетях либо предполагается, что все виртуальные каналы имеют одинаковые цели относительно пропускной способности и задержки, либо делаются попытки оптимизировать общесистемные (общесетевые) характеристики.

Поскольку сетевые технологии постоянно развиваются, увеличиваются возможности для поддержки (учета особенностей) все более диверсифицированных приложений и пользователей. Это делает предположение об одинаковых целях мало реалистичным.

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

Предложенная в работе алгоритмическая структура является децентрализованной .

В любых задачах распределения ресурсов принципиально важен вопрос о справедливости (распределения). В этой связи предлагаются различные метрики справедливости, одной из которых является парето-оптимальность. В работе доказано, что предлагаемые экономические алгоритмы управления потоками в компьютерных сетях - парето-оптимальны.

7. ЛИТЕРАТУРА

  1. D.F.Ferguson, C.Nicolaou and Y.Yemini. "An Economy for Flow Control in Computer Networks", Proc. of the INFOCOM, 1990. (ps-file)
  2. J.Sairamesh. "Economic Paradigms for Information Networks and Systems", PhD thesis, Columbia University, New York, 1996.
  3. Economic Models for Allocating Resources in Computer Systems. D.Ferguson, C.Nicolaou, J.Sairamesh and Y.Yemini. Market based Control of Distributed Systems, Ed. Scott Clearwater. World Scientific Press, 1996.

Web master