Взвешенная справедливая очередь

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Взвешенная справедливая очередь (англ. Weighted fair queuing, WFQ) — механизм планирования пакетных потоков данных с различными приоритетами. Его целью является регулировать использования одного канала передачи данных несколькими конкурирующими потоками. В данном случае под потоком понимается очередь пакетов данных.

Это обобщение алгоритма честных планировщиков (англ. Fair Queuing) (FQ). Оба планировщика имеют отдельные FIFO-очереди для каждого потока данных. Так, если канал со скоростью используется для потоков, то скорость обработки каждого из них будет при использовании честного планировщика. Честный планировщик с приоритетными коэффициентами позволяет регулировать долю каждого потока. Если имеется активных потоков, с приоритетами , то -ый поток будет иметь скорость .

Теория[править | править вики-текст]

Каждому пришедшему пакету присваивается виртуальное время начала и конца обработки , где  — это номер пакета, а i — номер потока. Время начала и конца вычисляются по следующим формулам:

,

где и  — время прихода и длина пакета соответственно.

 — виртуальная функция времени, которая определяется как , где j — все активные сессии.

Пример[править | править вики-текст]

Пусть у нас есть три очереди: первые две с приоритетом 1 и третья имеет приоритет 2. С самого начала мы имеем 1 пакет в первой, два во второй и 5 в третьей. Пусть все пакеты одинакового размера.

0 1/4 1 0 1 2 0 1 5 0 1/2
1/4 1/4 1 0 1 2 0 1 4 0 1
1/2 1/4 1 0 1 2 0 1 3 0 1.5
3/4 1/4 1 0 1 1 0 1 3 0 1.5
1 1/3 0 1 1 2 3 1 1.5
1 1/3 1/3 0 1 1 2 2 1 2
1 2/3 1/3 0 1 1 2 1 1 2.5
1 2/3 1/3 0 0 1 1 2.5

Ссылки[править | править вики-текст]