ciently compute the gradients by leveraging the bottleneck
structure is presented. (Section 2.3.)
Applications demonstrating the practical implications of
QTBS are provided in the areas of routing, capacity planning
and flow control. In each of these applications, we show
how QTBS can potentially alter some of the established
conventional best practices. Our practical contributions are
as follows:
•In the routing application, we introduce an algorithm to
find maximal-throughput routes by anticipating the effects
of the congestion control algorithm. While in traditional
traffic engineering approaches (e.g., [4]) the problems of
routing and flow control are considered independently, we
show how QTBS can help resolve them jointly, allowing
operators to design routes that are efficient from a con-
gestion control standpoint. (Section 3.1.)
•In the capacity planning application, we use QTBS to
optimize the bandwidth allocation between the spine and
leaf links of a fat-tree (also known as folded-Clos [5]).
We demonstrate that, due to the effects of congestion
control, the optimal design differs from the full fat-tree
configuration proposed by Leiserson [6]. (Section 3.2.)
•In the flow control application, we show that QTBS can
be used to precisely compute the rate reduction that a
set of traffic shapers must impose on the network’s low
priority flows in order to achieve a quantifiable positive
impact on the high-priority flows. (Section 3.3.)
•To demonstrate that networks behave according to QTBS,
we carry out experiments for each application we consider
using production TCP/IP code and the widely adopted
BBR [2] and Cubic [7] congestion control algorithms.
(Section 3.)
2. Quantitative Theory of Bottleneck Struc-
tures (QTBS)
2.1. Network Model
In their simplest form, networks can be modeled using
two kinds of elements: links, which are communication
resources with a limited capacity; and flows, which make
use of these communication resources. We formalize the
definition of a network as follows:
Definition 1. Network. We say that a tuple N=
hL,F,{cl,∀l∈ L}i is a network if:
•Lis a set of links of the form {l1, l2, ..., l|L|},
•Fis a set of flows of the form {f1, f2, ..., f|F|}, and
•clis the capacity of link l, for all l∈ L.
Each flow ftraverses a subset of links Lf⊂ L and,
similarly, each link lis traversed by a subset of flows
Fl⊂ F. Finally, each flow ftransmits data at a rate rf
and the capacity constraint P∀f∈Flrf≤clmust hold for
all l∈ L.
A core concept upon which our mathematical framework
rests is the notion of a bottleneck link. Intuitively, a flow is
bottlenecked at a link if bypassing the link would allow its
transmission rate to increase. A link whose capacity is fully
utilized is always a bottleneck of at least one flow, though
not necessarily of all the flows traversing it. In this work,
we adopt the following formal definition:
Definition 2. Bottleneck link. Let N=hL,F,{cl,∀l∈ L}i
be a network where each flow f∈ F transmits data at a rate
rfas determined by a congestion control algorithm (e.g.,
TCP’s algorithm [1]). We will say that flow fis bottlenecked
at link l—equivalently, that link lis a bottleneck of flow
f—if and only if:
•Flow ftraverses link l.
•∂rf/∂c−
l6= 0. That is, the transmission rate of flow f
changes upon small reductions in link l’s capacity.1
This characterization of bottlenecks is a generalization
of some of the classic definitions found in the literature.
Unlike previous work, however, it is based on the notion of
aperturbation, mathematically expressed as a derivative of a
flow rate with respect to the capacity of a link (∂rf/∂cl). As
an example to illustrate that our definition of bottleneck is
relatively loose, in Appendix A we show that it generalizes
the classic max-min definition of Bertsekas and Gallager
[8]. The generality of the definition of bottlenecks used
in this paper suggests that our framework can be applied
to a wide variety of rate allocation schemes—not only to
max-min fairness [8], proportional fairness [9] and specific
algorithms (e.g., BBR [2], Cubic [7], Reno [10], etc.), but to
other classes of congestion control solutions that meet the
conditions of Definition 2. We leave this promising direction
for future work, and focus on the classic max-min setting
considered in [3].
We complete the description of our network model by
defining the concept of a link’s fair share:
Definition 3. Fair share of a link. Let N=hL,F,{cl,∀l∈
L}i be a network. The fair share slof a link l∈ L is the
rate of the flows that are bottlenecked at link l.
As we will see throughout this work, the concept of link
fair share is dual to the concept of flow rate, in that many
of the mathematical properties that are applicable to the rate
of a flow are also applicable to the fair share of a link.
2.2. The Gradient Graph
Our objective is to derive a mathematical framework
capable not just of detecting but also of quantifying the
influences that links and flows exert on each other. In [3], the
authors introduced two bottleneck structures, the bottleneck
precedence graph (BPG) and the gradient graph, and demon-
strated that data networks qualitatively operate according to
the BPG structure. The authors briefly described the concept
of the gradient graph, but their work focused mostly on
the mathematical properties of the bottleneck precedence
1. We use the notation ∂y/∂x−to denote the left derivative. This
subtlety is necessary because a flow can have multiple bottleneck links.
In this case, decreasing the capacity of only one bottleneck would affect
the rate of the flow, while increasing its capacity would not; thus, the
(two-sided) derivative would not exist.
2