Part I: Buffer sizes for core routers
Damon Wischik and Nick McKeown.
ACM/SIGCOMM CCR 2005.
[pdf]
Abstract.
In this article we describe recent work on buffer sizing for core Internet
routers. This work suggests that the widely-used rule of thumb leads
to buffers which are much larger than they need to be. For example, the
buffer in a backbone router could be reduced from 1,000,000 packets to
10,000 without loss in performance. It could be reduced even further,
perhaps to 10–20 packets, at the cost of a small amount of
bandwidth utilization. This tradeoff is worth considering, for
example for a possible future all-optical router.
Part II: Control theory for buffer sizing
Gaurav Raina, Don Towsley, Damon Wischik.
ACM/SIGCOMM CCR 2005.
[pdf]
Abstract.
This article describes how control theory has been used to address the
question of how to size the buffers in core Internet routers. Control
theory aims to predict whether the network is stable, i.e. whether TCP
flows are desynchronized. If flows are desynchronized then small
buffers are sufficient (see previous article); the theory
here shows that small buffers actually promote
desynchronization—a virtuous circle.
Part III: Routers with very small buffers
M.Enachescu, Y.Ganjali, A.Goel, N.McKeown, T.Roughgarden.
ACM/SIGCOMM CCR 2005.
[pdf]
Abstract.
Internet routers require buffers to hold packets during times
of congestion. The buffers need to be fast, and so ideally
they should be small enough to use fast memory technologies
such as SRAM or all-optical buffering. Unfortunately, a
widely used rule-of-thumb says we need a bandwidth-delay
product of buffering at each router so as not to lose link
utilization. This can be prohibitively large. In a recent paper,
Appenzeller et al.
[pdf]
challenged this rule-of-thumb and
showed that for a backbone network, the buffer size can be
divided by √
N without sacrificing throughput, where
N is
the number of flows sharing the bottleneck. In this paper, we
explore how buffers in the backbone can be significantly reduced
even more, to as little as a few dozen packets, if we are
willing to sacrifice a small amount of link capacity. We argue
that if the TCP sources are not overly bursty, then fewer
than twenty packet buffers are sufficient for high throughput.
Specifically, we argue that O(log
W) buffers are sufficient,
where
W is the window size of each flow. We support our
claim with analysis and a variety of simulations. The change
we need to make to TCP is minimal—each sender just needs
to pace packet injections from its window. Moreover, there
is some evidence that such small buffers are sufficient even
if we don't modify the TCP sources so long as the access
network is much slower than the backbone, which is true
today and likely to remain true in the future.
We conclude that buffers can be made small enough for
all-optical routers with small integrated optical buffers.
Open issues in router buffer sizing
Abstract.
Recent research results suggest that the buffers of router interfaces
can be made very small, much less than the link.s
bandwidth-delay product, without causing a utilization loss,
as long as the link carries many TCP flows. In this letter
we raise some concerns about the previous recommendation.
We show that the use of such small buffers can lead to excessively
high loss rates (up to 5%–15% in our simulations)
in congested access links that carry many flows. Even if the
link is fully utilized, small buffers lead to lower throughput
for most large TCP flows, and significant variability in the
per-flow throughput and transfer latency. We also discuss
some important issues in router buffer sizing that are often
ignored.
Fairness, QoS, and buffer sizing
Abstract.
This note is a reply to some of the points about buffer sizing
raised by Dhamdhere and Dovrolis [above]. I'll use a simple
mathematical model to make stark some of the tradeoffs
that need to be weighed when deciding on buffer size.