Кратко

  • FQ-PIE хеширует видимую пятёрку полей в конечное число очередей, ведёт PIE для каждой и обслуживает их планировщиком на основе DRR.
  • Переход пакета в кольцо драйвера может выглядеть как разгрузка очереди, хотя передача по линии ещё не произошла; точка измерения входит в смысл метрики.
  • Классификацию, выборку задержки, решение о перегрузке, услугу планировщика и конечный результат следует подтверждать раздельными связанными квитанциями.

Две границы одного слова «ушёл»

Пакет удалён из программной очереди и помещён в передающее кольцо. Для счётчика хоста он ушёл. Для линии он ещё ждёт. Если оценка скорости разгрузки использует первую границу, закон Литтла даст задержку именно этой очереди, а не полное время до физической передачи.

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

Ревизия 02 Internet-Draft Flow Queue PIE рабочей группы IETF TSVWG датирована 6 июля 2026 года и истекает 7 января 2027 года. Datatracker показывает активный документ рабочей группы со статусом IESG I-D Exists; текст указывает предполагаемый статус Experimental. Это не RFC.

Бакет не равен субъекту

FQ-PIE берёт номер протокола, адреса источника и назначения, порты источника и назначения и хеширует эту видимую пятёрку в конечную таблицу очередей. Ограниченная таблица практична, но её ячейки не являются реестром клиентов или приложений.

Разные пятёрки могут столкнуться в одном бакете и разделить состояние PIE и обслуживание. Один клиент, напротив, может открыть много соединений и получить много бакетов. Планировщик способен совершенно корректно обслуживать каждый активный бакет, а совокупная доля клиентов останется неравной.

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

Туннель меняет наблюдаемую единицу

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

Раскрывать внутреннюю идентичность только ради планирования опасно для приватности и безопасности. Поэтому требуется не тотальная видимость, а явное описание видимой единицы, защищаемой единицы и качества связи между ними. Если связи нет, это ограничение вывода о справедливости, а не повод её вообразить.

PIE управляет выборкой состояния

PIE обновляет вероятность отбрасывания по отклонению измеренной задержки от цели и направлению изменения. В примерах RFC 8033 цель равна 15 миллисекундам, стандартный интервал обновления также равен 15 миллисекундам. Цель — параметр регулятора, а не обещание каждому пакету.

Разрешение на всплеск позволяет короткой серии временно обойти случайное отбрасывание, даже если задержка выше цели. Это преднамеренное поведение. Отдельное превышение не доказывает отказ, а сама цель не доказывает выполненный SLO. Нужна временная последовательность цели, остатка разрешения, вероятности, выборки и восстановления.

PIE умеет оценивать задержку по длине очереди и скорости разгрузки через закон Литтла или использовать прямые временные метки. Проект FQ-PIE рекомендует прямые метки, потому что надёжную скорость для каждой очереди получить трудно. Именно здесь различие между драйверным кольцом и линией становится решающим.

Прямая выборка тоже может быть достоверной, но уже непредставительной. Обновление вероятности может взять задержку последнего извлечённого пакета. После резкой смены скорости или структуры поступления она устарела. Точка измерения, время, возраст, предыдущее значение, момент обновления и offload-состояние должны храниться вместе.

Локальный сигнал не равен реакции

ECN-способный пакет можно маркировать вместо отбрасывания. Марка доказывает локальное изменение поля при конкретной конфигурации, вероятности и пороге. Она не доказывает, что получатель вернул сигнал, отправитель снизил скорость, нижележащая очередь освободилась или приложение выиграло.

Если общая пакетная ёмкость исчерпана, новый пакет отбрасывается без дальнейшей обработки. Это квитанция локального неприёма, не сертификат вины «толстого потока». FQ-PIE не повторяет насыщенную процедуру FQ-CoDel с поиском крупнейшей по байтам очереди и массовым отбрасыванием из неё. Проект отмечает риск недоиспользования линии, поскольку PIE уже действует при постановке в очередь. Отсутствующую атрибуцию нельзя дорисовывать в отчёте.

Визит DRR имеет узкий смысл

Планировщик на основе deficit round robin использует квант и дефицит для обхода активных очередей. Визит, положительный дефицит и переданные байты убедительно доказывают обслуживание бакета. Они не доказывают равное время завершения. Размеры пакетов, RTT, транспортный алгоритм, спрос, последующие узкие места и число потоков у одного субъекта остаются значимыми.

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

Проект сообщает о реализациях в Linux, FreeBSD и ns-3. Это свидетельство доступного кода, но не конфигурации конкретного производственного интерфейса, его параметров, границы измерения или результата. Взаимодействие с BBR, порог mark/drop, короткие потоки, улучшения PIE и альтернативные хеши остаются перечисленными направлениями экспериментов.

Источники