Exponential backoff is an
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
that uses
feedback
Feedback occurs when outputs of a system are routed back as inputs as part of a chain of cause-and-effect that forms a circuit or loop. The system can then be said to ''feed back'' into itself. The notion of cause-and-effect has to be handled ...
to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. These algorithms find usage in a wide range of systems and processes, with
radio networks
There are two types of radio network currently in use around the world: the one-to-many (simplex communication) broadcast network commonly used for public information and mass-media entertainment, and the two-way radio (duplex communication) type u ...
and
computer networks
A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are ...
being particularly notable.
Exponential backoff algorithm
An exponential backoff algorithm is a form of
closed-loop control system
Control theory is a field of mathematics that deals with the control of dynamical systems in engineered processes and machines. The objective is to develop a model or algorithm governing the application of system inputs to drive the system to ...
that reduces the rate of a controlled process in response to adverse events. Each time an adverse event is encountered, the rate of the process is reduced by some multiplicative factor. Examples of adverse events include
collisions of network traffic, an error response from a service, or an explicit request to reduce the rate (i.e. "back off").
The rate reduction can be modelled as an
exponential function
The exponential function is a mathematical function denoted by f(x)=\exp(x) or e^x (where the argument is written as an exponent). Unless otherwise specified, the term generally refers to the positive-valued function of a real variable, ...
:
:
or
:
Here, is the time delay applied between actions, is the multiplicative factor or "base", is the number of adverse events observed, and is the frequency (or rate) of the process (i.e. number of actions per unit of time). The value of is incremented each time an adverse event is observed, leading to an exponential rise in delay and, therefore, an inversely proportionate rate. An exponential backoff algorithm where is referred to as a ''binary'' exponential backoff algorithm.
When the rate has been reduced in response to an adverse event, it usually does not remain at that reduced level forever. If no adverse events are observed for some period of time, often referred to as the ''recovery time'' or ''cooling-off period'', the rate may be increased again. The time period that must elapse before attempting to increase the rate again may, itself, be determined by an exponential backoff algorithm. Typically, recovery of the rate occurs more slowly than reduction of the rate due to backoff, and often requires careful tuning to avoid
oscillation
Oscillation is the repetitive or Periodic function, periodic variation, typically in time, of some measure about a central value (often a point of Mechanical equilibrium, equilibrium) or between two or more different states. Familiar examples o ...
of the rate. The exact recovery behaviour is implementation-specific and may be informed by any number of environmental factors.
The mechanism by which rate reduction is practically achieved in a system may be more complex than a simple time delay. In some cases the value may refer to an
upper bound
In mathematics, particularly in order theory, an upper bound or majorant of a subset of some preordered set is an element of that is greater than or equal to every element of .
Dually, a lower bound or minorant of is defined to be an elem ...
to the time delay, rather than a specific time delay value. The name "expontential backoff" refers to the
exponential growth
Exponential growth is a process that increases quantity over time. It occurs when the instantaneous rate of change (that is, the derivative) of a quantity with respect to time is proportional to the quantity itself. Described as a function, a ...
characteristic of the backoff, rather than an exact numeric relationship between adverse event counts and delay times.
Rate limiting
Exponential backoff is commonly utilised as part of
rate limiting
In computer networks, rate limiting is used to control the rate of requests sent or received by a network interface controller. It can be used to prevent DoS attacks and limit web scraping.
Research indicates flooding rates for one zombie machin ...
mechanisms in computer systems such as
web services, to help enforce fair distribution of access to resources and prevent
network congestion
Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking ...
. Each time a service informs a client that it is sending requests too frequently, the client reduces its rate by some predetermined factor, until the client's request rate reaches an acceptable equilibrium. The service may enforce rate limiting by refusing to respond to requests when the client is sending them too frequently, so that misbehaving clients are not allowed to exceed their allotted resources.
A benefit of utilising an exponential backoff algorithm, over of a fixed rate limit, is that rate limits can be achieved dynamically without providing any prior information to the client. In the event that resources are unexpectedly constrained, e.g. due to heavy load or a service disruption, backoff requests and error responses from the service can automatically decrease the request rate from clients. This can help maintain some level of availability rather than overloading the service. In addition,
quality of service
Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitat ...
can be prioritised to certain clients based on their individual importance, e.g. by reducing the backoff for emergency calls on a
telephone network
A telephone network is a telecommunications network that connects telephones, which allows telephone calls between two or more parties, as well as newer features such as fax and internet. The idea was revolutionized in the 1920s, as more and more ...
during periods of high load.
In a simple version of the algorithm, messages are delayed by predetermined (non-random) time. For example, in
SIP protocol over unreliable transport (such as
UDP) the client retransmits requests at an interval that starts at T1 seconds (usually, 500 ms, which is the estimate of the
round-trip time
In telecommunications, round-trip delay (RTD) or round-trip time (RTT) is the amount of time it takes for a signal to be sent ''plus'' the amount of time it takes for acknowledgement of that signal having been received. This time delay includes pr ...
) and doubles after every retransmission until it reaches T2 seconds (which defaults to 4 s). This results in retransmission intervals of 500 ms, 1 s, 2 s, 4 s, 4 s, 4 s, etc.
[Rosenberg et al]
RFC3261 – SIP: Session Initiation Protocol
The Internet Society. 2002.
Collision avoidance
Exponential backoff algorithms can be used to avoid network collisions. In a
point-to-multipoint
In telecommunications, point-to-multipoint communication (P2MP, PTMP or PMP) is communication which is accomplished via a distinct type of one-to-many connection, providing multiple paths from a single location to multiple locations.
Point-to ...
or
multiplexed
In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource - a ...
network, multiple senders communicate over a single shared channel. If two senders attempt to transmit a message at the same time, or "talk over" each other, a collision occurs and the messages are damaged or lost. Each sender can then back off before attempting to
retransmit the same message again.
A
deterministic
Determinism is a philosophical view, where all events are determined completely by previously existing causes. Deterministic theories throughout the history of philosophy have developed from diverse and sometimes overlapping motives and consi ...
exponential backoff algorithm is unsuitable for this use case, since each sender would back off for the same time period, leading them to retransmit simultaneously and cause another collision. Instead, for purposes of collision avoidance, the time between retransmissions is
randomized
In common usage, randomness is the apparent or actual lack of pattern or predictability in events. A random sequence of events, symbols or steps often has no order and does not follow an intelligible pattern or combination. Individual rand ...
and the exponential backoff algorithm sets the ''range'' of delay values that are possible. The time delay is usually measured in
slots, which are fixed-length periods (or "slices") of time on the network. In a binary exponential backoff algorithm (i.e. one where ), after collisions, each retransmission is delayed by a random number of slot times between and . After the first collision, each sender will wait 0 or 1 slot times. After the second collision, the senders will wait anywhere from 0 to 3 slot times (
inclusive). After the third collision, the senders will wait anywhere from 0 to 7 slot times (inclusive), and so forth. As the number of retransmission attempts increases, the number of possibilities for delay
increases exponentially. This decreases the probability of a collision, but increases the average latency.
Exponential backoff is utilised during retransmission of
frames
A frame is often a structural system that supports other components of a physical construction and/or steel frame that limits the construction's extent.
Frame and FRAME may also refer to:
Physical objects
In building construction
*Framing (co ...
in
carrier-sense multiple access with collision avoidance (CSMA/CA) and
carrier-sense multiple access with collision detection
Carrier-sense multiple access with collision detection (CSMA/CD) is a medium access control (MAC) method used most notably in early Ethernet technology for local area networking. It uses carrier-sensing to defer transmissions until no other stati ...
(CSMA/CD) networks, where this algorithm is part of the
channel access
In telecommunications and computer networks, a channel access method or multiple access method allows more than two terminals connected to the same transmission medium to transmit over it and to share its capacity. Examples of shared physical me ...
method used to send data on these networks. In
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in ...
networks, the algorithm is commonly used to schedule retransmissions after collisions. The retransmission is delayed by an amount of
time
Time is the continued sequence of existence and events that occurs in an apparently irreversible succession from the past, through the present, into the future. It is a component quantity of various measurements used to sequence events, t ...
derived from the
slot time (for example, the time it takes to send 512 bits; i.e., 512
bit-times) and the number of attempts to retransmit.
Example
This example is from the
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in ...
protocol, where a sending host is able to know when a collision has occurred (that is, another host has tried to transmit), when it is sending a frame. If both hosts attempted to re-transmit as soon as a collision occurred, there would be yet another collision — and the pattern would continue forever. The hosts must choose a random value within an acceptable range to ensure that this situation doesn't happen. An exponential backoff algorithm is therefore used. The value 51.2 μs is used as an example here because it is the
slot time for a 10 Mbit/s Ethernet line. However, 51.2 μs could be replaced by any positive value, in practice.
# When a collision first occurs, send a "jamming signal" to prevent further data from being sent.
# Resend a frame after either 0 seconds or 51.2 μs, chosen at random.
# If that fails, resend the frame after either 0 s, 51.2 μs, 102.4 μs, or 153.6 μs.
# If that still fails, resend the frame after , where is a random integer between 0 and .
# For further failures, after the ''c''th failed attempt, resend the frame after , where is a random integer between 0 and .
Truncated exponential backoff
The 'truncated' variant of the algorithm introduces a limit on . This simply means that after a certain number of increases, the exponentiation stops. Without a limit on , the delay between transmissions may become undesirably long if a sender repeatedly observes adverse events, e.g. due to a degradation in network service. In a randomized system this may occur by chance, leading to unpredictable latency; longer delays due to unbounded increases in are exponentially less probable, but they are effectively inevitable on a busy network due to the
law of large numbers
In probability theory, the law of large numbers (LLN) is a theorem that describes the result of performing the same experiment a large number of times. According to the law, the average of the results obtained from a large number of trials sho ...
. Limiting helps to reduce the possibility of unexpectedly long transmission latencies and improve recovery times after a transient outage.
For example, if the ceiling is set at in a truncated binary exponential backoff algorithm, (as it is in the
IEEE 802.3 CSMA/CD standard
[ (purchase)]), then the maximum delay is 1023 slot times, i.e. .
Selecting an appropriate backoff limit for a system involves striking a balance between collision probability and latency. By increasing the ceiling there is an exponential reduction in probability of collision on each transmission attempt. At the same time, increasing the limit also exponentially increases the range of possible latency times for a transmission, leading to less deterministic performance and an increase in the average latency. The optimal limit value for a system is specific to both the implementation and environment.
Expected backoff
Given a
uniform distribution of backoff times, the
expected backoff time is the mean of the possibilities. After ''c'' collisions in a binary exponential backoff algorithm, the delay is randomly chosen from slots, where , and the expected backoff time (in slots) is
:
For example, the expected backoff time for the third () collision, one could first calculate the maximum backoff time, ''N'':
:
:
:
and then calculate the mean of the backoff time possibilities:
:
.
which is, for the example, slots.
See also
*
Control theory
Control theory is a field of mathematics that deals with the control of dynamical systems in engineered processes and machines. The objective is to develop a model or algorithm governing the application of system inputs to drive the system to a ...
References
Bibliography
*
{{DEFAULTSORT:Exponential Backoff
Ethernet
Network scheduling algorithms
Scheduling algorithms