Обмен пакетами при помощи одного буфера: различия между версиями

Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий 1 участника)
Строка 1: Строка 1:
== Ключевые слова и синонимы ==
== Ключевые слова и синонимы ==
[[Буферизация]]
Буферизация


== Постановка задачи ==
== Постановка задачи ==
Рассмотрим систему буферизации с гарантированным качеством обслуживания (QoS), способную хранить ''B'' пакетов. Время квантовано. В начале временного отрезка поступает набор пакетов (возможно, пустой), а в конце этого отрезка один пакет может покинуть буфер для передачи. Поскольку буфер имеет ограниченный размер, в какой-то момент может возникнуть необходимость отбрасывания пакетов. Алгоритм управления буфером должен на каждом временном отрезке решать, какие из пакетов отбросить, а какие передать, учитывая ограниченную емкость буфера. Стоимость пакета обозначим за v(p). Системе присваивается стоимость пакетов, которые она отправляет, в противном случае прибавки стоимости не происходит. Цель алгоритма управления буферами заключается в максимизации совокупной стоимости переданных пакетов.
Рассмотрим систему буферизации с гарантированным качеством обслуживания (QoS), способную хранить ''B'' пакетов. Время квантовано. В начале временного отрезка в буфер поступает набор пакетов (возможно, пустой), а в конце этого отрезка один пакет может покинуть буфер для передачи. Поскольку буфер имеет ограниченный размер, в какой-то момент может возникнуть необходимость отбрасывания пакетов. Алгоритм управления буфером должен на каждом временном отрезке решать, какие из пакетов отбросить, а какие передать, учитывая ограниченную емкость буфера. Стоимость пакета p обозначим за v(p). Системе присваивается стоимость пакетов, которые она отправляет, в противном случае прибавки стоимости не происходит. Цель алгоритма управления буферами заключается в максимизации совокупной стоимости переданных пакетов.




Строка 19: Строка 19:


'''Жадный алгоритм.'''
'''Жадный алгоритм.'''
   При поступлении пакета стоимостью v(p):
   При поступлении пакета стоимостью v(p):
   1. Если в буфере имеется свободное место, принять пакет p.
   1. Если в буфере имеется свободное место, принять пакет p.
   2. В противном случае отбросить (вытеснить) пакет p0, имеющий минимальную стоимость среди всех пакетов бучера и p. Если p' /p, принять p.
   2. В противном случае отбросить (вытеснить) пакет p', имеющий минимальную стоимость среди всех пакетов буфера и p. Если <math>p' \ne p</math>, принять p.


Рисунок 1. Естественный жадный алгоритм
Рисунок 1. Естественный жадный алгоритм




   0. Вытеснить (отбросить) первый пакет p0 согласно порядку FIFO, такой, что v(p0) < v(p)//S, если таковой существует (p вытесняет p0).
   0. Вытеснить (отбросить) первый пакет p' согласно порядку FIFO, такой, что <math>v(p') \le v(p) / \beta</math>, если таковой существует ''(p вытесняет p')''.


Рисунок 2. Дополнительное правило для естественного жадного алгоритма
Рисунок 2. Дополнительное правило для естественного жадного алгоритма


   0'. Найти первый (т. е. ближайший к началу буфера) пакет p0, такой, что его стоимость ниже v{p)lf$ и не выше стоимости пакета, следующего за p0 в буфере (если таковой существует). Отбросить найденный пакет (p вытесняет 0).
   0'. Найти первый (т. е. ближайший к началу буфера) пакет p', такой, что его стоимость ниже <math>v(p) / \beta</math> и не выше стоимости пакета, следующего за p' в буфере (если таковой существует). Отбросить найденный пакет ''(p вытесняет p')''.


Рисунок 3. Модифицированный жадный алгоритм с вытеснением
Рисунок 3. Модифицированный жадный алгоритм с вытеснением




В работе [7] показано, что при условии f$ = 15 коэффициент конкурентоспособности жадного алгоритма с вытеснением (PG) составляет 1,983. Довольно сложный анализ выполняется при помощи присваивания значений пакетов, обслуживаемых оффлайновым алгоритмом, пакетам, обслуживаемым алгоритмом PG.
В работе [7] было показано, что в случае <math>\beta = 15</math> коэффициент конкурентоспособности жадного алгоритма с вытеснением (PG) составляет 1,983. Довольно сложный анализ выполняется при помощи присваивания стоимостей пакетов, обслуживаемых оффлайновым алгоритмом, пакетам, обслуживаемым алгоритмом PG.




Нижняя граница для этой задачи, равная 5/4, была доказана в [9]. Она была улучшена до p2 в работе [ ] и затем до 1.419.
Нижняя граница для этой задачи, равная 5/4, была доказана в [9]. Она была улучшена до <math>\sqrt{2}</math> в работе [2] и затем до 1,419 в [7].


== Основные результаты ==
== Основные результаты ==
Модификацию алгоритма PG предложили Бансал, Флейшер, Кимбрел, Мадьян, Шибер и Свириденко [3]. В этой версии правило 0 заменено правилом 00.
Модификацию алгоритма PG предложили Бансал, Флейшер, Кимбрел, Мадьян, Шибер и Свириденко [3]. В этой версии правило 0 заменено правилом 0'.




Таким образом, изменение по сравнению с исходным алгоритмом PG заключается в том, что модифицированный алгоритм находит «локальнооптимальный» пакет для исключения. Обозначим модифицированный жадный алгоритм с вытеснением как MPG.
Таким образом, изменение по сравнению с исходным алгоритмом PG заключается в том, что модифицированный алгоритм находит «локально оптимальный» пакет для исключения. Обозначим модифицированный жадный алгоритм с вытеснением как MPG.




