Обобщенное совместное использование процессора

Обобщенное разделение процессоров ( GPS ) — идеальный алгоритм планирования для планировщиков процессов и сетевых планировщиков . Он связан с принципом справедливой очереди , который группирует пакеты в классы и распределяет между ними пропускную способность. GPS распределяет эту пропускную способность в соответствии с некоторыми фиксированными весами . [1]

В планировании процессов GPS — это «идеализированный алгоритм планирования, который обеспечивает идеальную справедливость. Все практические планировщики аппроксимируют GPS и используют его в качестве эталона для измерения справедливости». [2]

Обобщенное разделение процессора предполагает, что трафик является текучим ( бесконечно малые размеры пакетов) и может быть произвольно разделен. Существует несколько дисциплин обслуживания, которые довольно точно отслеживают производительность GPS, например, взвешенная справедливая очередь (WFQ), [3], также известная как пакетно-пакетное обобщенное разделение процессора (PGPS).

Оправдание

В такой сети, как Интернет, различные типы приложений требуют разных уровней производительности. Например, электронная почта — это действительно приложение с функцией хранения и пересылки , а видеоконференции — нет, поскольку для них требуется низкая задержка . Когда пакеты выстраиваются в очередь на одном конце перегруженного канала, узел обычно имеет некоторую свободу в принятии решения о порядке отправки пакетов из очереди. Одним из примеров упорядочения является просто « первым пришел, первым обслужен» , что отлично работает, если размеры очередей невелики, но может привести к проблемам, если есть пакеты, чувствительные к задержке, которые блокируются пакетами из приложений с высокой пропускной способностью и высокой интенсивностью передачи.

Подробности

В GPS планировщик, обрабатывающий потоки (также называемые «классами» или «сессиями»), настроен с одним весом для каждого потока. Затем GPS гарантирует, что, рассматривая один поток и некоторый временной интервал , такой, что поток непрерывно задерживается на этом интервале ( т.е. очередь никогда не бывает пустой), то для любого другого потока выполняется следующее соотношение Н {\displaystyle N} ж я {\displaystyle w_{i}} я {\displaystyle я} ( с , т ] {\displaystyle (с,т]} я {\displaystyle я} дж {\displaystyle j}

ж дж О я ( с , т ) ж я О дж ( с , т ) {\displaystyle w_{j}O_{i}(s,t)\geq w_{i}O_{j}(s,t)}

где обозначает количество бит потока, выведенных на интервале . О к ( с , т ) {\displaystyle O_{k}(s,t)} к {\displaystyle к} ( с , т ] {\displaystyle (с,т]}

Тогда можно доказать, что каждый поток получит по крайней мере ставку я {\displaystyle я}

Р я = ж я дж = 1 Н ж дж Р {\displaystyle R_{i}={\frac {w_{i}}{\sum _{j=1}^{N}w_{j}}}R}

где - скорость сервера. [1] Р {\displaystyle R}

Это минимальная скорость. Если какой-то поток не использует свою полосу пропускания в течение некоторого периода, эта оставшаяся емкость делится между активными потоками с учетом их соответствующих весов. Например, рассмотрим сервер GPS с . Первый поток получит не менее половины емкости, тогда как два других получат только 1/4 . Тем не менее, если в какой-то промежуток времени активны только второй и третий потоки, они получат каждый по половине емкости. ж 1 = 2 , ж 2 = ж 3 = 1 {\displaystyle w_{1}=2,w_{2}=w_{3}=1} ( с , т ] {\displaystyle (с,т]}

Реализации, параметризация и справедливость

В GPS и всех протоколах, основанных на GPS, выбор весовых коэффициентов остается за администратором сети.

Обобщенное разделение процессора предполагает, что трафик является текучим, т. е. бесконечно делимым, так что всякий раз, когда тип приложения имеет пакеты в очереди, он получит ровно ту часть сервера, которая указана в формуле выше. Однако трафик не является текучим и состоит из пакетов, возможно, переменного размера. Поэтому GPS в основном является теоретической идеей, и было разработано несколько алгоритмов планирования для приближения к этому идеалу GPS: PGPS, также известный как Weighted fair queuing , является наиболее известной реализацией GPS, но у него есть некоторые недостатки, и было предложено несколько других реализаций, таких как Deficit round robin или WF2Q. [4]

GPS считается справедливым идеалом, и все его приближения «используют его в качестве эталона для измерения справедливости». [2] Тем не менее, существует несколько мер справедливости .

GPS нечувствителен к размерам пакетов, поскольку предполагает текучую модель.

Смотрите также

Ссылки

  1. ^ ab Parekh, AK; Gallager, RG (1993). "Обобщенный подход к разделению процессоров для управления потоками в сетях с интегрированными службами: случай с одним узлом" (PDF) . IEEE/ACM Transactions on Networking . 1 (3): 344. doi :10.1109/90.234856.
  2. ^ ab Li, T.; Baumberger, D.; Hahn, S. (2009). «Эффективное и масштабируемое многопроцессорное справедливое планирование с использованием распределенного взвешенного циклического алгоритма» (PDF) . Уведомления ACM SIGPLAN . 44 (4): 65. CiteSeerX 10.1.1.567.2170 . doi :10.1145/1594835.1504188. 
  3. ^ Демерс, А.; Кешав, С.; Шенкер, С. (1989). «Анализ и моделирование алгоритма справедливой очереди». ACM SIGCOMM Computer Communication Review . 19 (4): 1. doi : 10.1145/75247.75248 .
  4. ^ Беннетт, JCR; Хуэй Чжан (1996). "WF/sup 2/Q: Worst-case fair weighted fair queueing". Труды IEEE INFOCOM '96. Конференция по компьютерным коммуникациям . Том 1. стр. 120. doi :10.1109/INFCOM.1996.497885. ISBN 978-0-8186-7293-4. S2CID  17558577.
Взято с "https://en.wikipedia.org/w/index.php?title=Обобщенное_совместное_использование_процессоров&oldid=1159356096"