Download QoS, Priority Queuing, and Bandwidth Allocation in Computer Networks and more Study Guides, Projects, Research Computer Networks in PDF only on Docsity!
Computer Networks
Lecture 36:
QoS, Priority Queueing, VC, WFQ
Circuit Switching
Network resources (e.g., bandwidth) divided into “pieces”
Pieces allocated to and reserved for calls
Resource idle if not used by owner (no sharing)
Ways to divide link bandwidth into “pieces”
- frequency division multiplexing (FDM)
- time division multiplexing (TDM) 4 users
frequency Example:
time frequency time
Packet Switching
Each end-to-end data stream
divided into packets
Packets from multiple users share network resources
Each packet uses full link bandwidth
Resources used as needed
Resource contention:
- aggregate resource demand can exceed amount available
- congestion: packets queued, wait for link use
- store and forward: packets move one hop at a time
- each node receives complete packet before forwarding Bandwidth division into “pieces” Dedicated allocation Resource reservation
Packet Switching:
Statistical Multiplexing
Sequence of A ’s and B ’s packets does not have a fixed
pattern statistical multiplexing
A
B
C
10 Mbps Ethernet 1.5 Mbps D (^) E statistical multiplexing queue of packets waiting for output link
Packet vs. Circuit Switching
Packet switching allows more users to use network!
For example:
- 1 Mbps link
- each user:
- sends 100 kbps when “active”
- active 10% of time
circuit-switching: 10 users
packet switching: with 35 users, probability that
more than 10 are active at the same time <.
N users 1 Mbps link
Pros and Cons of Packet Switching
Advantages: great for bursty data
- resource sharing
- simpler, no call setup
Disadvantages: excessive congestion,
packet delay and loss
- protocols needed for reliable data transfer
- congestion control
- no service guarantee: “best-effort” service
Better than Best-Effort Service
Approach: deploy enough link capacity such that
congestion doesn’t occur, traffic flows without
queueing delay or overflow buffer loss
- advantage: low complexity in network mechanisms
- disadvantage: high bandwidth costs, most of the time bandwidth is under utilized (e.g., 2% average utilization)
Alternative: multiple classes of service
- partition traffic into classes (not individual connections)
- network treats different classes of traffic differently
Example: HTTP vs. VoIP Traffic
1 Mbps VoIP shares 1.5 Mbps link with HTTP
- HTTP bursts can congest router, cause audio loss
- want to give priority to audio over HTTP
- packets can be differentiated by port number or
- packets can be marked as belonging to different classes R R 1.5 Mbps link 1 Mbps phone
Circuit vs. Packet Switching
Packet switching: data sent through the
network in discrete “chunks”
Circuit switching: dedicated circuit per call
- end-to-end resources reserved for calls
- link bandwidth, switch capacity
- call setup required
- dedicated resources: no sharing
- guaranteed performance
- resource idle if not used by owner
Packet-Switched Networks
No call setup at network layer No state to support end-to-end connections at routers
- no network-level concept of “connection”
- route may change during session Packets forwarded using destination host address
- packets between same source-destination pair may take different paths application transport network data link physical application transport network data link physical
- send data (^) 2. receive data
Pros and Cons of Packet Switching
Advantages: great for bursty data
- resource sharing
- simpler, no call setup
Disadvantages: excessive congestion, packet
delay and loss
- protocols needed for reliable data transfer
- congestion control
- no service guarantee of any kind
How to provide circuit-like quality of service?
- bandwidth and delay guarantees needed for multimedia apps
Virtual Circuits (VC)
Datagram network provides network-layer
connectionless service
VC network provides network-layer connection-
oriented service
Analogous to the transport-layer services, but:
- service is host-to-host, as opposed to socket-to-socket
- implementation in network core
Source-to-destination path behaves much like a
telephone circuit
- in terms of performance, and
- network actions along the path
Virtual Circuits
A VC comprises:
- path from source to destination
- each call must be set up before data can flow
- requires signalling protocol
- fixed path determined at call setup time, remains fixed throughout call
- every router on path maintains state for each passing connection/flow
- link, router resources (bandwidth, buffers) may be allocated to VC
- VC numbers, one number for each link along path
- each packet carries a VC identifier (not destination host address)
- entries in forwarding tables in routers along path
Virtual Circuits
Signalling protocol:
- used to setup, maintain, teardown VC
- e.g., ReSource reserVation Protocol (RSVP) application transport network data link physical application transport network data link physical
- initiate call (^) 2. incoming call
- call connected 3. accept call
- data flow begins 6. receive data
VC Forwarding Table
Forwarding table on router NW:
Routers maintain connection state information!
Packet belonging to a VC carries a VC number
VC number must be changed for each link
New VC number obtained from forwarding table
Examples: MPLS, Frame-relay, ATM, PPP
12 22 32 1 32 VC number interface number NW incoming interface incoming VC# outgoing interface outgoing VC# 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … …
Per-VC Resource Isolation
To provide circuit-like quality of service
- resources allocated to a VC must be isolated from other traffic
Bit-by-bit Round Robin:
- cyclically scan per-VC queues, sending one bit from each VC (if present)
- 1 round, R ( ), is defined as all non-empty queues have been served 1 quantum
- R ( t 5 ) = 2
- time at Round 3? Round 4? A.k.a. Generalized Processor Sharing (GPS) μ RR 1 bit 4321 321 5 4321 t t t t t t t t t t t11 t
Round Computation Example
Scenario:
- flows A has 1 packet of size 1 arriving at time t 0
- flows B and C each has 1 packet of size 2 arriving at time t 0
- flow A has another packet of size 2 arriving at time t 4
Slope (∂ R /∂ t ):
a = ⅓, b = ½,
c = ⅓, d = 1
What is the arrival
round of A’s 2 nd^ packet?
R ( t
A
2 )^ =^ 1.
a b c Wall-clock time Round# 0 3 5.5 7 d 4 1
2
F 1 A F^ B 1 F 1 C F 2 A assuming fluid-flow approximation SA 2 = AA 2
Arrival Round Computation
When packet i of an active flow arrives, its finish round is computed as F α i =^ F α i –1 +^ P α i , where^ F α i –1 is the finish round of the last packet in α ’s queue If flow α is inactive, there’s no packet in its queue, Fα i = Aα i + Pα i , how do we compute Aα i? If flow α has been inactive for Δ t time and there has been Nac flows during the whole time, we can perform round catch up: A α i =^ F α i –1 +^ Δ t (1/ Nac ) Iterated deletion: if Nac has changed, one or more times, over Δ t , round catch up must be computed in piecewise fashion, every time Nac changes expensive
Weighted Fair Queueing
Weighted-Fair Queueing (WFQ):
- generalized Round Robin
- each VC/flow/class gets weighted amount of service in each cycle
- P α i =^ L α i/ (ω μ ),^ L α i size of packet WFQ^ μ 2 1 321 t t t t9t8 t7 t 654 F= F= F= F= F= F= F= F= ω= ω= t4 t ω=⅔ ω=⅓
(Weighted) Fair Queueing
Credit accumulation:
- allows a flow to have a bigger share if it has been idle
- discouraged because it can be abused: accumulate credits for a long time, then send a big burst of data
Characteristics of (W)FQ:
- max-min fair
- bounded delay
- expensive to implement
Max-Min Fair
In words: max-min fair share maximizes minimum
share of flows whose demands have not been fully
satisfied
1. no flow gets more than its request
2.no other allocation satisfying condition 1 has a
higher minimum allocation
3. condition 2 remains true as we remove the flow
with minimal request
Max-Min Fair
Let:
μtotal : total resource (e.g., bandwidth) available
μi : total resource given to (flow) i
μfair : fair share of resource
ρi : request for resource by (flow) i
Max-Min fair share is μi = MIN( ρi , μfair )
μtotal = ∑ μi, i = 1 to n
Max-Min Fair Share Example
Let:
μtotal = 30
Initialy μfair = 10
ρC = 8 , so unused resource (10 – 8 = 2) is divided
evenly between flows whose demands have not
been fully met
Thus, μfair for A and B = 10 + 2 / 2 = 11
i ρi μi A 12 11 B 11 11 C 8 8
Providing Delay Guarantee
Token bucket filter and WFQ combined provides
guaranteed upper bound on delay
Same inefficiency issue as with circuit switching: allocating non- sharable bandwidth to flow leads to low utilization if flows don’t use their allocations
D max = b / μf
QoS guarantee!
WFQ token rate, r bucket size, b per-flow rate, μf arriving traffic arriving traffic