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

Перейти к навигации Перейти к поиску
Строка 63: Строка 63:
'''Алгоритм: RS (случайный план)'''
'''Алгоритм: RS (случайный план)'''


1. Алгоритм использует m вспомогательных очередей Q1, ..., Qm размерами B1, ..., Bm (допускаются различные размеры буфера для разных портов), соответственно. Эти очереди содержат вещественные числа из интервала (0, 1), в свою очередь, каждое число помечено как маркированное или немаркированное. Изначально все очереди пусты.
1. Алгоритм использует m вспомогательных очередей <math>Q_1, ..., Q_m</math> размерами <math>B_1, ..., B_m</math> (допускаются различные размеры буфера для разных портов), соответственно. Эти очереди содержат вещественные числа из интервала (0, 1), в свою очередь, каждое число помечено как маркированное или немаркированное. Изначально все очереди пусты.


2. Поступление пакета. Если новый пакет поступает в очередь qi, то алгоритм равномерно случайным образом выбирает вещественное число из интервалап (0, 1), которое вставляется в очередь Qi и помечается как немаркированное. Если при поступлении пакета очередь Qi была полна, то перед вставкой нового номера удаляется число в начале очереди.
2. Поступление пакета. Если новый пакет поступает в очередь <math>q_i</math>, то алгоритм равномерно случайным образом выбирает вещественное число из интервала (0, 1), которое вставляется в очередь <math>Q_i</math> и помечается как немаркированное. Если при поступлении пакета очередь <math>Q_i</math> была полна, то перед вставкой нового номера удаляется число в начале очереди.


3. Пересылка пакета. Проверим, содержат ли очереди Q1, ..., Qm какие-либо немаркированные числа. Если немаркированные числа имеются, будем считать, что самое большое такое число содержит очередь Qi. Изменим метку наибольшего числа на «маркированное» и выберем очередь qi для передачи. В противном случае (при отсутствии немаркированных чисел) следует переслать пакет из любой непустой очереди, если таковая имеется.
3. Пересылка пакета. Проверим, содержат ли очереди <math>Q_1, ..., Q_m</math> какие-либо немаркированные числа. Если немаркированные числа имеются, будем считать, что самое большое такое число содержит очередь <math>Q_i</math>. Изменим метку наибольшего числа на «маркированное» и выберем очередь <math>q_i</math> для передачи. В противном случае (при отсутствии немаркированных чисел) следует переслать пакет из любой непустой очереди, если таковая имеется.




Теорема 8 [ ]. Рандомизированный алгоритм RS является -^—y £rf 1:58-конкурентным.
'''Теорема 8 [4]. Рандомизированный алгоритм RS является <math>\frac{e}{e - 1} \approx 1,58</math>-конкурентным.'''




'''Алгоритм: RP (случайная перестановка)'''
'''Алгоритм: RP (случайная перестановка)'''


Обозначим за P множество перестановок {1, ..., m}, называемых m-кортежами. Выберем ж 2 P с учетом равномерного распределения и зафиксируем его. На каждом шаге пересылки выберем среди непустых очередей ту, индекс которой располагается раньше всех других в m-кортеже ж.
Обозначим за P множество перестановок {1, ..., m}, называемых m-кортежами. Выберем <math>\pi \in P</math> с учетом равномерного распределения и зафиксируем его. На каждом шаге пересылки выберем среди непустых очередей ту, индекс которой располагается раньше всех других в m-кортеже <math>\pi</math>.




Теорема 9 [9]. Рандомизированный алгоритм RP является 32-конкурентным для B = 1. Согласно теореме 7, существует рандомизированный алгоритм RP, являющийся ^-конкурентным для произвольного B.
Теорема 9 [9]. Рандомизированный алгоритм RP является 3/2-конкурентным для B = 1. Согласно теореме 7, существует рандомизированный алгоритм <math>\tilde{RP}</math>, являющийся 3/2-конкурентным для произвольного B.




4817

правок

Навигация