generalized processing sharing (gps) is work conserving is a fluid model service guarantee –gps...
Post on 20-Dec-2015
216 views
TRANSCRIPT
Generalized Processing Generalized Processing Sharing (GPS)Sharing (GPS)
• Is work conserving• Is a fluid model• Service Guarantee
– GPS discipline can provide an end-to-end bounded-delay service to a session whose traffic is constrained by a leaky bucket.
• Fair Allocation– GPS can ensure fair allocation of bandwidth
among all backlogged sessions regardless of whether or not their traffic is constrained. Thus, it is suitable for feedback based congestion control algorithms.
GPS ExampleGPS Example
0 152 104 6 8
50% 10% 10% 10%10% 10%
• Red session has packets backlogged between time 0 and 10
• Other sessions have packets continuously backlogged
GPSGPS• A work conserving GPS is defined as
• where– Φi – weight of flow i
– Wi(t1, t2) – total service received by flow i during [t1, t2)
– W(t1, t2) – total service allocated to all flows during [t1, t2)
– B(t1) – number of flows backlogged
1
1 2 1 21
( )
( , ) ( , )( )
i jj B t
Wi t t W t ti B t
Packet vs. Fluid SystemPacket vs. Fluid System
• GPS is defined in an idealized fluid model– multiple queues can be serviced
simultaneously– no non-preemption unit
• Real system are packet systems– one queue is served at any given time– packet transmission is not preempted
• Goal– define packet algorithms approximating the
fluid system– maintain most of the important properties
Approximating GPS with Approximating GPS with WFQWFQ
• Fluid GPS system service order
0 2 104 6 8
• Weighted Fair Queueing– select the first packet that finishes in GPS
• Standard techniques of approximating fluid GPS– select packet that will finish first in GPS assuming that
there are no future arrivals
• Important properties of GPS– finishing order of packets currently in system
independent of future arrivals
• Implementation based on virtual time– assign virtual finish time to each packet upon arrival– packets served in increasing order of virtual times
Packet Approximation of Packet Approximation of Fluid SystemFluid System
System Virtual TimeSystem Virtual Time• Virtual time (VGPS) – service that backlogged
flow with weight = 1 would receive in GPS
( )
( , )( , ) ( )i ijj B t
W t t dtW t t dt i B t
( )
1GPS
jj B t
V W
t t
( )
( )i i
jj B t
W W i B tt t
2
11 2
( )
( ) ( )1,t
i ijj
tB
tt
Wt
W t t dt i B t
Service Allocation in GPSService Allocation in GPS
• The service received by flow i during an interval [t1,t2), while it is backlogged is
12
11 2( , ) ( )
tGPS
i i t t
VW t t dt i B t
t
1 2 2 1 1( , ) ( ( ) ( ( )))i i GPS GPSW t t V Bt tV t i
System Virtual Time in GPS System Virtual Time in GPS
Load = BW
0 4 128 16
0 4 128 16
1/2
1/81/81/81/8
( )V tLoad = BW / 2
Virtual Start and Finish Virtual Start and Finish TimesTimes
Approximate the ideal distribution in a packet system
Utilize the time the packets would start Sik and
finish Fik in a fluid system
Load = BW
0 4 128 16
( )V tLoad = BW / 2
( )kiF t( )k
iS tpkt k
( ) ( )k
k k ii i i
LF t S t r
Virtual Time Implementation Virtual Time Implementation of WFQof WFQ
• : virtual start time of the k-th packet on session j• : virtual finish time of the k-th packet on session j• : guaranteed rate for session j• : arrival time of the k-th packet on session j• :set of backlogged sessions in GPS system at
time • service rate of session j in GPS at time is
1max{ , ( )}k k kj j jS F V a
kjk k
j j j
LF S r
(0) 0GPSV
( )
( ) 1GPS
jj BGPS
Vr
kjS
kjF
jrkja
( )GPSB
( )GPSV
r
Virtual Time Implementation Virtual Time Implementation of WFQof WFQ
S Fj j
kj
j j j
LF S r
(0) 0GPSV
( )
( ) 1GPS
jj BGPS
Vr
max{ , ( )}kj j jS F V a
If session j backlogged
If session j unbacklogged
• Need to keep per flow instead of per packet virtual start, finish time only
• System virtual time is used to reset a flow’s virtual start time when a flow becomes backlogged again after being idle
Research in Designing Research in Designing Packet Fair Queueing Packet Fair Queueing
AlgorithmsAlgorithms• Improve worst-case fairness: important for
hierarchical scheduler– use Smallest Eligible virtual Finish time First (SEFF) policy– examples: WF2Q, WF2Q+
• Reduce complexity– use simpler virtual time functions– examples: SCFQ, SFQ, DRR, FBFQ, leap-forward Virtual
Clock, WF2Q+
• Improve resource allocation flexibility– Fair Service Curve
• Implement in Combined Input Output Switch
Approximating GPS with Approximating GPS with WFQWFQ
• Fluid GPS system service order
0 2 104 6 8• Weighted Fair Queueing
– select the first packet that finishes in GPS
• Observation: packet finishes in WFQ no late than in GPS– basis for proving delay bound for WFQ
• Another observation: some packet finishes service much earlier in WFQ in GPS
A More Accurate A More Accurate Approximation of GPSApproximation of GPS
50% 10%10% 10%10% 10%
• Problem with WFQ– WFQ can be ahead of
GPS too much
• Worst-case Fair Weighted Fair Queueing (WF2Q)– a packet is eligible if it
starts service in GPS – among all eligible
packets, select the one that finishes first in GPS
– optimal algorithm in approximating GPS
– normalized WFI is one maximal size packet
• WF2Q service order
0 2 104 6 8
Worst-case Packet Fair (I)Worst-case Packet Fair (I)• To quantify the discrepancy between the services provided by a
packet discipline and the GPS discipline.• A service discipline s is called worst-case fair for session i if for any
time , the delay of a packet arriving at is bounded above by , i.e.,
where is the throughput guarantee to session i, is the queue size of session i at time and is a constant independent of the queues of the other sessions sharing the multiplexer.A service discipline s is called worst-case fair if it is worst-case fair for all sessions.
• Normalized Worst-case Fair Index for session i at server s:• Normalized Worst-case Fair Index for server s :
, ,
1i s i s
iQ C
r
,, ,
ki s ik k
i s i i si
Q ad a Cr
ir ,k
i s iQ a k
ia ,i sC
,,
i i si s
r Cc
r
,maxs i sic c
Worst-case Packet Fair (II)Worst-case Packet Fair (II)• GPS is worst-case fair with .• may increase linearly as a function of number of
session n.In the example, consider the packet . It won’t depart until time , thus
• The Normalized Worst-case Fair Index:
0GPSc WFQc
11np
max2 1 *n L
r
1,1 1
1, , ,
max max max
max
2 12
1
ni WFQn n
WFQ i WFQ i WFQi
Q aC d a
rL L Ln n
r r rLn
r
max11,
12WFQ WFQ
r Lnc Cr r
WFWF22QQ• Is a packet approximation algorithm of GPS.• WF2Q provides almost identical service with GPS,
the maximum difference is no more than one packet size.
• Difference between WF2Q and WFQ– In a WFQ system, when the server chooses the next
packet for transmission at time t, it selects among all the packets that are backlogged at t, and selects the first packet that would complete service in the corresponding GPS.
– In a WF2Q system, when the server chooses the next packet at time t, it chooses only from the packets that have started receiving service in the corresponding GPS at t, and chooses the packet among them that would complete service first in the corresponding GPS.
Problem with WFProblem with WF22QQ
• The time complexity of implementing WF2Q is high. Because it’s based on a virtual time function which is defined with respect to the corresponding GPS system. It leads to considerable computational complexity due to the need for simulating events in the GPS system.
2020
Virtual Time in Fluid GPS Virtual Time in Fluid GPS SystemSystem
ServiceTime
Virtual Time(normalized service)
t1
• Virtual time function represents the cumulative fair amount of service• a previously idle session starts to receive service at the virtual time level when it becomes active
– no compensation for the idle period– start receiving service immediately after becoming active
• Accurate but difficult to compute– need to emulate fluid system, worst case complexity O(N)
1 2 3 4
previous idle session
2121
Virtual Time in Packet Virtual Time in Packet SystemSystem
ServiceTime
Virtual Time?(normalized service)
t1
• Can we compute system virtual time based on information in the packet system?– no need to emulate fluid system
• Normalized amounts of service received by backlogged sessions are different
• Which level to set the previous idle session?
previous idle session
1 2 3 4
2222
Virtual Time in Packet Virtual Time in Packet SystemSystem
Service
Time
Virtual Time?(normalized service)
t1
• Set too low: newly backlogged session receives more than its fair share, performance for other sessions degrade
• Set too high: performance for newly backlogged session degrade• Tradeoff between accuracy and simplicity
previous idle session
2 3 41
2323
Heuristics of Computing Heuristics of Computing Virtual Time in Packet Virtual Time in Packet
SystemSystemService
Time
Virtual Time?(normalized service)
t1
• SCFQ: virtual finish time of packet being serviced• SFQ: virtual start time of packet being serviced• WF2Q+:
previous idle session
( )( ) max{ ( ) ,min }j B tv t v t Sj
2 3 41
1/2
1/8
1/8
1/8
1/8
SCFQ [Golestani94]
)(tV
Smallest Finish time First (SFF)
2 64 88
88
8
1/2
1/8
1/8
1/8
1/8
Self Cock Fair Queuing (SCFQ)Self Cock Fair Queuing (SCFQ)Packet Arrivals
• System virtual time function– the finish time of the current packet being
serviced
• Packet selection policy– Smallest virtual Finish time First (SFF)
1/2
1/8
1/8
1/8
1/8
Start Time Fair Queuing (SFQ)Start Time Fair Queuing (SFQ)Packet Arrivals
• System virtual time function– the start time of the current packet being
serviced
• Packet selection policy– Smallest virtual Start time First (SSF)
1/2
1/8
1/8
1/8
1/8
SFQ
( )V t
2 640
00
00
Hierarchical Resource Hierarchical Resource SharingSharing
• Resource contention/sharing at different levels
• Resource management policies should be set at different levels, by different entities – resource owner– service providers– organizations– applications
Link
Provider 1
seminar video
ECESCS
U.PittCMU
Provider 2
DistributedSimulation
WEB
VideoAudioControl
155 Mbps
40 Mbps60 Mbps
10 Mbps30 Mbps
100 Mbps 55 Mbps
Campus
seminar audio
Hierarchical Generalized Hierarchical Generalized Processor SharingProcessor Sharing
• Idealized fluid algorithm– service multiple queues simultaneously,
in proportional to shares– parent distributes service
instantaneously to children
50% 10%
10% 10%10% 10%
physical resource 100%
GPS server60%
H-GPS ExampleH-GPS Example
50% 10%
10% 10%10% 10%
• Red session has packets backlogged between time 0 and 10
• Other sessions have packets continuously backlogged
60%
0 2 104 6 8 20
GPS and H-GPS PropertiesGPS and H-GPS Properties• Proven end-to-end delay bounds for guaranteed
traffic• Adaptation friendly
– no punishment in the future for using excess service– scalable technique for estimating excess bandwidth for
adaptive applications
• GPS: guaranteed service for each flow• H-GPS: guaranteed service for all classes
– leaf class: individual flow– interior class: traffic aggregate– QoS met for all traffic classes simultaneously– ideal semantics for hierarchical resource management
Packet Approximation of H-Packet Approximation of H-GPSGPS
• Idea 1: use similar approach as approximating GPS– select packet finishing first in H-GPS,
assuming there are no future arrivals
• Problem– relative finish order of packets dependent
on future arrivals– can not use virtual time implementation
H-GPS ExampleH-GPS Example
50% 10%
10% 10%10% 10%
• Red session has packets backlogged between time 0 and 10
• Other sessions have packets continuously backlogged
• Need to make a decision at time 11
60%
0 2 104 6 8 20
H-GPS: Decision at Time 11H-GPS: Decision at Time 11• Red session has
packets backlogged between time 0 and 10
• Other sessions have packets continuously backlogged
• Need to make a decision at time 11
• Case 1: no future red arrivals
• Case 2: red session active at time 11
• Relative finish order dependent on future arrivals
50% 10%
10% 10%10% 10%
60%
0 2 104 6 8 20
Packet Approximation of H-Packet Approximation of H-GPSGPS
• Idea 1– select packet finishing first
in H-GPS assuming there are no future arrivals
– problem:• finish order in system
dependent on future arrivals
• virtual time implementation won’t work
• Idea 2– use a hierarchy of PFQ to
approximate H-GPS
6 4
321
GPS GPS GPS
GPS GPS
GPS
10
6 4
321
PFQPFQ
PFQ PFQ
PFQ
10
PFQ
Packetized H-GPSH-GPS
• Many PFQ algorithms– SCFQ, SFQ, FBFQ, WFQ– how do properties of PFQ relate to H-PFQ?
• Worst-case Fair Index– measuring the accuracy of PFQ in
approximating GPS– tight H-PFQ delay bound small
WFI of PFQ
• All previously proposed PFQ algorithms have large WFI’s
H-PFQH-PFQ
H-GPS and H-WFQ ExampleH-GPS and H-WFQ Example
50%
10%10% 10%10% 10%
• Two levels of hierarchy
• GPS order at top level
• WFQ order at top level
0 2 104 6 8
5%45%
H-GPS and H-WFQ ExampleH-GPS and H-WFQ Example
50%
10%10% 10%10% 10%
• Arrival process– active at time 5– all other flows continuously
backlogged
• Top level GPS server• Top level WFQ server at [0,4]
– make decision assuming there are no future arrivals
– select packets in class – only class is active
• Class active at time 5– has to endure a long delay 0 2 1
04 6 8
5%45%
H-GPS and H-WFH-GPS and H-WF22Q ExampleQ Example
50%
10%10% 10%10% 10%
• Arrival process– active at time 5– all other flows
continuously backlogged
• Top level GPS server• Top level WFQ server
– there are no future arrival
– never ahead of GPS by one packet size
– class receives service immediately after becoming active
0 2 104 6 8
5%45%
WFWF22Q+Q+
• WFQ and WF2Q– need to emulate fluid GPS system– high complexity
• WF2Q+– provide same delay bound and WFI as WF2Q– lower complexity
Example HierarchyExample Hierarchy
Uncorrelated Cross TrafficUncorrelated Cross Traffic
Delay under H-WFQ
Delay under H-WF2Q+Delay under H-SFQ
Delay under H-SCFQ
20ms
60ms
40ms
20ms
60ms
40ms
Correlated Cross TrafficCorrelated Cross Traffic
Delay under H-WFQ
Delay under H-WF2Q+Delay under H-SFQ
Delay under H-SCFQ
20ms
60ms
40ms
20ms
60ms
40ms