Co to jest Exponential Backoff?

Exponential backoff jest rodzajem algorytmu, który polega na stopniowym zmniejszaniu szybkości procesu na podstawie odpowiedzi lub wyników. Spadek tempa procesu jest wykonywany aż do osiągnięcia odpowiedniego poziomu.

Ten szczególny algorytm jest stosowany głównie w sieciach komputerowych w formie binarnego odgałęzienia wykładniczego, które jest wykorzystywane do regulowania konkretnego bloku danych, który jest przesyłany wielokrotnie. Algorytm pozwala na bardziej równomierny i regularny odstęp retransmisji danych, aby zapobiec przeciążeniu w ruchu sieciowym.

Przykładem zastosowania wykładniczego przesunięcia jest protokół Ethernet. Gdy host próbuje wysłać ramkę danych, algorytm zapewnia hostowi możliwość wykrywania kolizji lub transmisji danych przez inny host. Bez wykładniczego wycofywania istnieje ryzyko, że oba hosty będą wielokrotnie ponawiać tę samą transmisję danych, co spowoduje powtarzające się kolizje w nieskończonym cyklu. Korzystając z wykładniczego przesunięcia, dwa hosty mogą wybrać inną wartość losowo w wygodnym zakresie od pierwotnie zamierzonej wartości i ocenić, czy zdarzy się kolizja.

W terminologii Internetowej wykładnicze wyprzedzenie jest używane do pobierania żądań na podstawie kodów statusu żądań serwera. Programiści mogą korzystać z tego algorytmu w celu uniknięcia przytłaczających żądań do serwera, który został wyrenderowany.