Académique Documents
Professionnel Documents
Culture Documents
QoS scheduling
Andrea Bianco
Telecommunication Network Group
firstname.lastname@polito.it
http://www.telematica.polito.it/
Scheduling algorithms
QoS-capable router
Shaper
Delay flows not respecting
traffic characterization
parameters
Queuing strategy
Router buffer
management and
organization
Shaping
Input link
Scheduler
Select the packet to be
transmitted over output
link
Classification
Output link
Policing
N
inputs
Andrea Bianco TNG group - Politecnico di Torino
OUTPUT
BUFFER
Classifier
Identifies the flow to
which arriving packets
belong
Policer
Check conformance of
arriving packets to declared
traffic characterization
parameters
Buffer acceptance
Store or discard arriving
packets
Flow isolation
Related to fairness
Bit rate
Equal for all flows (useful for best effort traffic)
Specific for each flow
Delay
Andrea Bianco TNG group - Politecnico di Torino
Pag. 1
QoS scheduling
Work-conserving scheduler
Non-work-conserving scheduler
May
Ma dela
delay packet transmission
No transmission even if there are packets stored in buffers
Reduced throughput
Better guarantees on delay jitter
Reduced buffer size
FIFO
Theorem
Single queue
queued according
g to arrival time and
Data q
served in order
FIFO: properties
Work-conserving
Complete sharing of link bit rate and buffer space:
no protection against non conformant flows
All flows observe similar delay performance
Pag. 2
QoS scheduling
Processor Sharing
Round Robin
rate link
rate [ j ] =
# activeflow s
Flow 1
Flow 2
Flow 3
Scheduler
Flow 4
Andrea Bianco TNG group - Politecnico di Torino
11 10 9 8 7 6 5
4 3 2 1 0
Service rate of
flow 1
100%
F3
Scheduler
Output
rate = L/s
Flow3 (L)
F2
Round Robin
Flow1(L)
Flow2 (2L)
F4
F1
6 7 8 9 10 11
Processor Sharing
Pros
Cons
Ideal solution, non practical (packets are not fluids)
Devise approximations
Pag. 3
QoS scheduling
F1
Flow1(L)
Flow2 (2L)
Flow3 (L)
11 10 9 8 7 6 5
T
0
1
2
3
4
5
6
7
8
9
10
I F1
In
P10[1]
P11[1]
P12[1]
P13[1]
P14[1]
P15[1]
P16[1]
-
I F2
In
P20[2]
P22[2]
P24[2]
P26[2]
P28[2]
P2A[2]
F3
F2
Q(F3)
P35
P35,P36
P36,P37
P36,P37
P36,P37
P36,P37
Scheduled
S
h d l d packets
k t
F1:P10
F2:P20
F2:P20 (cont)
F1:P11
F2:P22
F2:P22 (cont)
F3:P35
F1:P12
F2:P24
F2:P24
F3:P36
4 3 2 1 0
I F3
In
P35[1]
P36[1]
P37[1]
-
Q(F1)
P10
P11
P11,P12
P11,P12,P13
P12,P13,P14
P12,P13,P14,P15
P12,P13,P14,P15,P16
P12,P13,P14,P15,P16
P13,P14,P15,P16
P13,P14,P15,P16
P13,P14,P15,P16
Q(F2)
P20
P20
P22
P22
P22,P24
P24
P24,P26
P24,P26
P24,P26
P26,P28
P26,P28
If too small, may need to visit too many times queues before serving
a queue
If too large, some short term unfairness may arise
Strict priority
F1
Flow1(L)
Flow2 (2L)
Flow3 (L)
F3
11 10 9 8 7 6 5
T
0
1
2
3
4
5
6
7
8
9
10
11
...
Inc.
F1
F2,F1
F2
F1
F2,F3
F1
F2
F3
F1
F2,F3
D[1]
0+1 1
0+1-1
0+1-1
0
0
0+1-1
0
0+1-1
0
0
0
0+1-1
0
D[2]
0
0+1
1+1-2
0
0
0+1
1
1+1-2
0
0
0
0+1
F2
4 3 2 1 0
D[3]
0
0
0
0
0
0+1-1
0
0
0+1-1
0
0+1-1
Q(F1)
P10
P11
P12
P12,P13
P13,P14
P13,P14,P15
P14,P15,P16
P14,P15,P16
P14,P15,P16
P14,P15;P16
P15,P16
P15,P16
Q(F2)
P20
P20
P22
P22
P22,P24
P22,P24
P22,P24,P26
P22,P24,P26
P24,P26
P24,P26
P24,P26
P24,P26
Q(F3)
Scheduled
F1:P10
F1:P11
F2:P20
F2:P20(cont)
F1:P12
P35
F3:P35
P36
F1:P13
P36,P37 F2:P22
P36,P37 F2:P22(cont)
P36,P37 F3:P36
P37
F1:P14
P37
F3:P37
Fair?
Pag. 4
QoS scheduling
GPS approximation
Buffer partitioned in K queues
each queue served according to a FIFO discipline
w[i ]
i = activequeu es
N
Andrea Bianco TNG group - Politecnico di Torino
GPS properties
wN
Flow 1
Flow 2
Flow 3
Flow 4
Flow 5
F1
F2
W 1=4
F1
W 2=2
W 3=1
F3
Scheduler
W 4=1
1
W 5=1
GPS approximation
WRR: properties
Frame-based
Work-conserving
Flow isolation guaranteed
For each queue i:
bit
bit-rate
rate = wi / (jwj)link_rate
)link rate
if all packets are of the same size
Sorted priority
F2
F4
F1
F1
Pag. 5
QoS scheduling
WRR: problems
r1=1/3
12
15
18
12
15
18
Service
S i provided
id d tto fl
flows may b
be b
bursty
t
r2=1/3
r3=1/3
12
AV(F1) Q(F1)
AV(F2) Q(F2)
0
1
2
3
4
5
6
7
8
9
0+3
3+3
6+3
9+3
12+3
15+3
18+3
21+3
24+3
....
0+3
3+3
6+3
9+3
12+3
15+3
18+3
21+3
24+3
3
6
6,9
6,9,12
9,12,15
9,12,15,18
9,12,15,18,21
12,15,18,...
12,15,18,...
AV(F3)
3
0+3
3,6
3
3,6,9
3
6,9,12
3+3
6,9,12,15
6
6,9,12,15,18
6
9,12,15,18,21 6+3
9,12,15,18,21 9
9,12,15,18,...
9
Virtual Clock
Scheduled flow
Q(F3)
3
3
6
6
9
9
-
F1
F3
F2
F1
F3
F2
F1
F3
F2
0
r1=1/3
r2=1/3
9 10 11 12 13
12
15
12
15
r3=1/3
Lj
Aux VCjk = Aux VCjk-1 + k
rj
QoS Issues in Telecommunication Networks - 33
Per-flow queuing
Data (cells) served on the basis of negotiated
rate and cell arrival time
Service order:
Pag. 6
12
12
15
12
QoS scheduling
Flow 1 (r1=1/3)
Flow 2 (r2=1/3)
Flow 3 (r3=1/3)
AV(F1) Q(F1)
AV(F2) Q(F2)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
0
0
0
0
0
0
0
0
0
0+3
3+3
6+3
9+3
12+3
0+3
3
3
3+3
6
6
6+3
9
9
9+3
12
12
12+3
15
0+3
3
3
3+3
6
6
6+3
9
9
9+3
12
12
12+3
15
3
6
9
12
15
3
6
9
12
12
12
12,15
12,15
3
3
6
6
9
9
12
12
12
12,15
12,15
F2
F3
F2
F3
F2
F3
F1
F1
F1
F1
F2
r1=1/3
r2=1/3
12
15
12
15
r3=1/3
r1=1/3
12
15
18
21
24
27
30
33
36
39
12
15
18
21
24
27
30
33
36
39
9 10 11 12 13
12
12
15
15
18
18
15
18
18
9 10 11 12 13
Problem solved:
6
Virtual Clock
15
r3=1/3
Virtual Clock
r2=1/3
Time
12
15
18 21
12
12
12
24
15
Pag. 7
QoS scheduling
WFQ or PGPS
WFQ
Example:
Virtual Time 0
Real
Time
1.5
4.5
7.5
18
19
10
11
12
13
12
15
18
21
24
27
30
33
36
39
42
12
15
18
21
24
27
30
33
36
39
42
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
...
P20
r2=1/3
Ideal fluid
system
GPS
r3=1/3
21
24
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20
15
15
18
18
21
21
21
WFQ vs WF2Q
WFQ or PGPS
Lk
j
Fjk = max { Fjk-1, V(ajk) } +
P1
P2
P3
P4
10 11
P5
P6
12 13 14 15 16 17 18 19 20
P7
P8
P9
P10
GPS
P11
...
P20
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20
12
WFQ o PGPS
Tag computation
Tag computation:
12
WFQ o PGPS
Pag. 8
QoS scheduling
SCFQ
(Self Clocked Fair Queueing)
SCFQ vs WFQ
Delay EDD
P7
P8
P9
P10
P11
...
P20
GPS
Jitter EDD
1
10 11
12 13 14 15 16 17 18 19 20
P1 P11 P2 P12 P3 P13 P4 P14 P5 P15 P6 P16 P7 P17 P8 P18 P9 P19 P10 P20
WFQ
Virtual time
20 20 20 20 20 20 20 20 20 20 22 24 26 28 30 32 34 36 38
P1 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P2 P3 P4 P5 P6 P7 P8 P9 P10
Andrea Bianco TNG group - Politecnico di Torino
Virtual time
Issues
Interesting to manage delays, difficult to deal with bandwidth
guarantees
Complex to implement
SCFQ
Delay bounds
WFQ / PGPS
B
R
B + n Pmax n Pmax
+
R
i =1 Ci
B + n Pmax
P
Virtual Clock
+ max
R
i =1 Ci
B + n Pmax n ki Pmax
+
SCFQ
R
Ci
i =1
Bandwidth delay coupling
n
Rate-jitter regulator
Bounds maximum rate
Ci output rate
of i-th switch
ki number of flows
Pmax maximum packet size
Reduced throughput
Worse average delays but
Control on delay jitter
Reduced buffer size
Examples
Stop and go
Hierarchical round robin
Pag. 9
QoS scheduling
Regulators for
non work-conserving algorithms
Stop & go
References
H. Zhang, Service Disciplines for Guaranteed Performance
Service in Packet-Switching Networks, Proc. IEEE, vol. 83,
Oct. 1995, pp.1374-96
A. Varma, D. Stiliadis, Hardware Implementations of Fair
Queueing Algorithms for Asynchronous Transfer Mode
Networks, IEEE Communications Magazine,
Networks
Magazine Dec.
Dec 1997,
1997 pp.
pp
54-68
A. Parekh, R. Gallager, A Generalized Processor Sharing
Approach to Flow Control in Integrated Services Networks: the
Single Node Case, IEEE/ACM Trans. On Networking, vol. 1,
no.3, June 1993
S.Keshav, An engineering approach to computer networking:
ATM networks, the Internet and the telephone network,
Addison Wesley, 1997
Framing strategy
Time axis divided into frames of length T
Stop & go
Packets on the same frame at the source
stay in the same frame throughout the
network
If the traffic is (ri,T) smooth at source i, it will
remain
i ((ri,T)
T) smooth
h
ri
ri packets in T
per flow i
Pag. 10