'''Теорема 1 [3]. Для f$ = 4 конкурентоспособности алгоритма MPG составляет 1,75.'''
'''Теорема 1 [3]. При <math>\beta = 4</math> коэффициент конкурентоспособности алгоритма MPG составляет 1,75.'''




Для доказательства вначале было показано, что для анализа эффективности работы MPG достаточно рассмотреть только экземпляры входных данных, у которых стоимость каждого пакета равна либо 0, либо f$l для некоторого i > 0, но при этом допускается разрешение ситуаций с ничьей при помощи противника.
Для доказательства вначале было показано, что для анализа эффективности работы MPG достаточно рассмотреть только экземпляры входных данных, у которых стоимость каждого пакета равна либо 0, либо <math>\beta^i</math> для некоторого <math>i \ge 0</math>, но при этом допускается разрешение ситуаций с ничьей при помощи противника.




Затем авторы определили структуру интервалов для экземпляров входных данных. Интервал I имеет тип i, если на каждом шаге t 2 экземпляр IMPG выдает пакет стоимостью не меньше ft', при этом I является максимальным интервалом с таким свойством.
Затем авторы определили ''структуру интервалов'' для экземпляров входных данных. Интервал I имеет тип i, если на каждом шаге <math>t \in I</math> экземпляр MPG выдает пакет стоимостью не меньше <math>\beta^i</math>, при этом I является максимальным интервалом с таким свойством.




Ii – это набор максимальных интервалов типа i, а I – объединение всех коллекций Ii. Оно является мультимножеством, поскольку интервал типа i также может входить в интервал одного или нескольких типов j < i.
<math>\mathcal{I}_i</math> – это набор максимальных интервалов типа i, а <math>\mathcal{I}</math> – объединение всех <math>\mathcal{I}_i</math>. Оно является мультимножеством, поскольку интервал типа i также может входить в интервал одного или нескольких типов j < i.




Этот подход порождает структуру интервалов, представляющую собой естественную последовательность упорядоченных корневых деревьев: корнем каждого дерева является интервал из %, а потомками каждого интервала I 2 Ii являются все максимальные интервалы типа i + 1, содержащиеся в I. Эти потомки упорядочены слева направо по времени, также как и сами деревья. Интервалы типа i (и представляющие их вершины) различаются по тому, был или не был на этом интервале исключен пакет стоимостью не менее f$l.
Этот подход порождает структуру интервалов, представляющую собой естественную последовательность упорядоченных корневых деревьев: корнем каждого дерева является интервал из <math>\mathcal{I}_0</math>, а потомками каждого интервала <math>I \in \mathcal{I}_i</math> являются все максимальные интервалы типа i + 1, содержащиеся в I. Эти потомки упорядочены слева направо по времени, также как и сами деревья. Интервалы типа i (и представляющие их вершины) различаются по тому, был или не был на этом интервале исключен пакет стоимостью не менее <math>\beta^i</math>.




В завершение доказательства авторы показали, что для каждой структуры интервалов T коэффициент конкурентоспособности алгоритма MPG на экземплярах со структурой интервалов T может быть ограничен решением линейной программы, индексированной T. Наконец, было показано, что для любого T и любого /3 > 4 решение этой программы не превышает 2 1/f$.
В завершение доказательства авторы показали, что для каждой структуры интервалов <math>\mathcal{T}</math> коэффициент конкурентоспособности алгоритма MPG на экземплярах со структурой интервалов <math>\mathcal{T}</math> может быть ограничен решением линейной программы, индексированной <math>\mathcal{T}</math>. Наконец, было показано, что для любого <math>\mathcal{T}</math> и любого <math> \beta \ge 4</math> решение этой программы не превышает <math>2 - 1 / \beta</math>.


== Применение ==
== Применение ==
Строка 69: Строка 68:




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


== Открытые вопросы ==
== Открытые вопросы ==
Несмотря на значительное улучшение верхней границы для этой задачи, разрыв все же довольно велик. Сгалл [5] показал что алгоритм PG не уступает MPG по эффективности. Позднее Энглерт и Вестерманн [4] показали, что коэффициент конкурентоспособности алгоритма PG не выше p3 & 1:732 и не ниже 1 + 1/2 p2 fa 1:707. Таким образом, для дальнейшего улучшения требуется иной алгоритм.
Несмотря на значительное улучшение верхней границы для этой задачи, разрыв все же довольно велик. Сгалл [5] показал что алгоритм PG не уступает MPG по эффективности. Позднее Энглерт и Вестерманн [4] показали, что коэффициент конкурентоспособности алгоритма PG не выше <math>\sqrt{3} \approx 1,732</math> и не ниже <math>1 + 1/2 \sqrt{2} \approx 1,707</math>. Таким образом, для дальнейшего улучшения требуется иной алгоритм.




Строка 98: Строка 97:


9. Mansour, Y., Patt-Shamir, B., Lapid, O.: Optimal smoothing schedules for real-time streams. In: Proc. 19th Symp. on Principles of Distributed Computing (PODC), pp. 21-29. ACM, New York (2000)
9. Mansour, Y., Patt-Shamir, B., Lapid, O.: Optimal smoothing schedules for real-time streams. In: Proc. 19th Symp. on Principles of Distributed Computing (PODC), pp. 21-29. ACM, New York (2000)
[[Категория: Совместное определение связанных терминов]]

Навигация