Кратко

  • В модели Keshav два пакета без исходного интервала сильнее всего раздвигал самый медленный сервер распределения скорости; интервал между ACK давал зашумлённую оценку обслуживания, выделенного одному соединению.
  • Оценка входила в регулятор с целевой длиной очереди, нечётко настраиваемым экспоненциальным усреднением и условным доказательством устойчивости. Намеренная пауза восстанавливала привязку при дрейфе.
  • Пара пакетов не удостоверяла общую пропускную способность Интернета. Метод зависел от дисциплины, похожей на Fair Queueing, не распространялся на обычный FCFS и не гарантировал доставку, отсутствие потерь или качество приложения.

Создать ровно столько очереди, сколько нужно для наблюдения

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

В ретроспективе 2019 года Keshav вспоминает декабрь 1989-го и кафе в Berkeley. Два пакета должны были уйти один за другим. Первый занимал такт обслуживания, второй ждал сразу за ним. Среди нескольких узлов наибольший интервал задавал тот, который медленнее всего обслуживал именно этот поток. Подтверждения могли вернуть этот интервал источнику без явного поля скорости от маршрутизаторов.

У воспоминания есть собственная граница: это редакционная заметка без рецензирования. Она свидетельствует о том, как Keshav помнит исследование, но не является независимым испытанием. Там же он пишет, что Samar Singh и Ashok Agrawala примерно одновременно пришли к схожей идее независимо и затем объединили работу с ним. Статья SIGCOMM написана Keshav, но пара пакетов не была одиночным изобретением.

Состояние сделала читаемым дисциплина очереди

Работа предполагала Rate Allocating Servers, родственные Fair Queueing и Virtual Clock. Каждое активное соединение получало достаточно регулярные ходы, чтобы интервал между обслуживаниями его собственных пакетов был осмысленным. В него входили ходы других соединений; самый длинный интервал по пути становился временем обслуживания узкого места.

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

Именно поэтому результат прямо не переносился на First-Come-First-Served. В FCFS всплеск чужого потока способен резко изменить видимую скорость этого потока. Без распределения по соединениям одинаковый интервал может означать другое состояние. Зонд не извлечёт структуру, которой система не предоставляет.

Обратный путь тоже переписывал квитанцию

Источник не видел очередь напрямую. Два ACK могли по-разному задержаться на обратном пути и увеличить или уменьшить промежуток. Даже на прямом пути узел после узкого места мог внести различную задержку. Измерение у получателя сокращало часть обратного шума, но не устраняло все изменения ниже узкого места.

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

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

Доказательство устойчивости сохраняло область действия

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

B/2 служило иллюстрацией. Около нуля поток мог упустить свой ход из-за отсутствия готового пакета; около предела росли задержка и потери. При симметричном шуме половина уравновешивала края. Автор разрешал другой ориентир — это не универсальная настройка.

Первый закон оставлял полюса на единичной окружности и не был асимптотически устойчив. Параметр размещения переносил их внутрь для заданной линейной модели. Непрерывный вариант мог реагировать на каждый вернувшийся зонд, а не только раз за RTT. Доказательство было серьёзным именно потому, что сохраняло предпосылки: жидкостное приближение, наблюдаемый RAS, линейность и модель шума.

Остановиться, чтобы вновь получить проверяемый ноль

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

Исправление имело видимую цену. Источник отправлял специальную пару и замолкал до получения подтверждений. Без последующих пакетов очередь данного соединения в узком месте могла опустеть. Тогда оценка сбрасывалась в ноль. Цена — около одного RTT неиспользованной полосы.

Пауза создавала проверяемое условие. Вместо ещё одного слоя сглаживания контроллер заново связывал число с физическим состоянием.

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

Чего два пакета не доказывали

Статья 1991 года лишь качественно суммировала моделирование, отсылала подробности к другим работам и называла измерения в реальной сети будущей задачей. Она признавала ограничения линейности, гауссова белого шума, взаимодействия с окном и модели одного соединения, где влияние остальных превращалось в шум.

Позднейшие методы packet dispersion применялись к оценке ёмкости канала и доступной полосы. Нельзя задним числом вкладывать это в раннюю работу. Пара Keshav оценивала скорость, выделенную соединению при RAS. Она не доказывала физическую скорость линии, свободную ёмкость, сквозную производительность, отсутствие потерь или результат приложения.

Официальная биография Cambridge проводит его путь через Berkeley, Bell Labs, Cornell, Waterloo и Cambridge; личная страница поясняет, что Keshav — его имя, хотя синтаксически стоит последним. Главное наследие работы — сохранённая цепочка происхождения: интервал, соединение, планировщик, направление, время и неопределённость должны оставаться вместе, прежде чем число получит право управлять.

Источники