AQM working group T. Hoeiland-Joergensen
Internet-Draft Karlstad University
Intended status: Informational P. McKenney
Expires: June 12, 2015 IBM Linux Technology Center
December 9, 2014
This memo presents the FQ-CoDel hybrid packet scheduler/AQM
algorithm, a critical tool for fighting bufferbloat and reducing
latency across the Internet.
FQ-CoDel mixes packets from multiple flows and reduces the impact of
head of line blocking from bursty traffic. It provides isolation for
low-rate traffic such as DNS, web, and videoconferencing traffic. It
improves utilisation across the networking fabric, especially for
bidirectional traffic, by keeping queue lengths short; and it can be
implemented in a memory- and CPU-efficient fashion across a wide
range of hardware.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 12, 2015.
Hoeiland-Joergensen, et alExpires June 12, 2015 [Page 1]
Internet-Draft Fq_Codel December 2014
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
The FQ-CoDel algorithm is a combined packet scheduler and AQM
developed as part of the bufferbloat-fighting community effort. It
is based on a modified Deficit Round Robin (DRR) queue scheduler,
with the CoDel AQM algorithm operating on each sub-queue. This
document describes the combined algorithm; reference implementations
are available for ns2 and ns3 and it is included in the mainline
Linux kernel as the FQ-CoDel queueing discipline.
The rest of this document is structured as follows: This section
gives some concepts and terminology used in the rest of the document,
and gives a short informal summary of the FQ-CoDel algorithm.
Section 2 gives an overview of the CoDel algorithm. Section 3 covers
the DRR portion. Section 4 defines the parameters and data
structures employed by FQ-CoDel. Section 5 describes the working of
the algorithm in detail. Section 6 describes implementation
considerations, and section 7 lists some of the limitations of using
flow queueing. Finally section 11 concludes.
1.1. Terminology and concepts
Flow: A flow is typically identified by a 5-tuple of source IP,
destination IP, source port, destination port, and protocol. It can
also be identified by a superset or subset of those parameters, or by
mac address, or other means.
Queue: A queue of packets represented internally in FQ-CoDel. In
most instances each flow gets its own queue; however because of the
possibility of hash collisions, this is not always the case. In an
attempt to avoid confusion, the word 'queue' is used to refer to the
internal data structure, and 'flow' to refer to the actual stream of
packets being delivered to the FQ-CoDel algorithm.
Hoeiland-Joergensen, et alExpires June 12, 2015 [Page 2]
Internet-Draft Fq_Codel December 2014
Scheduler: A mechanism to select which queue a packet is dequeued
Show full document text