## Efficient Fair Queuing using Deficit Round Robin (1995)

### Cached

### Download Links

Venue: | SIGCOMM '95 |

Citations: | 278 - 3 self |

### BibTeX

@MISC{Shreedhar95efficientfair,

author = {M. Shreedhar and George Varghese},

title = {Efficient Fair Queuing using Deficit Round Robin},

year = {1995}

}

### Years of Citing Articles

### OpenURL

### Abstract

Fair queuing is a technique that allows each flow passing through a network device to have a fair share of network resources. Previous schemes for fair queuing that achieved nearly perfect fairness were expensive to implement: specifically, the work required to process a packet in these schemes was O(log(n)), where n is the number of active flows. This is expensive at high speeds. On the other hand, cheaper approximations of fair queuing that have been reported in the literature exhibit unfair behavior. In this paper, we describe a new approximation of fair queuing, that we call Deficit Round Robin. Our scheme achieves nearly perfect fairness in terms of throughput, requires only O(1) work to process a packet, and is simple enough to implement in hardware. Deficit Round Robin is also applicable to other scheduling problems where servicing cannot be broken up into smaller units, and to distributed queues.

### Citations

8521 |
Introduction to Algorithms
- Cormen, Stein, et al.
- 2001
(Show Context)
Citation Context ...probability that two or more flows will collide; the colliding flows will then share the bandwidth allocated to that bucket. 12 The average number of other flows that collide with a flow can be shown =-=[CLR90]-=- to be n Q , where n is the number of flows and Q is the number of queues. For example, if we have 1000 concurrent flows and 10,000 queues (a factor of 10, which is achievable with modest amounts of m... |

1672 | A generalized processor sharing approach to flow control in integrated services networks: The single node case
- Parekh, Gallager
- 1993
(Show Context)
Citation Context ...number of other features needed for DQDB. We believe that we have cleanly abstracted the problem; thus our results are simpler and applicable to a variety of contexts. A paper by Parekh and Gallagher =-=[PG93]-=- showed that Fair Queuing could be used together with a leaky bucket admission policy to provide delay guarantees. This showed that FQ provides more than isolation; it also provides end--to--end laten... |

1078 | Analysis and simulation of a fair queueing algorithm
- Demers, Keshav, et al.
- 1990
(Show Context)
Citation Context ... other sources sending at more moderate rates! A solution to this problem is needed to isolate the effects of bad behavior to users that are behaving badly. An isolation mechanism called Fair Queuing =-=[DKS89]-=- has been proposed, and has been proved [GM90] to have nearly perfect isolation and fairness. Unfortunately, Fair Queuing (FQ) appears to be expensive to implement. Specifically, FQ requires O(log(n))... |

728 |
Amortized efficiency of list update and paging rules
- Sleator, Tarjan
- 1985
(Show Context)
Citation Context ...e provide analytical results that do not depend on assumptions about traffic distributions; we do so by providing worst-case results across sequences of inputs. Such amortized [CLR90] and competitive =-=[ST85]-=- analyses have been a major influence in the analysis of sequential algorithms because they finesse the need to make assumptions about probability distributions of inputs. However, these approaches se... |

563 | VirtualClock: A New Traffic Control Algorithm for Packet Switching Network
- Zhang
- 1990
(Show Context)
Citation Context ...s about traffic distributions. Flows: Our intent is to provide firewalls between different packet streams. We formalize the intuitive notion of a packet stream using the more precise notion of a flow =-=[Zha91]-=-. A flow has two properties: ffl A flow is a stream of packets which traverse the same route from the source to the destination and that require the same grade of service at each router or gateway in ... |

515 | Link-sharing and Resource Management Models for Packet Networks - Floyd, Jacobson - 1995 |

362 |
A self-clocked fair queueing scheme for broadband applications
- Golestani
- 1994
(Show Context)
Citation Context ...gorithm, and the idea of using hashing and ignoring collisions. However, his scheme does nothing about the inherent unfairness of Nagle's round-robin scheme. Other Relevant Work: Golestani introduced =-=[Gol94]-=- a fair queuing scheme, called Self-clocked Fair Queuing. This scheme uses a virtual time function which makes computation of the departure times simpler than in ordinary Fair Queuing. However, his ap... |

173 | Packet Trains: Measurements and a New Model for Computer Network Traffic - Jain, Routhier - 1985 |

159 | On packet switches with infinite storage
- Nagle
- 1985
(Show Context)
Citation Context ... next section, we review the relevant previous work. A new technique for avoiding the unfairness of round-robin scheduling called deficit round-robin is described in Section 3. Round-robin scheduling =-=[Nag87] can be un-=-fair if different flows use different packet sizes; our scheme avoids this problem by keeping state, per flow, that measures the "deficit" or past unfairness. We analyze the behavior of our ... |

67 |
Stochastic fairness queueing
- McKenney
- 1991
(Show Context)
Citation Context ...ueue. This still results in O(log(n)) overhead. Keshav's other implementation ideas [Kes91] take at least O(log(n)) time in the worst case. Stochastic Fair Queuing (SFQ): SFQ was proposed by McKenney =-=[McK91]-=- to address the inefficiencies of Nagle's algorithm. McKenney uses hashing to map packets to corresponding queues. Normally, one would use hashing with chaining to map the flow ID in a packet to the c... |

66 | A generalized processor sharing approach to ‡ow control inintegrated services networks: the single-node case - Parekh, Gallager - 1993 |

48 | On the e cient implementation of fair queueing
- Keshav
- 1991
(Show Context)
Citation Context ...airness [GM90], the packet processing cost makes it hard to implement cheaply at high speeds. A naive FQ server would require O(log(m)), where m is the number of packets in the router. However Keshav =-=[Kes91]-=- shows that only one entry per flow need be inserted into a sorted queue. This still results in O(log(n)) overhead. Keshav's other implementation ideas [Kes91] take at least O(log(n)) time in the wors... |

41 | Leave-in-time: A new service discipline for real-time communication in a packet-switching data network - Figuera, Pasquale - 1995 |

35 | Amortized e - ciency of list update and paging rules - Sleator, Tarjan - 1985 |

35 | Virtual Clock: A New Tra c Control Algorithm for Packet-Switched Networks - Zhang - 1991 |

28 |
How fair is fair queueing
- Greenberg, Madras
- 1990
(Show Context)
Citation Context ...A solution to this problem is needed to isolate the effects of bad behavior to users that are behaving badly. An isolation mechanism called Fair Queuing [DKS89] has been proposed, and has been proved =-=[GM90]-=- to have nearly perfect isolation and fairness. Unfortunately, Fair Queuing (FQ) appears to be expensive to implement. Specifically, FQ requires O(log(n)) work per packet, where n is the number of pac... |

10 | On Guaranteed Delivery of TimeCritical Messages in DQDB
- Saha, Saksena, et al.
(Show Context)
Citation Context ... theorems about throughput properties of various flows; however, it does have interesting results on delay bounds and also considers the more general case of multiple priority classes. A recent paper =-=[SA94]-=- has (independently) proposed a similar idea to our scheme: in the context of a specific LAN protocol (DQDB) they propose keeping track of remainders across rounds. Their 4 algorithm is, however, mixe... |

8 | On packet switches with in nite storage - Nagle - 1987 |

5 | Notes on guaranteed service in resource management. Unpublished note - Floyd - 1993 |

4 | Reliable FIFO Load Balancing over Multiple FIFO Channels
- Adiseshu, Parulkar, et al.
(Show Context)
Citation Context ... problem; we send up to to a quantum limit per output line but we keep track of deficits. This should produce nearly perfect load balancing; as usual it can be extended to weighted load balancing. In =-=[APV95]-=-, we show how to obtain perfect load balancing and yet guarantee FIFO delivery. Our load balancing scheme [APV95] appears to be a novel solution to a very old problem. 8 Conclusions We have described ... |

1 | Reiiable FIFO Load Balanctng over Multiple FIFO Channels - Adiseshu, Parulkar, et al. |