Competitive Queue Policies for Differentiated Services

Competitive Queue Policies for Differentiated Services
Competitive Queue Policies
for Differentiated Services
William A. Aiello
AT&T Research
Yishay Mansour
AT&T Research and
TelAviv University
S.Rajagopolan
Telcordia
Technologies
Adi Rosen
University of Toronto
by Chen Chagashi
28.5.02
Seminar in Packet Networks
1
Competitive Queue Policies for Differentiated Services
The lecture’s highlights
Introduction
 A description of our model.
 Details of the five policies we
consider
 Overview of the results.
 Analysis of the queue policies
 The optimal offline schedule

28.5.02
Seminar in Packet Networks
2
Competitive Queue Policies for Differentiated Services
Introduction
QoS
Future packet networks will support
Quality of Service (QoS) in order to provide a
full array of services.
 According to QoS the user’s commitments
are about how his traffic will behave
(average bandwidth, peak bandwidth, burst
size etc.)
 The network guarantees the user maximum
delay, jitter, etc.
28.5.02
Seminar in Packet Networks
3
Competitive Queue Policies for Differentiated Services
What happens when the user's traffic
does not conform to his
commitments?
There are two solutions:
1. To force the incoming traffic to conform to the
committed parameters by regulating the traffic
at the entrance to the network.
2. To label the traffic as “in” and “out”:
“in” has the desired properties and “out” is an
excess load.
This leads to the state where “in” packets
have a higher priority over “out” packets.
28.5.02
Seminar in Packet Networks
4
Competitive Queue Policies for Differentiated Services
Abstract of the question
We have two type of packets:
 a low priority packet - a benefit of 1.
 a high priority packet – a benefit of α>=1.
 If α is very large, the high priority
packets have an absolute preference over
low priority packets.
 If α has a moderate value, there is a
tradeoff between the two packet types.
 For α near one, we are optimizing the
total traffic, ignoring the various priorities
28.5.02
Seminar in Packet Networks
5
Competitive Queue Policies for Differentiated Services
1 packet
per time
unit
Queue policy
α >=1
α =1
B packets
Outgoing queue
28.5.02
Seminar in Packet Networks
6
Competitive Queue Policies for Differentiated Services
1 packet
per time
unit
Queue policy
Outgoing queue
Once accepted, the packet cannot latter be
preempt from the outgoing queue.
28.5.02
Seminar in Packet Networks
7
The aim of the queue policy
is to
maximize the total benefit
of the
packets that were sent
Competitive Queue Policies for Differentiated Services
A Queue Policy



Our queue policy is an ”online” algorithm.
There are arrival sequences for which the benefit
of any queue policy will be very low.
Thus a lower bound on the benefit of a queue
policy over all arrival sequences will not
differentiate between queue policies.
We use an approach known as competitive
analysis, which is model independent.
In this approach no assumptions about the arrival
sequence are required to apply the bounds.
28.5.02
Seminar in Packet Networks
9
Competitive Queue Policies for Differentiated Services
Competitive Analysis
The competitive analysis compares the
performance of an online queue policy to an
optimal offline policy, which is given the entire
input sequence in advance.
The competitive ratio is the minimum, over all
input sequences, of the ratio of the online
benefit to the offline benefit.
The competitive ratio will always <=1.
Our aim is to find queue policies with the
largest competitive ratio.
28.5.02
Seminar in Packet Networks
10
Competitive Queue Policies for Differentiated Services
The Model

The benefit of a queue policy is the sum
of the benefits of the packets it accepts.
k + αm,
k , m = the number of low or high priority packets
accepted respectively.
 We use competitive analysis
 an input sequence Λ,
 the benefit of an online policy π is π (Λ),
 the benefit of an optimal policy is opt(Λ).
The competitive ratio of policy π is
minΛ{π(Λ)/opt(Λ)}.
28.5.02
Seminar in Packet Networks
11
Competitive Queue Policies for Differentiated Services
Policies Definition
5 queue policies:
 The Greedy Policy
 The Fixed Partition Policy
Threshold parameter x, # of low priority packets<= xB
# of high priority packets <= (1 –x)B.
 The Flexible Partition Policy
Threshold parameter x, # of low priority packets<= xB, and always
accepts high priority packets.
 The Dynamic Flexible Partition Policy
Threshold parameter x, k and m are #of low and high priority
packets, respectively, in the buffer. The Dynamic Flexible
Partition Policy accepts a low priority packets if k’ <= xB’
k’= k+1, B’= B – m

The RoundRobin Policy
28.5.02
Seminar in Packet Networks
12
Competitive Queue Policies for Differentiated Services
Overview of the Results
28.5.02
Seminar in Packet Networks
13
Competitive Queue Policies for Differentiated Services
The Results
α →∞
α=2
α=1
1/2
2/3
1
0
1/2
1
1/2
1/2
1/2
[1/4, 0.41]
[1/4, 1/2]
1/2
Flexible Partition
0.41
[0.41, 0.62]
1
Dynamic Flexible
Partition
1/2
[0.53, 0.62]
1
Policy
General Impossibility
Results
Greedy
Round Robin
Fixed Partition
Each policy adjusts its parameter x to be the
optimal value for the given α.
28.5.02
Seminar in Packet Networks
14
Competitive Queue Policies for Differentiated Services
Conclusions



The policies which allow a flexible use of the
buffer space achieve a good competitive ratio in
all the regimes of α.
Policies which try to perform a preallocation of
the buffer space, have a problem in the case
that the difference in prices is not significant.
The best policy, of the five we consider
here, is Dynamic Flexible Partition Policy.
By adjusting the threshold parameter we can
tune the behavior of the Dynamic Flexible
Partition Policy.
28.5.02
Seminar in Packet Networks
15
Competitive Queue Policies for Differentiated Services
Conclusions - Cont.




The Flexible Partition Policy, which is very similar
to the Dynamic Flexible Partition Policy, achieves
similar performance, but its performance is
lower in each of the three regimes.
The Fixed Partition Policy has consistently lower
c.r. than the Flexible Partition Policy.
The Round Robin Policy has a competitive ratio
of 1/2 in all three regimes.
The Greedy Policy should be viewed as a
minimal performance measure.
28.5.02
Seminar in Packet Networks
16
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Greedy Policy
Theorem 1: The competitive ratio of the
Greedy Policy is at least 1/α.
Proof: The Greedy Policy maximizes the total
number of packets accepted. Thus, the number
of packets accepted by the optimal is <= the
number of packets accepted by the Greedy
Policy. The ith packet accepted by the optimal
has benefit at most α times the benefit of the
ith packet accepted by the Greedy Policy.
  y1    y2  .......  yn    ( y1  .... yn )
opt    ( y1  .... yn )
28.5.02
Seminar in Packet Networks
17
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
Some analysis without a proof:
Theorem 5: The competitive ratio of the
Fixed Partition Policy with x=1/2 is at
least 1/4.
Theorem 6: The competitive ratio of the
Round-Robin Policy is at least 1/2.
Theorem 18: The competitive ratio of the
Flexible Partition Policy is at least √2-1.
28.5.02
Seminar in Packet Networks
18
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy
The parameter x= 1/2, and the competitive ratio is
at least 1/2.
We define a matching as follows: when a high
priority packet arrives it is matched to the lowest
unmatched low priority packet in the buffer (if
such a packet exists).
α >=1
28.5.02
Seminar in Packet Networks
α =1
19
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 7: In the Dynamic Flexible Partition Policy
at any time we have that l <= f , where l is the
number of unmatched low priority packets in the
queue and f is the number of free slots.
Proof: By definition of the D.F.P. Policy with
x=1/2, we accept a low priority packet if
after we accept it, we have more free
slots than low priority packets in the
queue.
-> When we accept a low priority packet
the claim holds.
28.5.02
Seminar in Packet Networks
20
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 7: In the Dynamic Flexible Partition Policy at any time
we have that l <= f , where l is the number of unmatched
low priority packets in the queue and f is the number of
free slots.
Proof – Cont.: When we accept a high priority
packet we have one less free space, but also one
less unmatched low priority packets assuming
there are unmatched low priority packets in the
queue. If there are no unmatched low priority
packets in the queue the lemma holds trivially.
α >=1
28.5.02
Seminar in Packet Networks
21
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 7: In the Dynamic Flexible Partition Policy at any time
we have that l <= f , where l is the number of unmatched
low priority packets in the queue and f is the number of
free slots.
Proof – Cont.: When we accept a high priority
packet we have one less free space, but also one
less unmatched low priority packets assuming
there are unmatched low priority packets in the
queue. If there are no unmatched low priority
packets in the queue the lemma holds trivially.
28.5.02
Seminar in Packet Networks
22
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 7: In the Dynamic Flexible Partition Policy at any time
we have that l <= f , where l is the number of unmatched
low priority packets in the queue and f is the number of
free slots.
Proof – Cont.:
When we send a packet (either high or low
priority) the number of free slots increases by 1,
and the number of unmatched low priority
packets can not increase (it can either decrease
by 1 or stay unchanged).
28.5.02
Seminar in Packet Networks
23
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Corollary 8: In the Dynamic Flexible Partition Policy
when the buffer is full all the low priority
packets are matched. (l<=f, f=0)
Definitions:
We call a packet good if it is:
(1) a high priority packet that was accepted, and
(2) a matched low priority packet.
The good prefix is the number of consecutive good
packets from the start of the online buffer.
28.5.02
Seminar in Packet Networks
24
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
xB packets in q,
sends x packet each
t.u.
greedy
GHIGH(B,x)
Accepts high priority packets
For any input sequence, the number of high
priority packets GHIGH(B,1) >= the
number of high priority packets any other
policy can accept.
(bound the number of high priority packets
the offline accepts).
28.5.02
Seminar in Packet Networks
25
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 9: In the Dynamic Flexible Partition
Policy, for any input sequence Λ , at any
time the number of packets in the good
prefix >= the number of packets in GHIGH(B,1).
Proof: By induction on time.
Initially both buffers are empty -> the
claim holds trivially.
28.5.02
Seminar in Packet Networks
26
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 9: In the Dynamic Flexible Partition Policy, for any
input sequence Λ , at any time the number of packets in
the good prefix >= the number of packets in GHIGH(B,1).
Proof - Cont.: When a high priority packet
arrives,
If GHIGH(B,1) accept it - #packets++
If reject it (case the buffer is full) #packets
If The D.F.P.Policy rejects it - the buffer is
full.
28.5.02
Seminar in Packet Networks
27
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 9: In the Dynamic Flexible Partition Policy, for any
input sequence Λ , at any time the number of packets in
the good prefix >= the number of packets in GHIGH(B,1).
Proof - Cont.:
By Corollary 8 when the buffer is full, all
the packets in the buffer are matched
-> the good prefix=B (entire buffer).
Therefore if the high priority packet is
rejected
good prefix = B >= B = #packets G-HIGH.
28.5.02
Seminar in Packet Networks
28
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 9: In the Dynamic Flexible Partition Policy, for any
input sequence Λ , at any time the number of packets in
the good prefix >= the number of packets in GHIGH(B,1).
Proof – Cont.: If the high priority packet is
accepted there are 2 cases:
 there is an unmatched low priority packet
in the buffer -> we add a matching,
which increases good prefix by at least 1.
 there is no unmatched low priority packet
-> the good prefix is increased by 1.
The inductive claim is maintained.
28.5.02
Seminar in Packet Networks
29
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 9: In the Dynamic Flexible Partition Policy, for any
input sequence Λ , at any time the number of packets in
the good prefix >= the number of packets in GHIGH(B,1).
Proof – Cont.:
An arrival of a low priority packet does not
change the buffer of GHIGH(B,1) or the
good prefix of the Dynamic Flexible
Partition Policy buffer.
28.5.02
Seminar in Packet Networks
30
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Lemma 9: In the Dynamic Flexible Partition Policy, for any
input sequence Λ , at any time the number of packets in
the good prefix >= the number of packets in GHIGH(B,1).
Proof – Cont.:
During a send event, if the GHIGH(B,1)
buffer is empty-> good prefix >=0.
Otherwise, the good prefix is also not
empty.
good prefix-- >= #packets G_HIGH--
28.5.02
Seminar in Packet Networks
31
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Corollary 10:In the Dynamic Flexible
Partition Policy for any input sequence Λ,
the number of packets GHIGH(B,1)
sends <= the number of good packets.
Proof: Each time GHIGH(B,1) sends a
packet the Dynamic Flexible Partition
Policy sends a good packet.
28.5.02
Seminar in Packet Networks
32
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Claim 11: For any input sequence Λ, the
number of packets (high or low) any
schedule sends <= 2*the number of
packets sent by the D.F.P. Policy.
Proof: The Dynamic Flexible Partition Policy
rejects a low priority packet only if the
buffer is at least half full.
28.5.02
Seminar in Packet Networks
33
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Theorem 12: The c.r. of Dynamic Flexible
Partition Policy is at least 1/2.
Proof: Consider a fixed sequence of packet
arrivals.
Let k1 and m1 be the number of low and
high priority packets an optimal offline
policy accepts, respectively.
Let k2 and m2 be the number of low and
high priority packets the Dynamic Flexible
Partition Policy accepts, respectively.
28.5.02
Seminar in Packet Networks
34
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Theorem 12: The c.r. of Dynamic Flexible Partition Policy <=
1/2.
Proof – Cont.:
We want to prove that:
K1 + αm1 <= 2(k2 + αm2)
According to claim 11:
(1) K1 + m1 <= 2(k2 + m2)
28.5.02
Seminar in Packet Networks
35
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Theorem 12: The c.r. of Dynamic Flexible Partition Policy <=
1/2.
Proof – Cont.:
g2 is the number of good packets in the
Dynamic Flexible Partition Policy.
(2) m1 <= g2 <= 2m2
Corollary 10
28.5.02
The matching
guarantees that at
least half of the good
packets are high
priority packets.
Seminar in Packet Networks
36
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Theorem 12: The c.r. of Dynamic Flexible Partition Policy <=
1/2.
Proof – Cont.:
By multiplying (2) by α–1 and adding
to (1):
K1 + αm1 <= 2(k2 + αm2).
28.5.02
Seminar in Packet Networks
37
Competitive Queue Policies for Differentiated Services
Analysis Of Queue Policies
The Dynamic Flexible Partition Policy – Cont.
Theorem 13: The Dynamic Flexible
Partition Policy with x = ¾ has a c.r.
of at least 15/28 (~0.53) for α =2 .
28.5.02
Seminar in Packet Networks
38
Competitive Queue Policies for Differentiated Services
Optimal Offline Schedule
Given an input sequence Λ, OPTIMAL works
in two phases.
 In the first phase it find a schedule that
includes only high priority packets of Λ.
(In this phase OPTIMAL accepts a high
priority packet if when it arrives the
buffer is not full.)
 The second phase is to augment the
schedule by adding low priority packets.
28.5.02
Seminar in Packet Networks
39
Competitive Queue Policies for Differentiated Services
Optimal Offline Schedule
OPTIMAL considers the low priority
packets in the order they arrive, and
accepts a low priority packet if
adding the low priority packet does
not force a later high priority packet
to be rejected.
 Theorem 26: For any input sequence
Λ, OPTIMAL(Λ) generates the
maximum benefit schedule.
28.5.02
Seminar in Packet Networks
40