Performance and Stability Bounds for
Dynamic Networks ⋆
Dimitrios Koukopoulos ∗
Research and Academic Computer Technology Institute, P. O. Box 1122, 261 10
Patras, Greece.
Marios Mavronicolas
Department of Computer Science, University of Cyprus, 1678 Nicosia, Cyprus.
Paul Spirakis
Department of Computer Engineering and Informatics, University of Patras,
Rion, 265 00 Patras, Greece & Research and Academic Computer Technology
Institute, P. O. Box 1122, 261 10 Patras, Greece.
⋆ Submitted as a Regular Paper. A preliminary version of this work has been appeared in the Proceedings of the 7th International Symposium on Parallel Architectures, Algorithms and Networks, Hong-Kong, SAR, China, 2004, pp. 239–246. This
work has been partially supported by the IST Program of the European Union under contract number IST-2001-33116 (FLAGS), by the 6th Framework Programme
of the European Union under contract number 001907 (DELIS), and by funds for
the promotion of research at University of Cyprus.
∗ Corresponding author. Telephone: +302641034473, Fax:+302641058075.
Email addresses: koukopou@ceid.upatras.gr (Dimitrios Koukopoulos),
mavronic@ucy.ac.cy (Marios Mavronicolas), spirakis@cti.gr (Paul Spirakis).
Preprint submitted to Elsevier Science
28 January 2005
Abstract
In this work, we study the impact of dynamically changing link capacities on the
delay bounds of LIS (Longest-In-System) and SIS (Shortest-In-System) protocols on
specific networks (that can be modelled as Directed Acyclic Graphs-DAGs) and
stability bounds of greedy contention-resolution protocols running on arbitrary networks under the Adversarial Queueing Theory. Especially, we consider the model of
dynamic capacities, where each link capacity may take on integer values from [1, C]
with C > 1, under a (w, ρ)-adversary. We show that the packet delay on DAGS for
LIS is upper bounded by O(iwρC) and lower bounded by Ω(iwρC) where i is the
level of a node in a DAG (the length of the longest path leading to node v when
nodes are ordered by the topological order induced by the graph). In a similar way,
we show that the performance of SIS on DAGs is lower bounded by Ω(iwρC). We
prove that every queueing network running a greedy contention-resolution protocol
is stable for a rate not exceeding a particular stability threshold, depending on C
and the length of the longest path in the network.
Key words: Parallel Computing; Networks; Delay Bounds; Stability Bounds;
Adversarial Queueing Theory
2
1
Introduction
1.1 Motivation-Framework
We are interested in the behavior of packet-switched networks in which packets arrive dynamically at the nodes and they are routed in discrete time steps
across the links. Recent years have witnessed a vast amount of work on analyzing packet-switched networks under non-probabilistic assumptions (rather
than stochastic ones); We work within a model of worst-case continuous packet
arrivals, originally proposed by Borodin et al. [5] and termed Adversarial
Queueing Theory to reflect the assumption of an adversarial way of packet
generation and path determination.
A major issue that arises in such a setting is that of stability– will the number
of packets in the network remain bounded at all times? Besides the existence
or not of upper bounds on the packet delays (queue sizes), a complementary
question concerning stability is whether stability guarantees that there are
small bounds on packet delays (queue sizes). The answer to these questions
may depend on the rate of injecting packets into the network, the capacity of
the links, which is the rate at which a link forwards outgoing packets, and the
protocol that is used to resolve the conflict when more than one packet wants
to cross a given link in a single time step. The underlying goal of our study is
two-fold. First, we want to estimate how good can be the performance bounds
on packet delay (queue size) on DAGs and second we want to establish stability properties of greedy protocols. We study these problems considering that
packets are injected by an adversary (rather than by an oblivious randomized
process) and capacities are chosen by the same adversary in a dynamic way.
Most studies of packet-switched networks assume that one packet can cross
a network link (an edge) in a single time step. This assumption is well motivated when we assume that all network links are identical. However, a packetswitched network can contain different types of links, which is common especially in large-scale networks like Internet. Then, it is well motivated to assign
a capacity to each link that takes on values from the integer set [1, C] with
C > 1. If C is a large integer, we can consider approximately as a link failure
the assigning of unit capacity to a link, and the assigning of capacity C as
the proper service rate. Therefore, the study of protocol stability under this
model of dynamically changing capacities can be considered as an approximation of the fault-tolerance of a network where links can temporarily fail (zero
capacity).
In this work we consider the impact on performance bounds and stability
properties if the adversary besides the packet injections in paths which it
3
determines, it also can set the capacities of network edges in each time step.
This subfield of study was initiated by Borodin et al. in [6]. Note that we
continue to assume uniform packet sizes. Furthermore, we consider greedy
contention-resolution protocols (all of which enjoy simple implementations)always advance a packet across a queue (but one packet at each discrete time
step) whenever there resides at least one packet in the queue, such as LIS
(Longest-in-System) that gives priority to the packets that have been for the
longest amount of time in the network and SIS (Shortest-in-System) that gives
priority to the packets that have been for the shortest amount of time in the
network.
Roughly speaking a protocol P is stable [5] on a network G against an adversary
A of rate r if there is an integer B (which may depend on G and A) such that
the number of packets in the system is bounded at all times by B. Moreover,
a network G is universally stable [5] if every greedy protocol is stable against
every adversary of rate less than 1 on G. Directed Acyclic Graphs (DAGs) are
universally stable in the more powerful model of general dynamic capacities–
each is stable against every adversary of rate less than 1 for every protocol [6,
Theorem 3].
1.2 Contribution
We use here the model of dynamic capacities that has been initiated in [6]
where link capacities may take on integer values in the interval [1, C] with
C > 1 1 under a (w, ρ)-adversary that injects packets at rate ρ with window
size w. In this framework, we obtain the following results:
• The delay of packets on DAGs (where the LIS protocol is running on top of
them) is upper bounded by O(iwCρ) where i is the level of a node on a DAG
(the length of the longest path leading to node v when nodes are ordered
by the topological order induced by the graph). We use double-induction
on time and the node level to prove it.
• We make this performance bound tight showing a lower bound of Ω(iwCρ)
on the packet delay that is suffered by a packet targeted with a node u of
level i. The maximum queue size in this case is (w + 1)C. The proof of this
result is based on an involved adversarial construction. Also, it considers
the weakest dynamic model where a link capacity can take on values from
the two-valued set of integers 1 and C. Thus, the tight bound we prove
here imply the collapse of a powerful model to a weaker one that is rather
surprising. In a similar way, we prove that the SIS protocol has a lower
bound of Ω(iwCρ) on the packet delay when it is running on top of DAGs.
1
The classical Adversarial Queueing Theory corresponds to the case where only
one capacity value is available to the adversary.
4
• We show two simple results which provide some upper bounds on the allowable rate of injections that still guarantees stability. Specifically, we prove
that any arbitrary network running a greedy contention-resolution protocol
1
, where d(G)
is stable as long as the injection rate does not exceed C(d(G)+1)
is the length of the longest path in the network that can be followed by any
packet. A slightly improved result is proved for the stability threshold in
the case of a special class of greedy protocols, the time priority protocols.
Such a protocol is stable on all networks as long as the injection rate of the
1
.
adversary does not exceed Cd(G)
Roughly speaking, the results that have been obtained in this paper show that
the linear performance bounds that have been proved in the classical setting of
Adversarial Queueing Theory remain linear when link capacities vary dynamically although the adversary in such environments is more powerful. The only
difference is that the performance bounds in the dynamic setting have as expense a multiplicative factor of C. The same holds for the stability thresholds
that are obtained in this paper for dynamically varying link capacities.
1.3 Related Work
Stability Issues under the Adversarial Queueing Model. Adversarial Queueing Theory was developed by Borodin et al. [5] as a more realistic model
that replaces traditional stochastic assumptions in Queueing Theory by more
robust, worst-case ones. Adversarial queueing theory received a lot of interest in the study of stability and instability issues (see, e.g., [2,8,9,12,13]).
The universal stability of various natural greedy protocols (LIS, SIS, NTS
(Nearest-to-Source), FTG (Furthest-to-Go) has been established by Andrews
et al. [2]. Furthermore, the set of universally stable networks has been wellcharacterized [2,5] (DAGs, trees, ring).
Stability Bounds for Greedy Protocols. The subfield of proving stability thresholds for greedy protocols on every network was first initiated by Diaz et al. [8]
showing an upper bound on injection rate for the stability of FIFO in networks
with a finite number of queues that is based on network parameters. This result
was significantly improved for all networks by Koukopoulos et al. [10] demonstrating a method for estimating an upper bound for FIFO stability which is,
also, based on network parameters. In an alternative interesting work, Lotker
et al. [13] proved that any greedy protocol can be stable in any network if the
injection rate of the adversary is upper bounded by 1/(d + 1), where d is the
maximum path length that can be followed by any packet. Also, they proved
that for a specific class of greedy protocols, time-priority protocols, the stability threshold becomes 1/d. In the subfield of proving instability thresholds for
greedy protocols (lower bound on injection rate that guarantees instability),
5
Bhattacharjee and Goel [4] proved that FIFO can become unstable for arbitrarily small injection rates on parameterized network constructions under the
adversarial queueing theory model.
Performance Bounds for Greedy Protocols. Several universally stable protocols
have exponential lower bounds on queue sizes and packet delays (SIS, NTS,
FTG) [2]. Andrews and Zhang [3] proved that LIS has an exponential lower
bound on packet delay on a tree with exponential depth in the length of
the longest network path. Scheideler and Vöcking [14] proved that a protocol
in the spirit of LIS with additional control packets using queues of constant
size suffers from linear packet delay on layered graphs under a close related
model to the Adversarial Queueing Model. In an interesting work, Adler and
Rosén [1] proved tight polynomial bounds for the stability of LIS on DAGs.
Especially, they have shown that LIS on DAGs has linear (in the longest path
in the network that can be followed by any packet) queue sizes and packet
delays.
Stability Issues in Dynamic Networks. Borodin et al. in [6] studied for the
first time the impact on stability when the network links can have capacities.
They proved that many well-known universally stable protocols (SIS, NTS,
FTG) do maintain their universal stability when the link capacity is changing dynamically, whereas the universal stability of LIS is not preserved. Also,
the universal stability of networks is preserved under this varying context.
The study of stability properties of protocols and networks when link capacities change dynamically has been further extended in [11] presenting involved
combinatorial constructions of the adversary that lead LIS and certain √
compositions of universally stable protocols to instability for a threshold of 2 − 1,
while all the known forbidden subgraphs for the universal stability of networks
are proved to have lower instability thresholds.
1.4 Road Map
The rest of this paper is organized as follows. Section 2 presents our model
definitions. Bounds for the LIS protocol on DAGs are presented in Section 3.
A bound for the SIS protocol on DAGs is presented in Section 4. Section 5
includes our upper bounds on the stability threshold of any network. We conclude, in Section 6, with a discussion of our results and some open problems.
6
2
Model
The model definitions are patterned after those in [5, Section 3], adjusted to
reflect the fact that link capacities may vary arbitrarily as in [6, Section 2]
(link capacities may take on integer values in the interval [1, C] with C > 1).
Along with this model, we address the weakest possible model of changing
capacities in which link capacity can take on a value from a two-valued set
of integers {1, C} with C > 1. A routing network is modelled as a directed
graph G =(V, E) with |V | = n nodes and |E| = m edges. Each node v ∈ V
represents a communication switch and each directed edge e ∈ E represents
a link between two switches that delivers packets only in the direction it is
oriented. Every switch has a buffer (queue) at the tail of each out-going link
and stores there the packets to be sent on the corresponding link.
Time proceeds in discrete steps. New packets, requiring to traverse predetermined paths, can be injected into the network at any time step. A packet is
an atomic entity that resides at a node at the end of any step. It must travel
along paths in the network from its source to its destination, both of which
are nodes in the network. When it reaches its destination, we say that it is absorbed. During each step, a packet may be sent from its current node along one
of the outgoing edges from that node. Edges can have different integer capacities, which may or may not vary over time. Denote Ce (t) the capacity of edge
e at time step t. That is, we assume that edge e is capable of simultaneously
transmitting up to Ce (t) packets at time t.
Any packets that wish to travel along an edge e at a particular time step,
but they are not sent, wait in a queue for edge e. The delay of a packet is the
number of steps that are spent by the packet, while waiting in queues. At each
step, an adversary generates a set of requests. A request is a path specifying the
route that will be followed by a packet. 2 We say that the adversary generates a
set of packets when it generates a set of requested paths. We restrict our study
to the case of non-adaptive routing, where the path traversed by each packet
is fixed at the time of injection, so that we are able to focus on queueing rather
than routing aspects of the problem. There are no computational restrictions
on how the adversary chooses its requests in any given time step.
Fix any arbitrary positive integer w ≥ 1. Throughout, for any sequence of time
steps T = [t1 , t2 ] and for any integer w ≥ 1, denote T ± w the sequence of
time steps [t1 − w, t2 + w]. For any edge e of the network and any sequence Tw
of w consecutive time steps, define N (T , e) to be the number of paths that are
injected by the adversary during the time interval T requiring to traverse the
edge e. For any constant ρ, 0 < ρ ≤ 1, a (w, ρ)-adversary Aw,ρ is an adversary
2
In this work, it is assumed, as it is common in packet routing, that all such paths
are simple paths with no overlapping edges.
7
that injects packets subject to the following load condition:
For every edge e and for every sequence Tw of w consecutive time steps,
N (Tw , e) ≤ ρ
C(τ ) .
τ ∈Tw
We say that a (w, ρ)-adversary Aw,ρ injects packets at rate ρ with window size
w.
Lemma 2.1 Fix any (w, ρ)-adversary Aw,ρ . Then, for any time step t ≥ 1
and for any edge e,
N ([t], e) ≤ ρ
max
max{1,t−w+1}≤δ≤t
C(τ ) .
δ≤τ ≤δ+w−1
Lemma 2.1 immediately implies:
Corollary 2.2 Fix any (w, ρ)-adversary Aw,ρ . Then, for any edge e,
N ([1], e) ≤ ρ
C(τ ) .
1≤τ ≤w
Lemma 2.3 Fix any (w, ρ)-adversary Aw,ρ . Then, for any time interval T
and for any edge e,
N (T , e) ≤ ρ
C(τ ) .
τ ∈T ±w
The assumption that ρ ≤ 1 ensures that it is not necessary a priori that some
edge of the network is congested (which would surely happen when ρ > 1).
A contention-resolution protocol specifies, for each pair of an edge e and a
time step, which packet among those waiting at the tail of edge e will be
moved along edge e. A greedy contention-resolution protocol always specifies
some packet to move along edge e if there are packets waiting to use edge e. In
this work, we restrict attention to deterministic, greedy contention-resolution
protocols, such as LIS (Longest-in-System) where priority is given to the packets that have been for the longest amount of time in the network. All these
contention-resolution protocols require some tie-breaking rule in order to be
unambiguously defined. In this work, whenever we are proving a positive result, we assume that the adversary can break the tie arbitrarily; for proving a
negative result, we can assume any well-determined tie breaking rule for the
adversary.
8
We continue with some additional formal definitions that are needed to make
the discussion more precise. Formally, a packet p is a triple id, π, t0 , where
id is some unique identifier, π is the path (from the origin to the destination
of the packet), and t0 is the time when the packet is injected into the network
(at its origin node). The state of a packet p at time t, denoted state t (p), is
the tuple p, δ, t1 , . . . , tδ , where δ is the number of time steps at which p
has traversed an edge in its path, and t1 , . . . , tδ are the corresponding times of
such traversals. For simplicity, and in a way similar to that in [2] and in works
following it, we omit floors and ceilings from our analysis, and we sometimes
count time steps and packets only roughly. This may only result to loosing
small additive constants, while it implies a gain in clarity.
3
LIS on Directed Acyclic Graphs
Upper and lower bounds on the performance of LIS on directed acyclic graphs
appear in Sections 3.1 and 3.2, respectively.
Throughout this section, we will consider directed acyclic graphs, in which
nodes are ordered by the topological order induced by the graph. This order
assigns to each node v a level i ≥ 0, denoted level (v), such that the longest
path leading to node v has length i.
3.1 Upper Bound
In this section, we present our upper bound on the performance of LIS on
directed acyclic graphs. We start by proving:
Proposition 3.1 Consider any packet p that is injected at time t, and let v
be any node of level i ≥ 0 on its path other than its destination node. Then,
packet p clears node v by time t + δ(t), where δ(t) > 0 is the least integer such
that
t≤τ ≤t+δ(t)
C(τ ) ≥ ρ(i + 1)
C(τ ) .
max{1,t−ρ(2w−1)C(i+1)−(i+1)+1−w+1}≤τ ≤t+w−1
PROOF. By double induction on i and on t; the outer induction is on i. The
basis case and the induction step of the outer induction are shown by an inner
induction on t. Throughout, denote e = v, u the edge over which p has to
leave v.
9
For the basis case of the outer induction, assume that i = 0. Note that in this
case any packet that has node v on its path must be injected into node v,
since node v has level 0. In particular, packet p is injected into node v. By the
definition of the LIS protocol, it follows that packet p can be delayed at node
v only by packets that were injected into v at times t′ ≤ t.
We prove the claim for the case i = 0 by an inner induction on t.
For the basis case of the inner induction, assume that t = 1. Since w ≥ 1
while, in this case, max{1, t − w + 1} = max{1, 2 − w} = 1, we need to show
that packet p clears node v by time 1+δ(1), where δ(1) > 0 is the least integer
such that
1≤τ ≤1+δ(1)
C(τ ) ≥ ρ
C(τ ) .
1≤τ ≤w
Note that since t = 1, packet p can be delayed only by packets that were
injected into v at time step 1 that have edge e on their path. By Corollary 2.2,
there are at most ρ 1≤τ ≤w C(τ ) such packets (including p itself). It follows
that p will clear v by time 1 + δ(1) where δ(1) is the least integer such that
1≤τ ≤1+δ(1)
C(τ ) ≥ ρ
C(τ ) ,
1≤τ ≤w
as needed.
For the induction step, consider any time step t > 1. Consider any packet p′
that was injected into v at time t′ ≤ t − (2w − 1)Cρ. Since t′ < t, the inductive
hypothesis implies that p′ clears node v by time t′ + δ(t′ ), where δ(t′ ) is the
least integer such that
t′ ≤τ ≤t′ +δ(t′ )
C(τ ) ≥ ρ
C(τ ) .
max{1,t′ −w}≤τ ≤t′ +w−1
We continue to prove:
Lemma 3.2 δ(t′ ) ≤ (2w − 1)Cρ − 1
′
PROOF. By the definition of δ(t ), it suffices to show that
t′ ≤τ ≤t′ +(2w−1)Cρ−1
C(τ ) ≥ ρ
max{1,t′ −w+1}≤τ ≤t′ +w−1
10
C(τ ) .
Since C(t) ≥ 1 for all time steps t, it follows that
t′ ≤τ ≤t′ +(2w−1)Cρ−1
C(τ ) ≥ (2w − 1)Cρ − 1 + 1
= (2w − 1)Cρ .
Since C(t) ≤ C for all time steps t, it follows that
ρ
max{1,t′ −w+1}≤τ ≤t′ +w−1
C(τ ) ≤ ρ(2(w − 1) + 1) C
= ρ(2w − 1) C .
Hence,
t′ ≤τ ≤t′ +(2w−1)Cρ−1
C(τ ) ≥ ρ
C(τ ) ,
max{1,t′ −w+1}≤τ ≤t′ +w−1
as needed. ✷
It follows that
t′ + δ(t′ )
≤ t′ + (2w − 1)Cρ − 1 (by Lemma 3.2)
≤
t−1
(since t′ ≤ t − (2w − 1)Cρ)
<
t.
Thus, packet p can be delayed in node v only by packets that have been
injected in the time interval [t − (2w − 1)Cρ + 1, t]. By Lemma 2.3, there are
at most ρ max{1,t−(2w−1)Cρ+1−w+1}≤τ ≤t+w−1 C(τ ) such packets. It follows that
packet p clears node v by time t + δ(t), where δ(t) > 0 is the least integer such
that
t≤τ ≤t+δ(t)
C(τ ) ≥ ρ
C(τ ) ,
max{1,t−(2w−1)Cρ+1−w+1}≤τ ≤t+w−1
as needed. This completes the proof of the inner induction (on t).
The basis case of the outer induction (on i) is now complete. We now proceed
to the induction step of the outer induction. We prove the claim for the case
i > 0 by an inner induction on t ≥ 1. By the definition of the LIS protocol,
it follows that packet p can be delayed at node v only by packets that have
11
been injected either into v or into other nodes that are predecessors of v in G
at times t′ ≤ t.
For the basis case of the inner induction, assume that t = 1. Note that since
t = 1, packet p can be delayed at node v only by packets that are injected
at time t = 1 and have the edge e on their path. We distinguish between two
cases:
• Assume first that packet p is injected into node v. Note that since t = 1,
packet p can be delayed only by packets that are injected at time step t = 1
that have e on their path. By Corollary 2.2, there are at most ρ 1≤τ ≤w C(τ )
such packets (including p itself). It follows that p will clear v by time 1+δ(1)
where δ(1) is the least integer such that
1≤τ ≤1+δ(1)
C(τ ) ≥ ρ
C(τ ) ,
1≤τ ≤w
as needed.
• Assume now that packet p is injected into some node different than v.
Thus, p arrives at node v over an edge (w, v) for some node w such that
level (w) < level (v) = i. Denote k = level (w). By the inductive hypothesis
where δ(1)
is the least
(on i), packet p clears node w by time 1 + δ(1),
integer, such that
1≤τ ≤1+
δ (1)
C(τ ) ≥ ρ(k + 1)
= ρ(k + 1)
C(τ )
max{1,1−w+1}≤τ ≤1+w−1
C(τ ) .
1≤τ ≤w
Thus, packet p arrives at node v by time 1 + δ(1).
Note that packet p can
be delayed (at node v) only by packets that are injected at time t = 1 that
have e on their path. By Corollary 2.2, there are at most ρ 1≤τ ≤w C(τ )
+ δ(1)),
such packets. It follows that p will clear v by time 1 + δ(1)
+ δ(1
where δ(1 + δ(1)) is the least integer such that
1+
δ (1)≤τ ≤1+
δ (1)+
δ (1+
δ (1))
C(τ ) ≥ ρ
C(τ ) .
1≤τ ≤w
Define now δ(1) to be the least integer such that
1≤τ ≤1+δ(1)
C(τ ) ≥ ρ(i + 1)
C(τ ) .
1≤τ ≤w
It remains to prove that packet p clears node v by time δ(1). But,
ρ(i + 1)
1≤τ ≤w
C(τ ) ≥ ρ(k + 2)
1≤τ ≤w
12
C(τ ) .
However,
C(τ ) =
1≤τ ≤1+
δ (1)+
δ (1+
δ (1))
1≤τ ≤1+
δ (1)
≥ρ
C(τ ) +
1+
δ (1)≤τ ≤1+
δ (1)+
δ (1+
δ (1))
C(τ ) + ρ(k + 1)
1≤τ ≤w
= ρ(k + 2)
C(τ )
C(τ )
1≤τ ≤w
C(τ ) .
1≤τ ≤w
+ δ(1)).
+ δ(1
It follows that
and packet p clears node v by time 1 + δ(1)
packet p clears node v by time δ(1).
This completes the proof of the basis case of the inner induction (on t).
We proceed now to the induction step of the inner induction, where we assume
that t > 1. We again distinguish between two cases regarding the node where
packet p is injected.
• Assume first that packet p is injected into node v. Then, clearly, packet p
resides at node v by the end of time step t.
• Else, assume that p arrives at node v over an edge w, v for some node w
such that level (w) < level (v) = i. By the inductive hypothesis (on i), packet
where δ(t)
is the least integer such that
p clears node w by time t + δ(t)
t≤τ ≤t+
δ (t)
C(τ ) ≥ ρ(k + 1)
C(τ ) .
max{1,t−w+1}≤τ ≤t+w−1
where δ(t)
is the
Thus, in any case, packet p clears node w by time t + δ(t),
least integer such that
t≤τ ≤t+
δ (t)
C(τ ) ≥ ρ(k + 1)
C(τ ) .
max{1,t−w+1}≤τ ≤t+w−1
′
′
Consider now any packet p that was injected at time step t ≤ t − ρ(2w −
′
1)C(i + 1) − (i + 1). Since t < t, the inductive hypothesis (on t) implies that
′
′
′
′
packet p clears node v by time step t + δ(t ) where δ(t ) is the least integer
such that
t ≤τ ≤t +
δ (t )
′
′
′
C(τ ) ≥ ρ(k + 1)
′
C(τ ) .
′
max{1,t −w+1}≤τ ≤t +w−1
We continue to prove:
Lemma 3.3 δ(t′ ) ≤ ((2w − 1)Cρ − 1)(i + 1) + i
13
PROOF. By the definition of δ(t′ ), it suffices to show that
t′ ≤τ ≤t′ +((2w−1)Cρ−1)(i+1)+i
C(τ ) ≥ ρ
C(τ ) .
max{1,t′ −w+1}≤τ ≤t′ +w−1
Since C(t) ≥ 1 for all time steps t, it follows that
t′ ≤τ ≤t′ +((2w−1)Cρ−1)(i+1)+i
C(τ ) ≥ ((2w − 1)Cρ − 1)(i + 1) + i + 1
= (2w − 1)Cρ(i + 1) − (i + 1) + 1 + i
= (2w − 1)Cρ(i + 1) .
Since C(t) ≤ C for all time steps t, it follows that
ρ(i + 1)
max{1,t′ −w+1}≤τ ≤t′ +w−1
C(τ ) ≤ ρ(2(w − 1) + 1)C(i + 1)
= ρ(2w − 1) C(i + 1) .
Hence,
t′ ≤τ ≤t′ +((2w−1)Cρ−1)(i+1)+i
C(τ ) ≥ ρ
C(τ ) ,
max{1,t′ −w+1}≤τ ≤t′ +w−1
as needed. ✷
By Lemma 3.3 it follows that t′ + δ(t′ ) ≤ t′ + ((2w − 1)Cρ − 1)(i + 1) + i. But,
t′ +((2w−1)Cρ−1)(i+1)+i−1 ≤ t−1 since t′ ≤ t−((2w−1)Cρ−1)(i+1)−(i+1)
and t − 1 < t.
Thus, packet p can be delayed in node v only by packets that have been
injected in the time interval [t − (2w − 1)Cρ(i + 1) − (i + 1) + 1, t].
By Lemma 2.3, there are at most ρ max{1,t−(2w−1)Cρ(i+1)−(i+1)+1−w+1}≤τ ≤t+w−1 C(τ )
such packets. It follows that packet p clears node v by time t + δ(t), where
δ(t) > 0 is the least integer such that
t≤τ ≤t+δ(t)
C(τ ) ≥ ρ
C(τ ) ,
max{1,t−(2w−1)Cρ(i+1)−(i+1)+1−w+1}≤τ ≤t+w−1
as needed. This completes the proof of the inner induction (on t). Thus, the
proof is now complete. ✷
14
From Proposition 3.1 it immediately follows:
Theorem 3.4 For any directed acyclic graph G, consider the system G, Aw,ρ , LIS.
Then, the delay of any packet is at most ((2w − 1)Cρ − 1)l(G) + l(G), where
l(G) is the length of the longest path in the network.
PROOF. Consider any packet p that is injected at time t with destination v
of level (v) = i. Such a packet has to arrive to v over an edge w, v for some
node w such that level (w) < level (v) = i. By Proposition 3.1 packet p clears
where δ(t)
is the least integer such
node w (and arrives at v) by time t + δ(t)
that
t≤τ ≤t+
δ (t)
C(τ ) ≥ ρ(k + 1)
C(τ ) .
max{1,t−(2w−1)Cρ(k+1)−(k+1)+1−w+1}≤τ ≤t+w−1
′
′
Consider now any packet p that is injected at time step t ≤ t−(2w−1)Cρi−i.
′
′
′
′
′
Since t < t, packet p clears node w by time step t + δ(t ), where δ(t ) is the
least integer such that
t ≤τ ≤t +
δ (t )
′
′
′
C(τ ) ≥ ρ(k + 1)
C(τ ) .
′
′
max{1,t −w+1}≤τ ≤t +w−1
We continue to prove:
Lemma 3.5 δ(t′ ) ≤ (ρ(2w − 1)C − 1)i + i
PROOF. By the definition of δ(t′ ), it suffices to show that
t′ ≤τ ≤t′ +((2w−1)Cρ−1)i+i
C(τ ) ≥ ρ
C(τ ) .
max{1,t′ −w+1}≤τ ≤t′ +w−1
Since C(t) ≥ 1 for all time steps t, it follows that
t′ ≤τ ≤t′ +((2w−1)Cρ−1)i+i
C(τ ) ≥ ((2w − 1)Cρ − 1)i + i + 1
= (2w − 1)Cρi − i + i + 1
= (2w − 1)Cρi + 1 .
Since C(t) ≤ C for all time steps t, it follows that
15
ρi
max{1,t′ −w+1}≤τ ≤t′ +w−1
C(τ ) ≤ ρ(2(w − 1) + 1)Ci
< ρ(2w − 1) Ci + 1 .
Hence,
t′ ≤τ ≤t′ +((2w−1)Cρ−1)i+i
C(τ ) ≥ ρ
C(τ ) ,
max{1,t′ −w+1}≤τ ≤t′ +w−1
as needed. ✷
It follows that
t′ + δ(t′ )
≤ t′ + ((2w − 1)Cρ − 1)i + i (by Lemma 3.5)
≤
t
(since t′ ≤ t − ((2w − 1)Cρ − 1)i − i)
Thus, packet p can be delayed in node w only by packets that have been
injected in the time interval [t − (2w − 1)Cρi − i + 1, t].
By Lemma 2.3, there are at most ρ max{1,t−(2w−1)Cρi−i+1−w+1}≤τ ≤t+w−1 C(τ )
such packets. It follows that packet p clears node w by time t + δ(t), where
δ(t) > 0 is the least integer such that
t≤τ ≤t+δ(t)
C(τ ) ≥ ρ
C(τ ) ,
max{1,t−(2w−1)Cρi−i+1−w+1}≤τ ≤t+w−1
as needed. Because δ(t) ≤ ((2w − 1)Cρ − 1)i + i, it holds that packet p clears
node w by time t + δ(t) ≤ t + ((2w − 1)Cρ − 1)i + i. Similarly, we can prove
that packet p clears node w arriving at a node v of level (v) = l(G) by time
t + δ(t) ≤ t + ((2w − 1)Cρ − 1)l(G) + l(G). ✷
3.2 Lower Bound
In this section, we present our lower bound on the performance of LIS on
DAGs. We show:
Theorem 3.6 There is a directed acyclic graph G and an adversary Aw,ρ
such that in the system G,A,LIS any packet with destination a node v of G
16
1
0
00
000
0000
001
0001
10
01
010
0100
011
101
100
0101
11
110
1001
111
1101
1111
Fig. 1. The network G0 (4)
at level i suffers a delay of Ω(iwCρ) time steps, while the largest queue required
is (w + 1)C.
3.2.1 The Construction of G
For any integer k ≥ 2, consider the complete binary tree G0 (k) of height k,
with all edges directed towards the root v0 . Furthermore, assign to every node
v of G0 (k) a binary string s(v), called the label of node v, as follows:
• s(v0 ) = ǫ (the empty string).
• For each level l of G0 (k) (1 ≤ l ≤ k) order the nodes at level l from left to
right and number them with the integers 1, . . . , 2l . For each such node v of
order m (1 ≤ m ≤ 2l ), s(v) will be the binary representation of m − 1 that
uses l bits.
From the definition of the label function s, it immediately follows:
Lemma 3.7 For each internal node v of G0 (k), s(v) is the longest common
prefix of all s(u), where u runs over the two children of v.
PROOF. Assume that v has order m, so that s(v) = b(m − 1), and consider
any child u of v. Clearly, the order of u is either 2m − 1 or 2m. Hence, s(u)
is the binary representation b of either 2m − 2 or 2m − 1. But, b(2m − 2) =
b(2(m − 1)) = b(m − 1)0 and b(2m − 1) = b(2m − 2 + 1) = b(2m − 2) + b(1) =
b(m−1)0+b(1) = b(m−1)0. Thus, s(v) is the longest common prefix (b(m−1))
of the two s(u), where u is a child of v, as needed. ✷
Modify now the network G0 (k) to obtain the network G(k), as follows:
• For each internal node v:
· Remove the edge (vl , v) pointing to v from its left child vl .
17
0
1
00
000
0000
01
001
010
0001
0100
10
011
100
0101
11
101
1001
110
111
1101
1111
Fig. 2. The network G(4)
′
· Add a node vl and the edges (vl , vl′ ) and (vl′ , v).
Note that the resulting network G(k) is a subgraph of the complete binary tree
of height 2k. Figures 1 and 2 illustrate the networks G0 (4) and G(4) providing
the labels of many nodes.
3.2.2 Preliminaries
For each node v in the network G0 (k), denote Z(v) the number of 0s in the
string s(v). Note that the distance of node v from the root is different in the
network G(k) than in the network G0 (k). In particular, the distance of node
v from the root is |s(v)| for G0 (k), while it is |s(v)| + Z(v) for G(k). The
additional term Z(v) accounts for the number of nodes added in the path
from v to the root, which is, by construction, the number of 0s in Z(v) (since
a node is added for each node in the path that is a left child).
For each leaf v in G0 (k), define D(v) to be the predecessor node u of v in G0 (k)
that is closest to v and v is a descendant of, or equal to, the left child of a
child of D(v), or the root, if no such predecessor u exists. The definition of
D(v) immediately implies:
For each leaf v in G0 (k), D(v) is the node on the path from v to the root, such
that s(D(v)) is obtained by removing the least significant bits from s(v) till
either one bit after the first 0 has been removed, or the empty string has been
obtained.
3.2.3 The Adversary
Initial system configuration. We assume that, initially (t = 0), there is a
number of packets that are queued at each leaf requiring to traverse only the
18
out-going edge of the leaf where they are queued. The number of leafs of G(k)
is 2k . In the queue at the tail of the out-going edge of leaf v there is initially
queued a number of wC + k − Z(v) packets.
Adversary‘s behavior. The out-going edge of each leaf v has unit capacity at
the time interval [0, k − Z(v)). Therefore, at each one of these time steps one
packet from the initial ones leaves the system at each out-going edge. Till the
time k − Z(v) + w all the packets that are queued initially in a leaf v have
packets to
been absorbed. At time step k − Z(v), the adversary injects wρC
2
each leaf node v targeted with node D(v). The path that is assigned to these
paths has capacity C at the time interval [k − Z(v), k − Z(v) + w − 1], while
after this time the path changes capacity to unit (only the edges that do not
overlap with paths that are used for packet injections at other time steps). 3
Adversarial model restriction. In order to guarantee that this adversary is a
valid one, we should show that the packets that want to traverse any common
edge with capacity C at the time of their injection cannot be more than wρC
packets, it suffices to
packets. Because the adversary injects in any leaf wρC
2
show that any edge is used at most by the packet flows that are injected in
two leaves. Note that if a packet that is injected to a leaf v wants to reach
the nodes u1 and u2 of the original tree there are two cases depending on
whether these nodes are neighbors or not. If these nodes are neighbors, the
packet should traverse the edge (u1 , u2 ), otherwise it should traverse the edges
′
′
(u1 , u1 ) and (u1 , u2 ). For this purpose, the k − |s(u1 )| − 1 least significant bits
of s(v) must all be 1’s, and the |s(u1 )| most significant bits of |s(v)| must all
match the corresponding bits of s(u1 ). This can happen for at most two leaves.
Thus, at most two leaves send packets that traverse any edge, and therefore
any edge is used by at most wρC packets.
Evolution of the System Configuration. We show here the evolution of the
system configuration at any internal node of the network Gk .
Claim 3.8 Consider any node v of G0 (k) such that |s(v)| ≤ k − 2. Then, all
packets that traverse v arrive at v between time (k − |s(v)| − 1) wCρ
+ 2k −
2
wCρ
Z(v) − |s(v)| + w − 1 and time (k − |s(v)|) 2 + 2k − Z(v) − |s(v)| + w − 2.
PROOF. We prove this by induction on k − |s(v)|, i.e., on the height of the
node v.
Basis case: Let v be any node such that |s(v)| = k − 2, let vr be the right child
′′
of v, and let vl be the left child of v in G0 (k). Note that s(vl ) = s(v)0. Let vl
′
be the right child of vl , and let vl be the left child of vl in G0 (k).
3
For simplicity, we assume here that
to remove.
wρC
2
19
is an integer, but this assumption is easy
At time k−Z(vl ), the adversary injects wCρ
packets in vl requiring to traverse a
2
′
path with edges that have capacity C. After time k−Z(vl )+w−1, the capacity
packets follow to reach vl changes to unit. Therefore, these
of the edges the wCρ
2
′
packets arrive, one per time step, to vl starting at time k − Z(vl ) + 1 + w. Since
′
′
′
s(vl ) = s(vl )0, then Z(vl ) = Z(vl ) + 1. Thus, k − Z(vl ) + 2 = k − Z(vl ) + 1.
′′
′′
The packets that vl receives from vl are injected by the adversary to vl at
′′
′
′′
time k − Z(vl ) = k − Z(vl ). So, the packets from vl and vl arrive at vl at
exactly the same time steps.
′
′
′
But, the packets coming to vl from vl have been in the system longer than
′′
the packets coming to vl from vl . So, they will have priority over the pack′
′′
ets coming from vl . However, packets coming to vl from vl have v as final
destination (they are absorbed at v). Thus, the first of the packets that v
′′
receives from vl which will be forwarded on (packets coming from vl ) arrives at v at time [k − Z(vl ) + 1] + wρC
+ 1 + w, and the remainder arrive
2
wCρ
one per time step for the next 2 − 1 time steps because they follow a
path with unit capacity. Since Z(vl ) = Z(v) + 1 and |s(v)| = k − 2, we take
+ 1 + w = (k − |s(v)| − 1) wρC
+ 2k − Z(v) − |s(v)| + w − 1.
[k − Z(vl ) + 1] + wρC
2
2
This means that exactly one of those packets arrives at v at every time step
+ 2k − Z(v) − |s(v)| + w − 1, and time
between time (k − |s(v)| − 1) wCρ
2
wCρ
(k − |s(v)|) 2 + 2k − Z(v) − |s(v)| + w − 2. An analogous fact holds for the
packets arriving at v from vr that are forwarded onward by v.
Inductive hypothesis: For any node v of G0 (k), the packets that traverse v
+ 2k − Z(v) − |s(v)| + w − 1 and time
arrive at v between time (j − 1) wCρ
2
wCρ
j 2 + 2k − Z(v) − |s(v)| + w − 2 for k − |s(v)| = j.
′
′
Induction step: We assume the claim for all v such that k −|s(v )| ≤ j. Choose
any v such that k − |s(v)| = j + 1. Let vr be the right child of v, and let vl be
the left child of v in G0 (k). By the inductive hypothesis, the packets that vl
forwards to v arrive at vl between time (j − 1) wCρ
+ 2k − Z(vl ) − |s(vl )| + w − 1
2
wCρ
and time j 2 + 2k − Z(vl ) − |s(vl )| + w − 2. Of these packets, the ones that
′
vl receives from its left child have been originated at a node vl such that
′
s(vl ) = s(vl )01j−1 , and the ones that vl receives from its right child have been
′′
′
′
′′
originated at a node vl such that s(vl ) = s(vl )1j . Since Z(vl ) = Z(vl ) + 1, all
the packets that vl receives from its left child have been in the system longer
than the packets that vl receives from its right child.
Thus, all the packets that vl receives from its left child have priority over any
packet that vl receives from its right child. Since vl receives one packet to
forward per time step from each of its children, all the packets, which have v
as their destination, are forwarded before any packet that has to go further.
packets that vl forwards to v having v as a final destination.
There are wCρ
2
Thus, the packets that v receives from vl that need to be forwarded arriving
20
at v between time j wCρ
+ 2k − Z(vl ) − |s(vl )| + 1 + w, and time (j + 1) wCρ
+
2
2
2k − Z(vl ) − |s(vl )| + w. Since |s(vl )| = |s(v)| + 1 and Z(vl ) = Z(v) + 1, these
+ 2k − Z(v) − |s(v)| + w − 1
time steps are between time (k − |s(v)| − 1) wCρ
2
wCρ
and time (k − |s(v)|) 2 + 2k − Z(v) − |s(v)| + w − 2. Note that exactly one
of those packets arrives at v at each time step. A similar argument shows that
at each time step in which v receives a packet from vl to forward it onward,
it also receives a packet from vr for forwarding. ✷
Proof of the Theorem 3.6. The theorem follows from the fact that the longest
path that leads to any node v is i = 2(k − |s(v)|). By Claim 3.8, packets
destined for v reach vr , the right child of v, no earlier than time (k − |s(vr )| −
+2k−Z(vr )−|s(vr )|+w−1. The last of these packets will reach v at time
1) wCρ
2
+2k−Z(vr )−|s(vr )|+w−1. These packets are inserted at a leaf
(k−|s(vr )|) wCρ
2
′
′
′
v such that s(v ) = s(vr )01k−|s(vr )|−1 at time step k−Z(v ) = k−Z(vr )−1 and
the path that is assigned to them has capacity C. Thus, the total time spent
+k −|s(vr )|+w. Substituting
in the system by these packets is (k −|s(vr )|) wCρ
2
wCρ
|s(v)| + 1 for |s(vr )|, this is (k − |s(v)| − 1)( 2 + 1) + w = Ω(iwCρ). The
largest queue required for the adversary construction is wC + k. For k = C,
we take wC + C = (w + 1)C.
4
SIS on Directed Acyclic Graphs
In this section, we present lower bounds on the performance of SIS on DAGs.
Recall that we consider DAGs, in which nodes are ordered by the topological
order induced by the graph. This order assigns to each node v a level i ≥ 0,
denoted level(v), such that the longest path leading to node v has length i.
We show:
Theorem 4.1 There is a directed acyclic graph G and an adversary Aw,ρ
such that in the system G,A,SIS any packet with destination a node v of G
at level i suffers a delay of Ω(iwCρ) time steps, while the largest queue required
is (w + 3)C.
The proof of Theorem 4.1 is similar to the proof of Theorem 3.6. Again, for
any integer k ≥ 2 we consider the complete binary tree of height k, G0 (k),
where a binary string s(v), called the label of node v, is assigned to every
node v as in Theorem 3.6 (Figure 1 illustrates the network G0 (4) providing
the labels of many nodes.) We construct similarly to Theorem 3.6 the network
G(k) that is a subgraph of the complete binary tree of height 2k (Figure 2
illustrates the network G(4).) The only difference to the proof of Theorem 3.6
is the construction of the adversary.
21
4.1 The Adversary
Initial system configuration. We assume that, initially (t = 0), there is a
number of packets that are queued at each leaf requiring to traverse only the
out-going edge of the leaf where they are queued. The number of leafs of G(k)
is 2k . In the queue at the tail of the out-going edge of leaf v with order m
from left to right where m takes on odd values from the integer interval [1, 2k ],
there are queued wC + k − (k − Z(v)) packets requiring to traverse only the
queue where they have been injected. Also, we assume that, initially at each
leaf v with order m from left to right, where m takes on even values from the
integer interval [1, 2k ], there are queued (w + 2)C + k − (k − Z(v)) packets
requiring to traverse only the queue where they have been injected.
Adversary‘s behavior. The out-going edge of each leaf v has unit capacity at
the time interval [0, Z(v)). Therefore, at each one of these time steps one
packet from the initial ones leaves the system at each out-going edge. Till the
time Z(v) + w + 2, all the packets that are queued initially in a leaf v have
been absorbed.
At time step Z(v), the adversary injects wρC
packets to each leaf node v tar2
geted with node D(v). The path that is assigned to these packets has capacity
C at the time interval [Z(v), Z(v) + w − 1] for any leaf v with order m that
takes on odd values from the integer interval [1, 2k ]. Also, the path that is assigned to these packets has capacity C at the time interval [Z(v), Z(v)+w + 1]
for any leaf v with order m that takes on even values from the integer interval
[1, 2k ]. After this time the path changes capacity to unit (only the edges that
do not overlap with paths that are used for packet injections at other time
steps).
Adversarial model restriction. Its similar to the corresponding part of the proof
of Theorem 3.6.
Evolution of the System Configuration. We show here the evolution of the
system configuration at any internal node of the network Gk .
Claim 4.2 Consider any node v of G0 (k) such that |s(v)| ≤ k − 2. Then, all
packets that traverse v arrive at v between time (k −|s(v)|−1) wCρ
+k +Z(v)−
2
wCρ
|s(v)| + w + 3 + 2(k − |s(v)| − 1) − 2 and time (k − |s(v)|) 2 + k + Z(v) −
|s(v)| + w + 2 + 2(k − |s(v)|) − 4.
PROOF. We prove this by induction on k − |s(v)|, i.e., on the height of the
node v.
Basis case: Let v be any node such that |s(v)| = k − 2, let vr be the right child
22
′′
of v, and let vl be the left child of v in G0 (k). Note that s(vl ) = s(v)0. Let vl
′
be the right child of vl , and let vl be the left child of vl in G0 (k).
packets in vl requiring to traverse a
At time Z(vl ), the adversary injects wCρ
2
′
path with edges that have capacity C. After time Z(vl ) + w − 1, the capacity
packets follow to reach vl changes to unit. Therefore,
of the edges the wCρ
2
′
these packets arrive, one per time step, to vl starting at time Z(vl ) + 1 + w.
′
′
′
Since s(vl ) = s(vl )0, then Z(vl ) = Z(vl ) + 1. Thus, Z(vl ) + 2 = Z(vl ) + 3. The
′′
′′
packets that vl receives from vl are injected by the adversary to vl at time
′′
′
′′
Z(vl ) = Z(vl ). So, the packets from vl and vl arrive at vl at exactly the same
time steps.
′
′
′
But, the packets coming to vl from vl have been in the system shorter than
′′
the packets coming to vl from vl . So, they will have priority over the packets
′
′′
coming from vl . However, packets coming to vl from vl have v as final destination (they are absorbed at v). Thus, the first of the packets that v receives
′′
from vl which will be forwarded on (packets coming from vl ) arrives at v at
time [Z(vl ) + 3] + wρC
+ 1 + w, and the remainder arrive one per time step
2
wCρ
for the next 2 − 1 time steps because they follow a path with unit capacity.
+1+w =
Since Z(vl ) = Z(v) + 1 and |s(v)| = k − 2, we take [Z(vl ) + 3] + wρC
2
wρC
(k − |s(v)| − 1) 2 + k + Z(v) − |s(v)| + w + 3 + 2(k − |s(v)| − 1) − 2. This means
that exactly one of those packets arrives at v at every time step between time
+ k + Z(v) − |s(v)| + w + 3 + 2(k − |s(v)| − 1) − 2, and time
(k − |s(v)| − 1) wCρ
2
wCρ
(k − |s(v)|) 2 + k + Z(v) − |s(v)| + w + 2 + 2(k − |s(v)|) − 4. An analogous
fact holds for the packets arriving at v from vr that are forwarded onward by
v.
Inductive hypothesis: For any node v of G0 (k), the packets that traverse v
+ k + Z(v) − |s(v)| + w + 3 + 2(j − 1) − 2
arrive at v between time (j − 1) wCρ
2
wCρ
and time j 2 + k + Z(v) − |s(v)| + w + 2 + 2j − 4 for k − |s(v)| = j.
′
′
Induction step: We assume the claim for all v such that k −|s(v )| ≤ j. Choose
any v such that k − |s(v)| = j + 1. Let vr be the right child of v, and let vl be
the left child of v in G0 (k). By the inductive hypothesis, the packets that vl
+ k + Z(vl ) − |s(vl )| + w +
forwards to v arrive at vl between time (j − 1) wCρ
2
3 + 2(j − 1) − 2 and time j wCρ
+ k + Z(vl ) − |s(vl )| + w + 2 + 2j − 4. Of these
2
packets, the ones that vl receives from its left child have been originated at
′
′
a node vl such that s(vl ) = s(vl )01j−1 , and the ones that vl receives from its
′
′′
right child have been originated at a node vl such that s(vl ) = s(vl )1j . Since
′′
′
Z(vl ) = Z(vl ) + 1, all the packets that vl receives from its left child have been
in the system shorter than the packets that vl receives from its right child.
Thus, all the packets that vl receives from its left child have priority over any
packet that vl receives from its right child. Since vl receives one packet to
forward per time step from each of its children, all the packets, which have v
23
as their destination, are forwarded before any packet that has to go further.
packets that vl forwards to v having v as a final destination.
There are wCρ
2
So, the packets that v receives from vl that need to be forwarded arriving
+ k + Z(vl ) − |s(vl )| + 3 + w + 2j − 2, and
at v between time step j wCρ
2
wCρ
time step (j + 1) 2 + k + Z(vl ) − |s(vl )| + w + 2 + 2(j + 1) − 4. Since
|s(vl )| = |s(v)| + 1 and Z(vl ) = Z(v) + 1, these time steps are between time
+ k + Z(v) − |s(v)| + w + 3 + 2(k − |s(v)| − 1) − 2
step (k − |s(v)| − 1) wCρ
2
+ k + Z(v) − |s(v)| + w + 2 + 2(k − |s(v)|) − 4.
and time step (k − |s(v)|) wCρ
2
Note that exactly one of those packets arrives at v at each time step. A similar
argument shows that at each time step v receives a packet from vl to forward
it onward, it also receives a packet from vr for forwarding. ✷
Proof of the Theorem 4.1. The theorem follows from the fact that the longest
path that leads to any node v is i = 2(k − |s(v)|). By Claim 4.2, packets
destined for v reach vr , the right child of v, no earlier than time (k − |s(vr )| −
+k+Z(vr )−|s(vr )|+w+3+2(k−|s(vr )|−1)−2. The last of these packets
1) wCρ
2
+k+Z(vr )−|s(vr )|+w+3+2(k−|s(vr )|)−4.
will reach v at time (k−|s(vr )|) wCρ
2
′
′
These packets are inserted at a leaf v such that s(v ) = s(vr )01k−|s(vr )|−1
′
at time step Z(v ) = Z(vr ) + 1 and the path that is assigned to them has
capacity C. Thus, the total time spent in the system by these packets is
+ k − |s(vr )| + w + 3 + 2(k − |s(vr )|) − 4. Substituting |s(v)| + 1
(k − |s(vr )|) wCρ
2
+ k − |s(v)| − 1 + w + 3 + 2(k − |s(v)| −
for |s(vr )|, this is (k − |s(v)| − 1) wCρ
2
wCρ
1) − 4 = (k − |s(v)| − 1)( 2 + 3) + w − 1 = Ω(iwCρ). The largest queue
required for the adversary construction is (w + 2)C + k. For k = C, we take
(w + 2)C + C = (w + 3)C.
5
Sufficient Conditions for Stability
In this section, we present upper bounds on stability thresholds. We denote
d(G) the length of the longest directed path that may be followed by any
packet. We still consider the model of dynamic capacities [6] where each link
capacity may take on integer values from [1, C]. We first show:
1
. For any network G, any adversary Aw,ρ and
Theorem 5.1 Let ρ ≤ C(d(G)+1)
any greedy protocol P, the system G, A, P is stable.
PROOF. It suffices to show that any packet that arrives at a queue at time
t, leaves this queue by time t + ⌊wρ⌋. Our proof is by induction on time t.
Basis case: Consider any t ≤ d(G)wρ + 1. Let p be a packet that arrives to
the queue e at time t ≤ d(G)wρ + 1. The edge e has unit capacity in the time
24
interval [t, t+⌊wρ⌋] in the worst-case (unit capacity permits the preservation of
the biggest number of packets in the queue). Assume towards a contradiction
that p is at the same queue at the end of time t + ⌊wρ⌋. This means that for
each of the ⌊wρ⌋ time steps in [t + 1, t + ⌊wρ⌋] some other packet was sent
over edge e due to the use of a greedy protocol.
From the definition of the adversary, the largest number of packets that can
be injected into the system by the end of time t + ⌊wρ⌋ − 1 requiring edge e is
⌊wρC⌋ + 1 packets because C is the capacity value of edge e at injection time
that maximizes the number of packets that can be injected into the system
requiring e (these are the packet p itself, and the ⌊wρC⌋ packets that were
sent over e). Since t ≤ d(G)wρ + 1, we have t + ⌊wρ⌋ − 1 ≤ (d(G) + 1)wρ.
By the definition of the adversary, the number of packets that require e and
′
they are injected by the end of any time step t ≤ (d(G) + 1)wρ is at most
⌈(d(G) + 1)ρ⌉⌊wρC⌋ because C is the capacity value of edge e at injection
time that maximizes the number of packets that can be injected into the
1
, this is at most ⌊wρ⌋. A
system requiring e. Since we assume ρ ≤ C(d(G)+1)
contradiction to the fact that we identified ⌊wρ⌋ + 1 packets.
′
Inductive hypothesis: Any packet that arrives at some queue at time t ≤ t,
′
leaves the queue by time step t + ⌊wρ⌋.
Induction step: We now prove the claim for any t > d(G)wρ + 1. Let p be
a packet that arrives to the queue e at some time t. Consider any packet
that requires edge e and it is injected by time t − d(G)⌊wρ⌋. By the inductive
hypothesis, we know that such a packet left the queue where it was injected by
time t − d(G)⌊wρ⌋ + ⌊wρ⌋, left the next queue by time t − d(G)⌊wρ⌋ + 2⌊wρ⌋,
etc. I.e., it arrived to its destination by time t−d(G)⌊wρ⌋+d(G)⌊wρ⌋ = t (since
the length of its path is at most d(G), and all its “arrival times” are earlier
than t, so the inductive hypothesis holds). It follows that any packet that can
delay packet p from going over edge e must be injected at time t − wρd(G) + 1
or later.
Now assume towards a contradiction that packet p is still at queue e at the
end of time t + ⌊wρ⌋. So, there are some other packets that crossed edge e in
[t + 1, t + ⌊wρ⌋]. These packets are present in the network at the end of time
t or later, and they are injected by time t + ⌊wρ⌋ − 1. However, we know that
any packet that has been injected by time t − d(G)⌊wρ⌋, it has already left the
network by the end of time t. Thus those packets must have been injected in
the time interval [t − d(G)⌊wρ⌋ + 1, t + ⌊wρ⌋ − 1]. There are ⌊wρ⌋(d(G) + 1) − 1
time steps in this interval. So, the number of packets that require e that can
be injected during this interval is bounded by ⌈(d(G) + 1)ρ⌉⌊wρC⌋ because C
is the capacity value of edge e at injection time that maximizes the number of
1
packets that can be injected into the system requiring e. Since ρ ≤ C(d(G)+1)
this is at most ⌊wρ⌋, a contradiction. ✷
25
Now, we will show how we can relax the obtained stability condition for time
priority protocols, such as FIFO and LIS. A time priority protocol is any greedy
protocol that forwards a packet arriving at a queue at time t against any other
packet that is injected into the system after time t. We show:
1
. For any network G, any adversary Aw,ρ and
Theorem 5.2 Let ρ ≤ Cd(G)
any time-priority protocol P, the system G, A, P is stable.
PROOF. It suffices to show that any packet that arrives at a queue at time
t, leaves this queue by time t + ⌊wρ⌋. Our proof is by induction on time t.
Basis case: Consider any t ≤ d(G)wρ. Let p be a packet that arrives at queue
e at time t ≤ d(G)wρ. Assume towards a contradiction that p is at the same
queue at the end of time t + ⌊wρ⌋. Since the protocol is greedy and the edge
e has unit capacity in the time interval [t, t + ⌊wρ⌋] in the worst-case (unit
capacity permits the preservation of the biggest number of packets in the
queue), there are at least ⌊wρ⌋ + 1 packets that traverse edge e in the time
interval [t, t + ⌊wρ⌋] (these are p, and the packets that were sent over e in
the interval [t, t + ⌊wρ⌋]). However, since the protocol is time priority, these
packets must have been injected into the system by the end of time step t
(otherwise they cannot delay p).
By the definition of the adversary, the number of packets that may use e and
they are injected into the system by the end of time t is at most ⌈t/w⌉⌊wρC⌋ ≤
⌈d(G)ρ⌉⌊wρC⌋ ≤ ⌊wρ⌋, since ρ ≤ 1/Cd(G), and C is the capacity value of
the edge e at injection time that maximizes the number of packets that can
be injected into the system requiring e. A contradiction to the fact that we
identified ⌊wρ⌋ + 1 packets.
′
Inductive hypothesis: Any packet that arrives at some queue at time t ≤ t,
′
leaves the queue by time step t + ⌊wρ⌋.
Induction step: We now prove the claim for any t > d(G)wρ. Assume by
′
induction that any packet that arrives at some queue at time t ≤ t, leaves
′
this queue by time t + ⌊wρ⌋. Let p be a packet that arrives at the queue of
the edge e at time t. Assume towards a contradiction that packet p is still at e
at the end of time t + ⌊wρ⌋. The edge e has unit capacity in the time interval
[t, t + ⌊wρ⌋] in the worst-case. Then, there is a set of ⌊wρ⌋ + 1 distinct packets
that use edge e in the time interval [t, t + ⌊wρ⌋]. Since we have a time priority
protocol, all these packets were injected by the end of time t.
Moreover, we now prove that all these packets were injected at time t −
wρd(G) + 1 or later. Consider any packet q that was injected into the system by time t − d(G)⌊wρ⌋. By the inductive hypothesis, q left the first queue
on its path by time t − d(G)⌊wρ⌋ + ⌊wρ⌋, left the next queue by time t −
26
d(G)⌊wρ⌋ + 2⌊wρ⌋, and so on. Hence, q arrived at its destination by time
t − d(G)⌊wρ⌋ + d(G)⌊wρ⌋ = t: since the length of its path is at most d(G),
all its “arrival times” are earlier than t, so we may apply the inductive hypothesis. Therefore, all the ⌊wρ⌋ + 1 packets that use e in the time interval [t, t + ⌊wρ⌋] must have been injected into the system in the time interval
[t − d(G)⌊wρ⌋ + 1, t]. There are ⌊wρ⌋d(G) time steps in this interval, and therefore the number of packets that require e and they can be injected during this
interval is bounded by ⌈d(G)ρ⌉⌊wρC⌋ since C is the capacity value of the edge
e at injection time that maximizes the number of packets that can be injected
into the system requiring e. Since ρ ≤ 1/Cd(G), the number of packets that
are injected during the time interval [t − d(G)⌊wρ⌋ + 1, t] is at most ⌊wρ⌋. A
contradiction to the fact that we identified ⌊wρ⌋ + 1 packets. ✷
6
Discussion and Directions for Further Research
In this work, we studied the impact of dynamically changing link capacities
(link capacities can take on integer values from [1, C] with C > 1) on the
performance bounds of the LIS and the SIS protocols on DAGs and we obtained stability bounds for greedy protocols running on arbitrary networks.
We proved that the LIS and SIS protocols have linear performance bounds on
DAGs and that there are polynomial stability thresholds for greedy protocols
on arbitrary networks depending on the maximum link capacity C and the
length of the longest network path.
A careful inspection of the proofs of the lower bound for LIS obtained in this
work reveals that they also hold in the more restrictive model, where link
capacities stay fixed for time at least a constant of the number of packets in
the system at the time when the capacity was last set. This model is called
QuasiStatic Link Capacities Model [11]. Therefore, the tight bound we prove
here for LIS implies some kind of collapse of a powerful model (Model of
Dynamic Capacities) to a weaker one (QuasiStatic Link Capacities Model)
that is, rather surprising.
An interesting avenue for further research would be to determine performance
bounds for other stable protocols on DAGs such as FTG and NTS in the
model of dynamic capacities. Also, an interesting question is if LIS and SIS
have polynomial performance bounds on general networks.
27
References
[1] M. Adler, A. Rosén, Tight Bounds for the Performance of Longest-in-System on
DAGs, in: Proceedings of the 19th Annual Symposium on Theoretical Aspects of
Computer Science, Lecture Notes in Computer Science, Antibes–Juan Les Pins,
France, Springer-Verlag, 2002, Vol. 2285, pp. 88–99.
[2] M. Andrews, B. Awerbuch, A. Fernandez, J. Kleinberg, T. Leighton, Z. Liu,
Universal Stability Results for Greedy Contention-Resolution Protocols, Journal
of the ACM, 48 (1) (2001) 39–69.
[3] M. Andrews, L. Zhang, The Effect of Temporary Sessions on Network
Performance, in: Proceedings of the 11th Annual Symposium on Discrete
Algorithms, San Francisco, California, USA, 2000, pp. 448–457.
[4] R. Bhattacharjee, A. Goel, Instability of FIFO at Arbitrarily Low Rates in
the Adversarial Queueing Model, in: Proceedings of the 44th Annual IEEE
Symposium on Foundations of Computer Science, Cambridge, MA, USA, 2003,
pp. 160–167.
[5] A. Borodin, J. Kleinberg, P. Raghavan, M. Sudan, D. Williamson, Adversarial
Queueing Theory, Journal of the ACM, 48 (1) (2001) 13–38.
[6] A. Borodin, R. Ostrovsky, Y. Rabani, Stability Preserving Transformations:
Packet Routing Networks with Edge Capacities and Speeds, in: Proceedings of
the 12th Annual ACM-SIAM Symposium on Discrete Algorithms, Washington,
DC, USA, 2001, pp. 601–610.
[7] H. Chen, D. D. Yao, Fundamentals of Queueing Networks, Springer-Verlag, 2000.
[8] J. Diaz, D. Koukopoulos, S. Nikoletseas, M. Serna, P. Spirakis, D. Thilikos,
Stability and Non-Stability of the FIFO Protocol, in: Proceedings of the 13th
Annual ACM Symposium on Parallel Algorithms and Architectures, Crete,
Greece, 2001, pp. 48–52.
[9] D. Koukopoulos, M. Mavronicolas, S. Nikoletseas, P. Spirakis, On the Stability of
Compositions of Universally Stable, Greedy, Contention-Resolution Protocols, in:
Proceedings of the 16th International Symposium on DIStributed Computing,
Lecture Notes in Computer Science, Toulouse, France, Springer-Verlag, 2002,
Vol. 2508, pp. 88–102.
[10] D. Koukopoulos, M. Mavronicolas, S. Nikoletseas, P. Spirakis, The Impact
of Network Structure on the Stability of Greedy Protocols, in: Proceedings of
the 5th Italian Conference on Algorithms and Complexity, Lecture Notes in
Computer Science, Rome, Italy, Springer-Verlag, 2003, Vol. 2653, pp. 251–263.
Also, accepted in the Journal Theory of Computing Systems.
[11] D. Koukopoulos, M. Mavronicolas, P. Spirakis, Instability of Networks
with Quasi-Static Link Capacities, in: Proceedings of the 10th International
Colloquium on Structural Information and Communication Complexity, Carleton
Scientific, Umea, Sweden, 2003, pp. 179–194.
28
[12] D. Koukopoulos, S. Nikoletseas, P. Spirakis, Stability Issues in Heterogeneous
and FIFO Networks under the Adversarial Queueing Model, in: Proceedings
of the 8th International Conference on High Performance Computing, Lecture
Notes in Computer Science, Hyderabad, India, Springer-Verlag, 2001, Vol. 2228,
pp. 3–14. Invited Keynote Address.
[13] Z. Lotker, B. Patt-Shamir, A. Rosén, New Stability Results for Adversarial
Queueing, in: Proceedings of the 15th Annual ACM Symposium on Parallel
Algorithms and Architectures, Winnipeg, Manitoba, Canada, 2002, pp. 192–199.
[14] C. Scheideler, B. Vöcking, From Static to Dynamic Routing: Efficient
Transformations of Store-and-Forward Protocols, in: Proceedings of the 31st
ACM Symposium on the Theory of Computing, 1999, Atlanta, Georgia, USA,
pp. 215–224.
29