Documente Academic
Documente Profesional
Documente Cultură
Prof. T. Szymanski
McMaster University
Overview
! Internet Flows & Fairness
! Fluid-Flow Generalized Processor Sharing (GPS)
! Packet-Flow Weighted Fair Queuing (WFQ)
! Definition
! Computing Finishing Times
! Examples
! Jitter (Inter-Departure Time) Distribution
! Commercial Implementations
! Other Scheduling Methods
4DN4 - WFQ, pg 2
Prof. T Szymanski
Internet Flow/Session
"
"
Example of the bandwidth requirement of a traffic flow. [1, Fig 7.52, p551]
Prof. T Szymanski
4DN4 - WFQ, pg 3
Flow of Packets
"
"
"
"
"
[text, p539]
4DN4 - WFQ, pg 4
Prof. T Szymanski
4DN4 - WFQ, pg 5
Prof. T Szymanski
Fairness
"
Intuitively
"
"
"
"
Fair scheduling
"
"
4DN4 - WFQ, pg 6
Prof. T Szymanski
An ideal scheduler:
" is easy to implement
" is totally fair in resource sharing
" provides protection against starvation
" provides guaranteed performance bounds
" offers different flows different QoS; each flow given a
weight, ie a guaranteed fraction of resource usage
Packet
voice
Interactive video
Email
w1
w2
w3
Flows entering the same queue are given weights, w1, w2, and w3, and share the bandwidth r
accordingly.
Prof. T Szymanski
4DN4 - WFQ, pg 7
"
"
4DN4 - WFQ, pg 8
Prof. T Szymanski
"
"
"
How it works (assume all flow weights are equal for now) :
"
"
"
4DN4 - WFQ, pg 9
Prof. T Szymanski
let R(t) denote the current round of service at time t; R(t) is also called
Virtual Time. Virtual time increases quickly when few buffers are active.
Virtual time increases slowly when many buffers are active.
4DN4 - WFQ, pg 10
Prof. T Szymanski
"
"
"
"
4DN4 - WFQ, pg 11
Prof. T Szymanski
"
"
"
4DN4 - WFQ, pg 12
Prof. T Szymanski
(text, pg 545)
"
"
Let F(f,k) denote the finishing time of packet k from flow f in a queue
"
"
"
"
(1)
Prof. T Szymanski
4DN4 - WFQ, pg 13
"
"
"
"
"
4DN4 - WFQ, pg 14
(2)
Prof. T Szymanski
(1)
"
4DN4 - WFQ, pg 15
(pg 544)
Let a Weighted Fair Queueing (WFQ) Server run in parallel with an ideal
GPS server. The WFQ server only services whole IP packets (it doesnt
split them into bits).
Given variable length IP packets, suppose the WFQ server will service
entire packets in the same order as the perfectly fair service order of a
fluid-flow GPS system, i.e., the next packet to be transmitted over a
transmission line by the WFQ server is the packet with the smallest GPS
Virtual Finishing time amongst all packets waiting for that transmission
line
Call this system Packet-oriented GPS, to distinguish it from the Fluidflow GPS. It is also called Weighted Fair Queueing. This scheme is
implemented in CISCO routers.
4DN4 - WFQ, pg 16
Prof. T Szymanski
"
"
"
"
Prof. T Szymanski
4DN4 - WFQ, pg 17
Note: Y-axis = fraction of packet in buffer1 and buffer 2. Both buffers contain 1 L -bit packet initially.
4DN4 - WFQ, pg 18
Prof. T Szymanski
4DN4 - WFQ, pg 19
"
"
"
"
"
Prof. T Szymanski
(pg 546)
4DN4 - WFQ, pg 20
Prof. T Szymanski
Prof. T Szymanski
4DN4 - WFQ, pg 21
"
"
"
4DN4 - WFQ, pg 22
(1)
Prof. T Szymanski
"
"
(2)
Prof. T Szymanski
4DN4 - WFQ, pg 23
"
"
When each flow has its own weight, the equation for the
finishing times using GPQ fluid-flow fair queueing becomes:
F(f,k) = max{F(f,k-1), R( t(f,k) } + P(f,k)/Wf
"
4DN4 - WFQ, pg 24
Prof. T Szymanski
Example
"
"
"
"
Consider 3 flows being serviced by a link with capacity C = 1 Mbps (ie 1 usec
per bit). Assume each flow has its own queue with weights 5, 10, and 20
(bits/round).
Flow 1: pkt with 100 bits arrives at time t = 0 usec, weight = 5
Flow 2: pkt with 300 bits arrives at time t = 50 usec, weight = 10
Flow 3: pkt with 200 bits arrives at time t = 100 usec, weight = 20
"
"
"
"
(a) Plot the # Queued bits versus the round, for each queue in a fluid-flow
GPS queueing system. (A real router does not need plot this. We ask this
question to make sure you understand why the VFT equations are valid.)
(b) Plot the # Queued bits versus the real-time, for each queue in a fluid-flow
GPS queueing system. (A real router does not need to plot this. We ask this
question to make sure you understand why the VFT equations are valid.)
(c) Label the slope of each piecewise linear segment. Label the (x,y)
coordinates of each end point of a piece-wise linear segment
4DN4 - WFQ, pg 25
Prof. T Szymanski
Example
"
"
"
(d) What are the departure times of the last bit in each flow, first expressed
in Rounds (Virtual-Time), and then expressed in Real-Time ?
(e) Now consider a packet-by-packet WFQ approximation of the fluid-flow
GPS system. Only one whole (entire) packet is transmitted at a time.
Find the start time and end time for each packet in each flow, expressed in
real-time. (A real router needs to know these numbers.)
4DN4 - WFQ, pg 26
Prof. T Szymanski
Solution Summary
Flo
w
Bits
Arr. Time
(round)
Exit Time
(round)
ExitTime
* (usec)
100
0 us
30
320
300
10
50 us
10
40
600
200
20
100 us
14
24
440
Nill
Prof. T Szymanski
4DN4 - WFQ, pg 27
4DN4 - WFQ, pg 28
Prof. T Szymanski
4DN4 - WFQ, pg 29
Prof. T Szymanski
4DN4 - WFQ, pg 30
Prof. T Szymanski
"
"
"
A real router must implement the 4 GPS equations, to compute the virtual
finishing time of each packet that arrives at the router.
A router must have 2 clocks, a real-time clock, and a virtual-time clock (i.e.,
the current round of service).
Every time a packet arrives at the router, the router must compute the
packets VFT in rounds (virtual time).
A real router has a WFQ server, which transmits outgoing packets in the
order of increasing packet VFTs, so that packets leave the real router in the
same order as if a perfectly fair fluid-flow GPS server was used.
4DN4 - WFQ, pg 31
Prof. T Szymanski
Prof. T Szymanski
"
"
"
"
Assume packets are fixed-size; the TCP departures vs. Time will be
bursty:
An unconstrained TCP source produces bursts of packets(red),
consuming the full 1Gbps bandwidth for the duration of the burst.
Bursts also be caused by the uneven delays in the reception of ACKs.
TCP can cause instantaneous congestion at intermediate nodes ,
causing potential dropping of packets when Random Early Detection
(RED) is used, introducing wasted bandwidth and resource usage.
4DN4 - WFQ, pg 33
Prof. T Szymanski
4DN4 - WFQ, pg 34
Prof. T Szymanski
Commercial Implementations
http://nsssc.superb.net/img/algx-usmap.gif
4DN4 - WFQ, pg 35
[2]
4DN4 - WFQ, pg 36
Prof. T Szymanski
4DN4 - WFQ, pg 37
Prof. T Szymanski
"
"
"
"
"
4DN4 - WFQ, pg 38
Prof. T Szymanski
Appendix
1.
2.
3.
Prof. T Szymanski
4DN4 - WFQ, pg 39
Example
4DN4 - WFQ, pg 40
(Ignore in 2013)
Prof. T Szymanski
Example
(Ignore in 2013)
Prof. T Szymanski
4DN4 - WFQ, pg 41
Example
4DN4 - WFQ, pg 42
(Ignore in 2013)
Prof. T Szymanski
Example
(Ignore in 2013)
Prof. T Szymanski
4DN4 - WFQ, pg 43
Example
4DN4 - WFQ, pg 44
(Ignore in 2013)
Prof. T Szymanski
4DN4 - WFQ, pg 45
Prof. T Szymanski
4DN4 - WFQ, pg 46
Prof. T Szymanski
4DN4 - WFQ, pg 47
Prof. T Szymanski
4DN4 - WFQ, pg 48
Prof. T Szymanski
4DN4 - WFQ, pg 49
Prof. T Szymanski
4DN4- WFQ, pg 50
Prof. T Szymanski
Prof. T Szymanski
4DN4 - WFQ, pg 51
Prof. T Szymanski
4DN4 - WFQ, pg 53
Prof. T Szymanski