Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In Networking, two illustrations of congestion control are just fantastic IMO.

First one is [1], by Chiu and Jain (page 7, figure 5), showing that Additive Increase / Multiplicative decrease is the only simple policy that converges among 2 senders (with rates x and y) to a rate that is fair (along the y=x diagonal) and efficient (along the x+y=Bandwidth). This is the basis of the algorithm that made TCP (and the Internet as we know it today) possible.

The other one is this diagram from BBR [2] (from the paper in [3]), that shows how BBR sets the window ("amount in flight") to the bandwidth-delay product (BDP) of the bottleneck link (the "volume" of the pipe in a water analogy). The cool thing is that you can only measure the delay of the link if you window is <= the BDP, and you can only measure the bandwidth if your window is >= the BDP, so the algorithm has to hover around this point to make sure it can determine both.

[1] Chiu and Jain, Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks, 1989, https://www.cse.wustl.edu/~jain/papers/ftp/cong_av.pdf

[2] https://dl.acm.org/cms/attachment/9cf72499-b32d-4426-914b-cd...

[3] BBR: Congestion-Based Congestion Control https://queue.acm.org/detail.cfm?id=3022184



Chiu-Jain plots are great for getting a grasp of AIMD. Another related one I like is the figure illustrating ack-clocking in Van Jacobson's original congestion control paper - Figure 1 here: https://ee.lbl.gov/papers/congavoid.pdf


This is great indeed, and makes it for 2 illustrations from Van Jacobson's papers, separated by 28 years! (The 1988 paper and the 2016 BBR paper)




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: