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(logW) 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

A.Dhamdhere and C.Dovrolis. ACM/SIGCOMM CCR 2006. [pdf]

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

D.Wischik. ACM/SIGCOMM CCR 2006.

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.