<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Additive_increase%2Fmultiplicative_decrease</id>
	<title>Additive increase/multiplicative decrease - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Additive_increase%2Fmultiplicative_decrease"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Additive_increase/multiplicative_decrease&amp;action=history"/>
	<updated>2026-04-16T15:48:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=Additive_increase/multiplicative_decrease&amp;diff=11757745&amp;oldid=prev</id>
		<title>imported&gt;Monkbot: /* In nature */ Monkbot/task 21: Replace page(s) with article-number;</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Additive_increase/multiplicative_decrease&amp;diff=11757745&amp;oldid=prev"/>
		<updated>2025-09-30T14:40:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;In nature: &lt;/span&gt; &lt;a href=&quot;/index.php/User:Monkbot/task_21:_Replace_page(s)_with_article-number&quot; title=&quot;User:Monkbot/task 21: Replace page(s) with article-number&quot;&gt;Monkbot/task 21: Replace page(s) with article-number&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Feedback control algorithm used in congestion control}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;additive-increase/multiplicative-decrease&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;AIMD&amp;#039;&amp;#039;&amp;#039;) algorithm is a feedback control algorithm best known for its use in [[TCP congestion control]]. AIMD combines linear growth of the congestion window when there is no congestion with an exponential reduction when congestion is detected. Multiple flows using AIMD congestion control will eventually converge to an equal usage of a shared link.&amp;lt;ref name=chui1989&amp;gt;{{cite journal|last=Chiu|first=Dah-Ming|author2=Raj Jain|title=Analysis of increase and decrease algorithms for congestion avoidance in computer networks|journal=Computer Networks and ISDN Systems|year=1989|volume=17|pages=1–14|doi=10.1016/0169-7552(89)90019-6 }}&amp;lt;/ref&amp;gt; The related schemes of multiplicative-increase/multiplicative-decrease (MIMD) and additive-increase/additive-decrease (AIAD) do not reach [[Stability theory|stability]].&lt;br /&gt;
&lt;br /&gt;
== Algorithm ==&lt;br /&gt;
&lt;br /&gt;
The approach taken is to increase the transmission rate (window size), probing for usable bandwidth, until loss occurs. The policy of additive increase may, for instance, increase the congestion window by a fixed amount every [[round-trip time]]. When congestion is detected, the transmitter decreases the transmission rate by a multiplicative factor; for example, cut the congestion window in half after loss. The result is a saw-tooth behavior that represents the process of bandwidth probing.&lt;br /&gt;
&lt;br /&gt;
AIMD requires a binary congestion signal. Most frequently, packet loss serves as the signal; the multiplicative decrease is triggered when a timeout or an acknowledgement message indicates a packet lost. It is also possible for in-network switches/routers to mark congestion (without discarding packets) as in [[Explicit Congestion Notification]] (ECN).&lt;br /&gt;
&lt;br /&gt;
=== Mathematical Formula ===&lt;br /&gt;
&lt;br /&gt;
Let &amp;lt;math&amp;gt;w(t)&amp;lt;/math&amp;gt; be the [[congestion window]] size indicating the amount of data in flight during time slot &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;a &amp;gt; 0&amp;lt;/math&amp;gt;) be the additive increase parameter, and &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;0 &amp;lt; b &amp;lt; 1&amp;lt;/math&amp;gt;) be the multiplicative decrease factor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
w(t + 1) = \begin{cases}&lt;br /&gt;
  w(t) + a &amp;amp; \text{ if congestion is not detected} \\&lt;br /&gt;
  w(t) \times b &amp;amp; \text{ if congestion is detected}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In TCP, after [[TCP congestion control#Slow start|slow start]], the additive increase parameter &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; is typically one MSS ([[maximum segment size]]) per [[round-trip time]], and the multiplicative decrease factor &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; is typically 1/2.&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
&lt;br /&gt;
AIMD congestion avoidance is or was used in:&lt;br /&gt;
* [[Transmission Control Protocol]] (TCP)&lt;br /&gt;
* [[Scalable TCP]] (STCP) &lt;br /&gt;
* [[Transport layer#Comparison of OSI transport protocols|OSI Transport Class 4]]&amp;lt;ref name=chui1989/&amp;gt;&lt;br /&gt;
* [[DCCP]] (in some modes)&amp;lt;ref&amp;gt;{{cite IETF |last1=Floyd |last2=Kohler |rfc=4341 |title=Profile for Datagram Congestion Control Protocol (DCCP) Congestion Control ID 2: TCP-like Congestion Control |date=March 2006}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[DECnet]]&amp;lt;ref name=chui1989/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== In nature ==&lt;br /&gt;
AIMD has been found to be utilized by diverse [[biological system]]s, including maintaining [[Cell size|cell-size]] homeostasis and for [[Synaptic plasticity|synaptic learning]] and adaptation in [[neural circuit]]s.&amp;lt;ref&amp;gt;{{Cite journal |last1=Suen |first1=Jonathan Y. |last2=Navlakha |first2=Saket |title=A feedback control principle common to several biological and engineered systems |journal=Journal of the Royal Society Interface |year=2022 |volume=19 |issue=188 |article-number=20210711 |doi=10.1098/rsif.2021.0711 |pmc=8889180 |pmid=35232277}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Additive increase multiplicative decrease}}&lt;br /&gt;
[[Category:Flow control (data)]]&lt;br /&gt;
[[Category:TCP congestion control]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Monkbot</name></author>
	</entry>
</feed>