Экспоненциальная отсрочка - Exponential backoff

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

Алгоритм двоичного экспоненциального отката

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

Примеры: ретрансляция кадры в множественный доступ с контролем оператора связи с предотвращением столкновений (CSMA / CA) и множественный доступ с контролем несущей с обнаружением коллизий (CSMA / CD) сети, где этот алгоритм является частью доступ к каналу метод, используемый для отправки данных в эти сети. В Ethernet В сетях этот алгоритм обычно используется для планирования повторных передач после конфликтов. Ретрансляция задерживается на сумму время полученный из время слота (например, время, необходимое для отправки 512 бит, т. е. 512 бит-раз ) и количество попыток повторной передачи.

После c коллизий, случайное количество слотов от 0 до 2c − 1 выбран. После первого конфликта каждый отправитель будет ждать 0 или 1 слот раз. После второй коллизии отправители будут ждать от 0 до 3 временных интервалов (включающий ). После третьей коллизии отправители будут ждать от 0 до 7 временных интервалов (включительно) и так далее. По мере увеличения количества попыток повторной передачи количество возможностей задержки увеличивается экспоненциально.

«Усеченный» просто означает, что после определенного числа увеличений возведение в степень останавливается; то есть тайм-аут повторной передачи достигает максимального значения и после этого больше не увеличивается. Например, если потолок установлен на я = 10 (как в IEEE 802.3 Стандарт CSMA / CD[1]), то максимальная задержка составляет 1023 слота. Это полезно, потому что эти задержки приводят к конфликту и другим отправляющим станциям. Существует вероятность того, что в загруженной сети сотни людей могут попасть в один набор коллизий.[2]

Пример алгоритма экспоненциальной отсрочки

Этот пример взят из Ethernet протокол[3] где отправляющий хост может знать, когда произошла коллизия (то есть другой хост пытался передать), когда он отправляет кадр. Если оба хоста попытаются выполнить повторную передачу, как только произойдет конфликт, произойдет еще одно столкновение, и шаблон будет продолжаться вечно. Хосты должны выбрать случайное значение из допустимого диапазона, чтобы этого не произошло. Поэтому используется экспоненциальный алгоритм отсрочки. Значение «51,2 мкс» используется здесь в качестве примера, потому что это время слота для линии Ethernet 10 Мбит / с (см. Время слота ). Однако на практике 51,2 мкс можно заменить любым положительным значением.

  1. При первом возникновении коллизии отправьте «сигнал блокировки», чтобы предотвратить отправку дальнейших данных.
  2. Повторно отправьте кадр через 0 секунд или 51,2 мкс, выбранных случайным образом.
  3. Если это не удается, повторно отправьте кадр через 0 с, 51,2 мкс, 102,4 мкс или 153,6 мкс.
  4. Если это по-прежнему не работает, повторно отправить кадр через k · 51,2 мкс, где k является случайным целым числом от 0 до 23 − 1.
  5. В общем, после c-я неудачная попытка, повторно отправить кадр через k · 51,2 мкс, где k является случайным целым числом от 0 до 2c − 1.

Ожидаемая отсрочка

Учитывая равномерное распределение времени отсрочки, ожидал Время отсрочки - среднее из возможных. То есть после c коллизий, количество слотов отсрочки находится в [0, 1, ..., N], куда N = 2c − 1 и ожидаемое время отсрочки (в слотах) равно

Например, ожидаемое время отсрочки для третьего (c = 3) столкновения, можно сначала вычислить максимальное время отсрочки, N:

а затем вычислите среднее возможное время отсрочки:

.

что составляет, например, E (3) = 3,5 слота.

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

Рекомендации

  1. ^ «Стандарт IEEE 802.3-2015». IEEE. Получено 13 марта 2018. (покупка)
  2. ^ Компьютерные сети, 5-е издание, стр. 303, Таненбаум
  3. ^ Компьютерная сеть, Петерсон и Дэви