Академический Документы
Профессиональный Документы
Культура Документы
in QoS Environment
Hamid R. Rabiee
Mostafa Salehi, Fatemeh Dabiran, Hoda Ayatollahi
Spring 2011
Objectives
Provide some basic understanding of queuing phenomena
Explain the available solution approaches and associated
trade-offs
Give guidelines on how to match applications and solutions
Outline
Basic concepts
Source models
Service models (demo)
Single-queue systems
Priority/shared service systems
Networks of queues
Outline
Basic concepts
Performance measures
Solution methodologies
Queuing system concepts
Stability and steady-state
Causes of delay and bottlenecks
Source models
Service models(demo)
Single-queue systems
Priority/shared service systems
Networks of queues
Performance Measures
Delay
Delay variation (jitter)
Packet loss
Efficient sharing of bandwidth
Relative importance depends on traffic type (audio/video, file transfer,
interactive)
Challenge: Provide adequate performance for (possibly) heterogeneous
traffic
Arrival rate
Long-term number of arrivals per unit time
Occupancy
Number of packets in the system (averaged over a long time)
Littles Law
For a given arrival rate, the time in the system is proportional to packet occupancy
N=T
where
N: average number of packets in the system
: packet arrival rate (packets per unit time)
T: average delay (time in the system) per packet
Examples:
On rainy days, streets and highways are more crowded
Fast food restaurants need a smaller dining room than regular restaurants with the same customer
arrival rate
Large buffering may cause large delays
Regular Traffic
Time
2
Departure
Times
Arrival Times
1
Irregular but
Spaced Apart Traffic
Time
1
Departure
Times
Bursty Traffic
Time
1
Queuing Delays
Burstiness Example
Different Burstiness Levels at Same Packet Rate
Source: Fei Xue and S. J. Ben Yoo, UCDavis, On the Generation and Shaping Self-similar Traffic in Optical Packet-switched Networks, OPNETWORK 2002
Time
Queuing Delays
Time
Queuing Delays
As the work arrival rate:
(packet arrival rate * packet length)
increases, the opportunity for interference increases
Bottlenecks
Types of bottlenecks
At access points (flow control, prioritization, QoS enforcement needed)
At points within the network core
Isolated (can be analyzed in isolation)
Interrelated (network or chain analysis needed)
Time
The departure traffic from a bottleneck is more regular than the arrival
traffic
The inter-departure time between two packets is at least as large as the
transmission time of the 2nd packet
Outgoing traffic
Interdeparture times
# of packets
# of packets
Exponential
interarrivals
Fixed
packet
length
sec
sec
Transmission
time
Bottleneck
90% utilization
Incoming traffic
Interarrival times
Outgoing traffic
Interdeparture times
# of packets
Small
sec
Medium
Bottleneck
Large
90% utilization
Packet Trains
Histogram of inter-departure times for small
packets
# of packets
sec
Outline
Basic concepts
Source models
Poisson traffic
Batch arrivals
Example applications voice, video, file transfer
Interarrival Times
Time
Batch Arrivals
Some sources transmit in packet bursts
May be better modeled by a batch arrival process
(e.g., bursts of packets arriving according to a Poisson process)
The case for a batch model is weaker at queues after the first, because of
shaping
Interarrival Times
Time
State 1
OFF
ON
Source Types
Voice sources
Video sources
File transfers
Web traffic
Interactive traffic
Different application types have different QoS requirements, e.g., delay,
jitter, loss, throughput, etc.
Video
Data
FTP
telnet
web
QoS
Requirements
Model
* Poisson type
* Sometimes batcharrivals, or bursty,
or sometimes on-off
Zero or near-zero
packet loss
Delay may be
important
Diagram Source: Mark W. Garrett and Walter Willinger, Analysis, Modeling, and Generation of Self-Similar VBR Video Traffic, BELLCORE, 1994
Outline
Basic concepts
Source models
Service models
Single vs. multiple-servers
FIFO, priority, and shared servers
Demo
Single-queue systems
Priority/shared service systems
Networks of queues
Transmission
Line
Multiple Servers
Multiple packets are transmitted simultaneously on multiple lines/servers
Head of the line service: packets wait in a FIFO queue, and when a server
becomes free, the first packet goes into service
Transmission
Lines
Arrivals
Priority Servers
Packets form priority classes (each may have several flows)
There is a separate FIFO queue for each priority class
Packets of lower priority start transmission only if no higher priority packet is waiting
Priority types:
Non-preemptive (high priority packet must wait for a lower priority packet found under transmission
upon arrival)
Preemptive (high priority packet does not have to wait )
Class 1 Arrivals
High Priority
Class 2 Arrivals
Interm. Priority
Class 3 Arrivals
Low Priority
Transmission
Line
Priority Queuing
Packets are classified into separate queues
E.g., based on source/destination IP address, source/destination TCP port, etc.
All packets in a higher priority queue are served before a lower priority queue is served
Typically in routers, if a higher priority packet arrives while a lower priority packet is
being transmitted, it waits until the lower priority packet completes
Shared Servers
Again we have multiple classes/queues, but they are served with a soft priority
scheme
Round-robin
Weighted fair queuing
Class 1 Arrivals
Weight 10
Class 2 Arrivals
Weight 3
Class 3 Arrivals
Weight 1
Transmission
Line
Round-Robin/Cyclic Service
Round-robin serves each queue in sequence
A queue that is empty is skipped
Each queue when served may have limited service (at most k packets
transmitted with k = 1 or k > 1)
Round-robin is fair for all queues (in terms of packet transmission rate)
Round-robin cannot be used to enforce bandwidth allocation among the
queues.
Fair Queuing
This scheduling method is inspired by the most fair of methods:
Transmit one bit from each queue in cyclic order (bit-by-bit round robin)
Skip queues that are empty
Important properties:
Priority is given to short packets
Equal bandwidth is allocated to all queues that are continuously busy
i-1
Arrival times
i
i-1
i
Departure times
Arrival times
Finish Time
of Packet i
i-1
Finish Time
of Packet i
i-1
i
Departure times
Demo: FIFO
FIFO
Bottleneck
90% utilization
PQ
Bottleneck
90% utilization
PQ FTP
FIFO
PQ Video
WFQ
Bottleneck
90% utilization
PQ FTP
WFQ FTP
FIFO
WFQ/PQ Video
Outline
Basic concepts
Source models
Service models (demo)
Single-queue systems
M/M/1M/M/m/k
M/G/1G/G/1
Demo: Analytics vs. simulation
M/M/1 System
Nomenclature: M stands for Memoryless (a property of the exponential
distribution)
Delay Calculation
Let
Q = Average time spent waiting in queue
T = Average packet delay (transmission plus queuing)
Note that T = 1/ + Q
Also by Littles law
N = T and Nq = Q
where
Nq = Average number waiting in queue
These quantities can be calculated with formulas derived by Markov chain
analysis (see references)
M/M/1 Results
The analysis gives the steady-state probabilities of number of
packets in queue or transmission
P{n packets} = n(1-)
where = /
1/
0
N = /(1 - )
T = 1/( - )
= /
Assume:
Traffic arrival rate is doubled
System transmission capacity
is doubled
Then:
Queue sizes stay at the same level ( stays the same)
Packet delay is cut in half ( and are doubled)
M/G/1 System
Same as M/M/1 but the packet transmission time distribution is
general, with given mean 1/ and variance 2
Utilization factor = /
Pollaczek-Kinchine formula for
Average time in queue = (2 + 1/2)/2(1- )
Average delay = 1/ + (2 + 1/2)/2(1- )
G/G/1 System
Same as M/G/1 but now the packet interarrival time
distribution is also general, with mean and variance 2
We still assume FIFO, independent interarrival times and
packet transmission times
Demo: M/G/1
Packet inter-arrival
times
exponential (0.02) sec
Packet size
1250 bytes
(10000 bits)
Capacity
1 Mbps
Delay T (sec)
0.02
1.0
0.015
0.75
0.06
3.0
Video
constant packet inter-arrivals
Http
bursty traffic
Delay
P-K formula
Simulation
Outline
Basic concepts
Source models
Service models (demo)
Single-queue systems
Priority/shared service systems
Preemptive vs. non-preemptive
Cyclic, WFQ, PQ systems
Demo: Simulation results
Networks of queues
Hybrid simulation (demo)
Class 3 Arrivals
Low Priority
Transmission
Line
Class 2
Arrivals
Class 1
Arrivals
Class 3
Arrivals
Transmission
Line
Outline
Basic concepts
Source models
Service models (demo)
Single-queue systems
Priority/shared service systems
Networks of queues
Violation of M/M/. assumptions
Effects on delays and traffic shaping
Analytical approximations
First Queue
Time
Second Queue
Time
Exponential
inter-arrivals
Spaced-apart
inter-arrivals
Spaced-apart
departures
Bottleneck
Bottleneck
Delay
No queuing
delay
Approximations
Kleinrock independence approximation
Perform a delay calculation in each queue independently of other queues
Add the results (including propagation delay)
References
Networking