Buffer Sizing: Position Paper
Matt Mathis Andrew McGregor
mattmathis@google.com amcgregor@fastly.com
Stanford Buffer Sizing Workshop
Dec 2, 2019
The Punchline: Pace everything at scale
At the largest scales we can not afford "properly" sized buffers
My charge to this community: invert the question.
Given buffer sizes in key places are smaller than we would prefer, how can we maximize effective network capacity and efficiency?
Moore's law
Colloquially: Speed-complexity product doubles every 18 Months.
Network link rates double every 2 years.
To maintain constant drain time:
But this is economically infeasible in the fastest parts of the Internet
So buffer drain times keep falling
Why do we want large buffers?
BBR: new first principles for Congestion Control
BBR TCP
Server
(10 Gb/s)
Client
(1 Mb/s)
Assume 50 mS RTT and that the return path batches or thins ACKs.
Core switch with 1mS drain time and
flow pinned ECMP
One 100 Gb/s strand of a 1.2 Tb/s Link Aggregation Group (LAG).
Router at the access edge with large buffers and AQM
Self clock is not good in a short queue Internet
Server
(10 Gb/s)
Client
(1 Mb/s)
Assume 50 mS RTT and that the return path batches or thins ACKs.
Core switch with 1mS drain time and
flow pinned ECMP
One 100 Gb/s strand of a 1.2 Tb/s Link Aggregation Group (LAG).
Router at the access edge with large buffers and AQM
Deprecating VJ88 has profound implications
See: Mathis & Mahdavi "Deprecating the TCP Macroscopic Model"
[CCR Oct 2019]
Buffer Sizing Research questions
Conclusions
Paced CUBIC is not a good solution