УДК 004.021, 519.2
К вопросу о классификации алгоритмов RED А. В. Королькова, Д. С. Кулябов, А. И. Черноиванов
Кафедра систем телекоммуникаций Российский университет дружбы народов ул. Миклухо-Маклая, 6, Москва, Россия, 117198
В статье предложена классификация алгоритмов на базе алгоритма RED (Random Early Detection). Показано, что практически все варианты модификаций RED ортогональны и их можно комбинировать.
Ключевые слова: алгоритм случайного раннего обнаружения (RED), взвешенный RED, расширенный RED (ERED), самонастраивающийся RED (ARED), улучшенный ARED (RARED), POWRED, гибкий RED (GRED), RED с двойным наклоном (DSRED), RED с зависимостью от состояния (SDRED), устойчивый RED (SRED), RED с профильными и непрофильными пакетами (RIO), SF-RED.
1. Введение
Алгоритм Random Early Detection (RED) [1] лежит в основе ряда механизмов предотвращения и контроля перегрузок в очередях маршрутизаторов. Его основное предназначение заключается в сглаживании временных всплесков трафика и предупреждении длительной перегрузки сети посредством уведомления источников трафика о необходимости снижения интенсивности передачи информации.
Существует множество модификаций RED, в той или иной степени улучшающих характеристики алгоритма. В работе [2] была предложена их предварительная классификация и было показано, что фактически все варианты модификаций RED ортогональны и их можно комбинировать для достижения определённых оптимальных характеристик. В данной работе более подробно описывается принцип предлагаемой классификации и объясняется отнесение той или иной модификации алгоритма RED к определённому классу.
2. Алгоритм RED (Random Early Detection)
Принцип функционирования и сам алгоритм RED подробно рассмотрены в работе [1]. Здесь приведём лишь формулы для расчёта вероятности сброса и экспоненциально взвешенной скользящей средней длины очереди q.
Использование q вызвано необходимостью сглаживания (low-pass filter) выбросов мгновенного значения длины очереди q. Для вычисления q используется формула экспоненциально взвешенного скользящего среднего (Exponentially Weighted Moving-Average, EWMA):
9fc+1 = (1 - w)qk + wqk, (1)
где w, 0 < w < 1 — весовой коэффициент, определяемый пользователем. В работе [3] предложена следующая формула для определения w:
w = 1 - е-1/с,
где С — пропускная способность канала (пакетов в секунду).
Вероятность ръ маркировки на отбрасывание пакетов представляет собой функцию, линейно зависящую от q, минимального qm¡n и максимального qmax
Статья поступила в редакцию 1 июня 2009 г.
пороговых значений и параметра ршах, определяющего часть отбрасываемых пакетов при достижении средним размером очереди значения дтах и вычисляется следующим образом:
0, 0 < й < <?шт,
_ , Я — (?тт < ^ ,
рЪ — ^ рmax, ^шт < (} ^ Qmax,
1, й > Яшах.
Окончательная же вероятность ра маркировки на отбрасывание пакета может иметь геометрическое распределение с параметром рь:
ра _ (1 - ръ)п-1ръ или равномерное распределение:
п-2 , \
Рь т- Л Ръ \ ^ ^ 1
П—2 / \
, i - (я - 1)И П (i - т—^) = - 1 < -,
Ра
0, п > —, Ръ
Для второго случая вероятность быть отмеченным на сброс для каждого приходящего пакета равна ръ/(1 — count ■ ръ), где count — количество неотмеченных пакетов, прибывших после последнего отмеченного.
3. Модель RED
В некотором устройстве функционирование модуля, реализующего алгоритм RED, можно представить следующим образом (рис. 1). Пакет при поступлении в систему попадает в модуль сброса. Решение о сбросе пакета принимается на основе значения вероятности р, получаемого от управляющего модуля. Вероятность р сброса пакетов зависит от экспоненциально взвешенного скользящего среднего размера длины очереди , также вычисляемого управляющим модулем, основываясь на текущем значении длины очереди .
У
Рис. 1. Модуль RED
Под сбросом понимается как собственно отбрасывание пакета (с вероятно-стьюра), так и маркировка пакета (с вероятностьюрт) для последующей отсылки сообщения ECN (Explicit Congestion Notification) [4]. Таким образом, вероятность сброса представима в виде р = ра + рт.
Поведение модуля RED можно описать двумя основными функциями: функцией экспоненциально взвешенной скользящей средней длины очереди q = Q(p) и функцией сброса р = Р(q), задающими систему:
U = QM, (2)
Ь = р Й). ()
Решение (¡а,Рз) системы (2) задаёт равновесное состояние этой системы (рис. 2), т.е. в установившемся состоянии экспоненциально взвешенная скользя-
Рис. 2. Точка равновесия для системы (2)
Параметры qmin и qmax задают рабочую область системы (2). Алгоритм эффективно действует только в её границах. При этом выход за верхнюю границу менее желателен, чем за нижнюю.
Функция сброса р = Р(q) должна удовлетворять следующим условиям:
— в районе нижней границы рабочего диапазона её наклон (первая производная) должен быть как можно меньше (для повышения эффективности использования полосы пропускания);
— в районе верхней границы рабочего диапазона её наклон должен быть максимальным (для предотвращения выхода из рабочего диапазона).
Таким образом желательно, чтобы функция сброса была нелинейной. Но основным требованием при разработке алгоритма RED [1,5] стало обеспечение малых накладных расходов при обработке трафика,2 что проявилось в простоте всех вычислений в этом алгоритме. Он построен так, чтобы минимизировать сложные расчёты (умножение, вычисления с плавающей точкой). Поэтому при модификации базового алгоритма вместо нелинейной функции сброса можно использовать её аппроксимацию кусочно-линейной функцией.
Функция экспоненциально взвешенной скользящей средней длины очереди q = Q(p) зависит от многих параметров (характеристик потока, дисциплины обслуживания и т.д.) и требует построения математической модели для своего описания. Можно модифицировать формулу (1), считая, что вся зависимость от внешних параметров учитывается мгновенной длиной очереди q. При этом q должна строиться так, чтобы противодействовать выходу системы из рабочей области.
4. Построение классификации
При построении классификации используется фасетный метод, подразумевающий параллельное разделение множества объектов на независимые классификационные группы. Классы обозначаются прописными латинскими буквами, подклассы — в скобках после символа класса.
Будем классифицировать системы RED по следующим характеристикам:
— количество модулей RED — класс M:
1 Система будет осциллировать около устойчивого состояния.
2Именно малые накладные расходы, а соответственно и малые задержки, присущие технологии RED, позволяют рекомендовать её для применения в мультисервисных сетях.
— алгоритмы с единым для всех модулей RED буфером — подкласс CS (Complete Sharing);
— алгоритмы со своим (виртуальным) буфером у каждого модуля — подкласс CP (Complete Partitioning);
— вид функции очереди Q — класс Q;
— вид функции сброса Р — класс P.
— нелинейная в рабочей области функция — подкласс NL (Non-Linear);
— нелинейная c кусочно-линейной аппроксимацией в рабочей области функция — подкласс NLA (Non-Linear with Approximation);
— изменённая вне рабочей области функция, возвращающая систему в устойчивое состояние — подкласс RS (Return to Steady);
— с дополнительной аддитивной или мультипликативной вероятностью — подклассы PA (Additive Probability) и PM (Multiplicative Probability) соответственно.
Предлагаемую структуру классификации можно пояснить следующим образом.
Модуль RED может обрабатывать лишь один поток трафика. Разновидности с несколькими блоками RED применимы в случае, когда имеется несколько потоков, которые должны быть обработаны с разными параметрами3 . При этом параметры RED (пороговые значения и максимальная вероятность сброса) могут быть едиными для всех типов трафика или индивидуальными для каждого потока. Как уже было сказано, поведение модуля RED описывается функциями Р и Q.
Изменения экспоненциально взвешенной скользящей средней длины очереди (1) направлены на то, чтобы увеличить крутизну функции в области значений , меньших нижнего порога, и уменьшить крутизну в областях значений, больших верхнего порога. Это обусловлено тем, что при выходе за пределы рабочей области система должна скорее вернуться в рабочий диапазон.
Наибольший интерес представляют алгоритмы, изменяющие вид функции сброса. Предположение о предпочтительности нелинейного вида функции сброса уже обсуждалось выше. Также было сказано о необходимости уменьшения вычислительной сложности алгоритма, что можно достигнуть аппроксимацией нелинейной функции сброса кусочно-линейной функцией.
Изменение вида функции сброса за пределами рабочей области служит, как и в случае с функцией очереди, возвращению системы в устойчивое состояние.
При необходимости задать дополнительную зависимость функции сброса от других параметров (например, явно учитывать количество входящих потоков) можно задать дополнительную вероятность, которая может быть аддитивной: Р = Pred(<?) + Padd, или мультипликативной: р = Pred(<?) х Padd.
Для иллюстрации построенной классификации приведём описание наиболее характерных алгоритмов для каждого класса RED.
5. Обзор алгоритмов на базе RED
5.1. Алгоритм Enhanced Random Early Detection
В алгоритме Enhanced Random Early Detection (ERED), предложенном в работе [6], изменениям подвергается функция экспоненциально взвешенной скользящей средней длины очереди:
1 — w „
-qk + wqk, q < qmin, a> 1,
a
qk+i = { (1 — w)qk + wqk, qmin < q < Qmax, (3)
n \ - , w qk ^ a ^ 1
(1 — w)qk + 1 ^ Imax, p> 1,
3Обычно такая ситуация возникает в системах DiffServ.
где а и @ — некоторые коэффициенты, позволяющие управлять задержкой реагирования д на изменение текущей длины очереди д, что уменьшает амплитуду и частоту колебаний экспоненциально взвешенной скользящей средней длины очереди.
Рис. 3. Функция экспоненциально взвешенной скользящей средней длины очереди
в алгоритме БКБО
В этом алгоритме поведение функции очереди модифицируется таким образом, чтобы при выходе за пределы рабочей области значение q как можно скорее возвратилось обратно. Отнесём его к классу Q.
5.2. Адаптивные алгоритмы: Adaptive RED, Refined
ARED, POWARED
Подбор оптимальных параметров RED представляет определённую сложность. Возможный вариант — использовать адаптивные механизмы, позволяющие динамически изменять параметры в зависимости от характера поведения трафика.
В алгоритме Adaptive RED (ARED), разработанном Фенгом [7, 8], функция сброса модифицируется посредством изменения по принципу MIMD4 (Multiplicative Increase Multiplicative Decrease) параметра pmax таким образом, чтобы удерживать экспоненциально взвешенную скользящую среднюю длину очереди q между заданными минимальным qm-m и максимальным qmax порогами (т.е. Pmax — Pmax
Данный алгоритм был усовершенствован Флойд [9] и теперь под алгоритмом ARED подразумевают именно эту модификацию. В этой модификации используется принцип AIMD5 (Additive Increase Multiplicative Decrease).
Алгоритм ARED функционирует следующим образом. Для каждого интервала interval (параметр) в секундах, если q больше целевой (желаемой) qt и Pmax ^ 0, 5, то pmax увеличивается на некоторую величину а; в противном случае, если q меньше целевой qt и pmax ^ 0, 01, то pmax уменьшается в ß раз (выбор значений параметров объяснён в [9]):
_ ( Pmax + а, q > qt, Pmax < 0, 5, Pmax I Pmax • ß, q < qt, Pmax > 0, 01, ( )
где
a — min^0, 01; ^^ , ß — 0,9,
qmin + 0,4(q
max - qmin) < qt < qmin + 0,6(q max qmin^.
4Данный принцип заключается в том, что увеличение и уменьшение некоторой величины производится путём умножения на некоторые параметры.
5Принцип Л1МВ заключается в том, что увеличение некоторой величины производится путём сложения с некоторым параметром, у уменьшение — путём умножения на параметр.
Таким образом, посредством изменения pmax строится нелинейная функция сброса. Алгоритм относится к классу P(NL).
Алгоритм Refined ARED (RARED) [10] является модификацией ARED и предлагает более активно изменять вероятность сброса pmax, чтобы иметь возможность быстрой адаптации к изменяющейся экспоненциально взвешенной скользящей средней длине очереди :
max =
| Pmax + а, \ßp max
q > fa q < qu
Pmax Pmax
< 0,5, > 0,01,
где
9min + 0, 48(qmax — 9min) < Üt < 9min + 0, 52(q max ¿7min ^ — qt \ fr.^qt —q
а = 0,25
ma
ß = 1 — 0,17
qt ) V qt - 9ш1г
Основной особенностью данного алгоритма является подстраивание коэффициентов а и Р в зависимости от д для того, чтобы быстрее возвращать систему в стационарный режим.
Алгоритм POWARED [11] также является модификацией алгоритма АКЕБ. Его суть заключается в том, что интервал Я _ [qm\Tí; qmax\ (й £ Я) разбивается на 3 части: _ [дшт; Я2 _ (9шах] и Яз _ а Ртах вычисляется по формуле:
где
¿1 =
'q — qt \ , ßqt J
к
Pmax —
¿2 =
[ Pmax — ¿1, q^Ql, Pmax + 02, q<EQ2, [Pmax, q e Q3,
f qt — q N \ß (R — qt).
к
qt
2( q "
+ 9min),
К (К > 1, К = 2, 3,...) — множитель, ß — параметр сжатия. Легко видеть, что здесь используется принцип AIAD6 (Additive Increase Additive Decrease).
Данный алгоритм является улучшением алгоритма ARED (в основном за счёт введения дополнительных параметров). Отнесём его к классу P(NL).
Пример 1. Пусть заданы следующие параметры: размер буфера R = 100, 9min = 20, qmax = 80, Pmax = 0, 01, qt = 2>(9max + 9min). Для ARED ß = 0, 9, для POWARED рассматриваются 2 случая: ß = 2 и ß = 5. Остальные параметры вычисляются согласно формулам соответствующих алгоритмов.
На рис. 4-7 показано функционирование рассматриваемых алгоритмов в стационарном режиме.
Из рис. 4-5 видно, что в начале работы, когда очередь пуста, система стремится к стационарной точке qt. Затем при увеличении q вероятность сброса пакетов повышается и при q = qmax достигает своего максимального для данного состояния значения. Затем начинается вторая часть цикла, когда q ^ qmin. Значение max на данном этапе уже отлично от первоначального. Поскольку соблюдается условие q > qt, pmax ^ 0, 5 алгоритма (как ARED, так и RARED), то значение pmax увеличивается на коэффициент а. Далее, по мере того, как q ^ qt, вероятность сброса увеличивается. Этот процесс будет происходить до тех пор, пока система не достигнет своей стационарной точки q = qt. После неё начнётся нелинейное уменьшение вероятности сброса пакетов, которое достигнет своего минимума при q = 9min, и на этом первый цикл заканчивается.
Второй цикл снова начинается из точки q = qmin, однако pmax уже отличается от своего начального значения pmax = 0, 01. Из графиков видно, что система, стремясь к стационарной точке qt, снова понижает вероятность сброса пакетов
6Принцип Л1ЛВ заключается в том, что увеличение / уменьшение некоторой величины производится путём сложения / вычитания с некоторым параметром.
0 10 20 30 40 50 60 70 80 д
Рис. 4. Функционирование ЛИЕВ в стационарном режиме
0 10 20 30 40 50 60 70 80 С[
Рис. 5. Функционирование ИЛИЕВ в стационарном режиме
Р
Р
0
0
и, пройдя её, начинает повышать ртах и, соответственно, вероятность сброса пакетов, которая достигнет своего максимума для данного состояния в точке (¡тах. Затем система пойдет по второй части цикла, повышая вероятность сброса на пути к стационарной точке, после которой начнется её нелинейное понижение. Таким образом закончится второй цикл, а система войдёт в своё стационарное состояние, в рамках которого она и будет продолжать функционировать.
Алгоритм POWARED более агрессивно реагирует на изменение д, чем ЛИББ (рис. 6, 7). Особенно хорошо это видно в случае К = 2.
К = 2
/ „ V" X / ~ / / / /' ' / - ' / / / / /' К = 3 ~ - - /' "ч/ - Л / \ / Ч / * -/ * 4 1
1 / \ / \ /' / / / А ~ / ' К = 4
'К /.......- / / х / ✓ /
0.35
Р
0.3
К = 2
У
20 30 40 50 60 70 80
\
К = 3 К = 4
20 30 40 50 60 70 80 д
функционир°вание Рис. 7. Функционирование
РО^^МО ]в стационарном режиме, ро^^ЛИЕВ в стационарном режиме,
К =2,3,4, р = 2 к = 2, з, 4, р = 5
р
0.25
0.05
0
В то же время при К = 4 вероятность сброса меняется очень медленно, что может снизить эффективность алгоритма. Значение К = 3 представляется наиболее оптимальным по эффективности — вероятность сброса меняется, но не резко.
Параметр @ представляет собой коэффициент сжатия — чем он больше, тем меньше разброс значений вероятности сброса.
Также видно, что после прохождения стационарной точки д = ^ вероятность сброса пакетов остается на своём прежнем уровне двольно долгое время. Исходя из этого получается, что система старается все время держать очередь рядом с желаемым значением
5.3. DSRED
В алгоритме Double Slope Random Early Detection (DSRED) [12] вводится дополнительное пороговое значение qmid между минимальным qmin и максимальным qmax порогами, причём qmia = 0, 5(qmax—qmin). Функция сброса описывается двумя линейными сегментами с углами наклона а и @ соответственно, регулируемыми задаваемым селектором режимов 7 (см. рис. 8).
pma
7 /
qmii
qmid
qma
Рис. 8. Вид функции сброса в алгоритме DSRED
Функция вероятности сброса пакетов в алгоритме DSRED имеет вид:
0, q < qmin, a(q - qmin), qmin < q < qmid, 1 -7 + ß(q - qmid), qmid < q < qmax,
1, q > qmax,
p( q) =
(5)
где
а
2(1 -7 )
ß
27
qmax qmin qmax qmin
а q вычисляется так же, как и в RED по формуле (1).
Таким образом, идеей данного алгоритма является задание нелинейной функции сброса, аппроксимированной ломаной линией с двумя звеньями. Алгоритм отнесём к классу P(NLA).
5.4. GRED
Функция вероятности сброса пакетов в алгоритме Gentle RED (GRED) [13] имеет вид:
p(q)
0,
q - qmin
max - m Q Qmax
ma
q < qmin,
qmin < q < qm ax
(6)
ma
1,
(1 - Pmax) + p max qmax < q < 2q q > 2qmax,
При формальной схожести поведения функции сброса алгоритмов DSRED и GRED между ними существует принципиальное различие. В DSRED функция имеет вид ломаной линии в пределах рабочего диапазона, фактически аппроксимируя нелинейную функцию. В GRED в рабочем диапазоне находится стандартная функция сброса RED. Дополнительный же сегмент служит для обеспечения более плавного поведения функции сброса за пределами рабочего диапазона. Отнесём этот алгоритм к классу P(RS).
Р m
qmin qmax 2 q max <1
Рис. 9. Вид функции сброса в алгоритме GRED
5.5. SDRED
Из четырех параметров RED в SDRED изменяются максимальный порог qmax и вес w очереди.
Функция вероятности сброса пакетов в алгоритме SDRED (рис. 10) вычисляется следующим образом [14]:
0,
q - Qmin
Р ma
^max Qmin
q - qmin
p(q) = <
( Qmax + 0, lR) - min
q - qmin
( Qmax + 0, 2 R) - min
q - qmin
( max + 0, 3 R) - min
l,
q < qmin
Qmin ^ q < 1max, Pmax, qmax < q < 0, 7R,
0,7 R < q < 0,8 R,
max max
0,8R < q < 0, 9 R, 0,9R < q < R.
(7)
qmin qmax 0, 7R 0, 8R 0, 9RR q
Рис. 10. Вид функции сброса в алгоритме SDRED
Р
Значение экспоненциально взвешенной скользящей средней длины очереди в алгоритме ЯБКЕБ имеет вид:
qi+i
(1 - w)qi + wqi, (1 - kw)qi + kwqi, (1 — k2w)qi + k2w qi, (1 — k3w)qi + k3w qi,
Qi < Qm&x, 0,9R < qi < R, Qmax < <ii < 0, 7 R, 0, 7R < qi < 0,8R, 0, 8 R < qi < 0,9R.
(8)
где к — константа для изменения т в зависимости от коэффициента занятости очереди.
В данном алгоритме применяются сразу два подхода: изменение функции очереди и функции сброса. Оба эти подхода направлены на ускорение возврата $ в рабочую область. Классифицируем данный алгоритм как РР(И8).
5.6. SRED (Stabilized RED)
Алгоритм SRED [15] использует дополнительную вероятность сброса, зависящую от числа активных соединений или потоков. Фактически с помощью данного алгоритма выявляются потоки, ведущие себя неадекватно (например, требующие неоправданно много ширины полосы пропускания). Эта схема позволяет держать занятость буфера на заранее определённых уровнях в независимости от количества активных соединений.
Результирующая вероятность представляет собой произведение полученной дополнительной вероятности сброса и собственно вероятности сброса RED, то есть алгоритм относится к классу P(PM).
Отметим, что когда вероятность сброса RED представлена ступенчатой функцией и w =1, q становится эквивалентной q.
5.7. WRED
Взвешенный алгоритм произвольного раннего обнаружения (Weighted Random Early Detection, WRED) предоставляет различные уровни обслуживания пакетов в зависимости от вероятности их отбрасывания и обеспечивает избирательную установку параметров механизма RED на основании типа трафика.
Рис. 11. Вид функции сброса в алгоритме WRED
Алгоритм WRED работает с единой очередью пакетов, для которой, как и в RED, по формуле (1) рассчитывается экспоненциально взвешенное скользящее среднее. Для каждого типа трафика задаются собственные параметры (пороговые значения, максимальный уровень сброса) и вычисляется вероятность сброса.
При этом пороговые значения длины очереди для различных уровней сброса пакетов могут быть полностью не совпадающими, частично перекрывающимися или полностью совпадающими.
Алгоритм относится к классу М(СБ).
5.8. Семейство алгоритмов RED with In / Out
В алгоритме RED with In / Out (RIO) (случайное раннее обнаружение с профильными / непрофильными пакетами) [16] поступающие пакеты делятся на профильные (IN) и непрофильные (OUT). Пакеты поступающего трафика определяются как IN-пакеты, если трафик находится в пределах заданной политики, и как OUT-пакеты, если трафик вышел за пределы заданной политики.
Для принятия решения о сбросе OUT-пакетов используется алгоритм RED относительно экспоненциально взвешенной скользящей средней длины общей очереди, а для принятия решения о сбросе IN-пакетов используется алгоритм RED относительно экспоненциально взвешенной скользящей средней длины виртуальной очереди только из IN-пакетов.
Алгоритм RED with In / Out and Coupled Virtual Queues (RIO-C) — случайное раннее обнаружение с профильными / непрофильными пакетами и парными виртуальными очередями так же, как и алгоритм RIO, оперирует понятиями IN-и OUT-пакетов. В данном алгоритме для пакетов с различным приоритетом используются разные ограничения, что позволяет пакетам с более высоким приоритетом обслуживаться быстрее. Кроме того, в алгоритме используется задание вероятности сброса пакета, которая может увеличиваться при росте интенсивности трафика какого-либо приоритета.
Принятие решения о сбросе IN-пакетов с приоритетом j, j < п зависит от значения экспоненциально взвешенной скользящей средней длины виртуальной очереди, состоящей только из IN-пакетов с приоритетом, меньшим или равным j. Принятие решения о сбросе OUT-пакетов с приоритетом п зависит от средней занятости общей (физической) очереди.
Алгоритм RED with In/Out and De-Coupled Queues (RIO-DC) — случайное раннее обнаружение с профильными / непрофильными пакетами и непарными виртуальными очередями так же, как и алгоритм RIO, оперирует понятиями IN- и OUT-пакетов. В этом алгоритме экспоненциально взвешенный скользящий средний размер очереди для пакетов определённого типа рассчитывается на основе их числа в очереди. Остальные параметры RED выбираются в зависимости от режима, заданного для различных уровней сброса пакетов.
Алгоритмы этого семейства относятся к классу M(CP).
5.9. SF-RED
Алгоритм SF-RED [17] использует одну физическую иг (в соответствии с числом классов трафика) виртуальных очередей, для каждой из которых заданы свои пороговые значения qmini и qmaxi, а функция сброса вычисляется по формуле
0, сц < qmini,
_ I Qi - Qmini ^ q < /Q\
Pi — ^ , Qmini ^ Qi < Qmaxi, (9) Qmaxi
1 Qi > Qmaxi,
где qi — экспоненциально взвешенная скользящая средняя длина виртуальной очереди i, зависящая от изменяемого значения веса w^. Для каждого интервала времени и класса i
( Qmini -а, Qi > Qtr
Qmini = 1 , - ^ (10)
' I Qmini + a, Qi < Qtr
{Pmaxi + ß, I1 <Щг, i = l
Pmaxi - ß, -71 > Wir, i = 1 <?i
где qt — целевое значение экспоненциально взвешенной скользящей длины физической очереди, а = 1, ß = 0,1, qtr = [(1 + 10%)gt, (1 — 10%)gt], Wir = [(1 + 10%)wi, (1 — 10%)ад]
6. Заключение
В заключение приведём сводную табл. 1 распределения рассмотренных в предыдущем разделе алгоритмов семейства RED по классам.
Таблица 1
Распределение алгоритмов семейства RED по классам
Класс M Q p
Алгоритм CS CP NL NLA RS PA PM
WRED +
RIO — +
SF-RED — + — — + — — —
ARED — — — + — — — —
RARED — — — + — — — —
POWARED — — — + — — — —
ERED — — + — — — — —
DSRED — — — — + — — —
GRED — — — — — + — —
SDRED — — + — — + — —
SRED +
Литература
1. Floyd S., Jacobson V. Random Early Detection Gateways for Congestion Avoidance // IEEE/ACM Transactions on Networking. — 1993. — No 1(4). — Pp. 397413.
2. Королькова А. В., Кулябов Д. С. Предварительная классификация алгоритмов семейства RED // Материалы XII научной конференции МГТУ «Стан-кин» и «Учебно-научного центра математического моделирования МГТУ «Станкин» - ИММ РАН» по математическому моделированию и информатике: Программа. Сборник докладов. / под ред. О. Казакова. — М.: ИЦ ГОУ ВПО МГТУ «Станкин», 2009. — С. 125-128.
3. Floyd S., Gummadi R., Shenker S. Adaptive RED: An Algorithm for Increasing the Robustness of RED's Active Queue Management. — 2001. — http://www. icir.org/floyd/papers/adaptiveRed.pdf.
4. Floyd S. Explicit Congestion Notification (ECN) mechanism in the TCP/IP protocol // ACM Computer Communications Review. — 1994. — Vol. 24.
5. Floyd S. RED: Discussions of Setting Parameters. — 1997. — http://www.aciri. org/floyd/REDparameters.txt.
6. Que D., Chen 'Z., Chen B. An Improvement Algorithm Based on RED and Its Performance Analysis // IEEE. — 2008. — Pp. 2005-2008.
7. Techniques for Eliminating Packet Loss in Congested TCP/IP Network: Techrep CSE-TR-349-97 / W. Feng, D. Kandlur, D. Saha, K. Shin / U. Michigan. — 1997.
46
Kopo.bKOBa A. B., Ky.a6oB ^ C., HepHOHBaHOB A. H.
8. A Self-Configuring RED Gateway / W. Feng, D. Kandlur, D. Saha, K. Shin // Infocom. — 1999.
9. Floyd S., Gummadi R., Shenker S. Adaptive RED: An Algorithm for Increasing the Robustness of RED's Active Queue Management. — 2001. — www.icir.org/ floyd/papers/adaptiveRed.pdf.
10. Kim T.-H., Lee K.-H. Refined Adaptive RED in TCP/IP Networks // SICE-ICASE International Joint Conference. — Bexco, Busan, Korea: 2006.
11. POWARED for Non-Linear Adaptive RED / B. K. Ng, M. S. Uddin, A. A. Y. M. Abusin, D. Chieng // Asia-Pacific Conference on Communications, Perth, Western Australia, 3 - 5 October 2005. — 2005.
12. Zheng B., Atiquzzaman M. DSRED: A New Queue Management Scheme for the Next Generation Internet // IEICE TRANS. COMMUN. — 2006. — Vol. E89-B, No 3.
13. Iannaccone G., May M., Diot C. Aggregate traffic performance with active queue management and drop from tail // SIGCOMM Comput. Commun. Rev. — 2001. — Vol. 31, No 3. — Pp. 4-13. — ISSN 0146-4833.
14. Ryoo I., Yang M. A State Dependent RED: An Enhanced Active Queue Management Scheme for Real-Time Internet Services // IEICE Trans. Commun. — 2006. — Vol. E89-B, No 2. — Pp. 614-617.
15. Ott T., Lakshman T., Wong L. SRED: Stabilized RED // Proceedings of INFO-COM'99. — 1999. — Pp. 1346-1355.
16. Clark D. D., Fang W. Explicit Allocation of Best-Effort Packet Delivery Service // IEEE/ACM Transactions on Networklng. — 1998. — Vol. 6, No 4. — Pp. 362373. — http://nms.lcs.mit.edu/6829-papers/p362-clark.pdf.
17. Wu H.-M., Wu C.-C., Lin W. SF-RED — a Novel Server-based AQM to Provide Inter-server Fairness Service // Proceedings of the 12th International Conference on Parallel and Distributed Systems (ICPADS'06). — 2006.
UDC 004.021, 519.2
On the Classification of RED Algorithms
A. V. Korolkova, D.S. Kulyabov, A.I. Tchernoivanov
Telecommunication Systems Department Peoples' Friendship University of Russia Miklukho-Maklaya str., 6, Moscow, Russia, 117198
The RED (Random Early Detection) based algorithm classification is suggested in the article. Nearly all variants of RED modifications are orthogonal and can be compound.
Key words and phrases: Random Early Detection (RED), Weighted RED (WRED), Enhanced RED (ERED), Adaptive RED (ARED), Refined ARED, POWARED, Gentle RED (GRED), Double Slope RED (DSRED), State Dependent RED (SDRED), Stabilized RED (SRED), RED with In/Out (RIO), SF-RED.