Klara Nahrstedt Spring 2014: CS 414 - Multimedia Systems Design - Queue Management
Klara Nahrstedt Spring 2014: CS 414 - Multimedia Systems Design - Queue Management
Klara Nahrstedt Spring 2014: CS 414 - Multimedia Systems Design - Queue Management
Transmission
Audio Capture Compression Processing
Transmission
A/V Playback
Example
Packet size = 1 Kbytes (one can accumulate burst up to 16 packets in the bucket) Regulators rate = 8 packets per second, or 8KBps or 64Kbps
size = 40 Kbytes (burst of 10 packets) Regulators rate = 5 packets per second, 200 KBps, 1600Kbps
CS 414 - Spring 2014
Token Bucket
The effect of TB is different than Leaky Bucket (LB) Consider sending packet of size b tokens (b<):
bucket is full packet is sent and b tokens are removed from bucket Token bucket is empty packet must wait until b tokens drip into bucket, at which time it is sent Bucket is partially full lets consider B tokens in bucket;
Token
if b B then packet is sent immediately, Else wait for remaining b-B tokens before being sent.
CS 414 - Spring 2014
Burstiness is bounded as follows: - Flow never sends more than +* tokens worth of data in interval and - Long-term transmission rate will not exceed
TB does not have discard or priority policy TB more flexible
TB is easy to implement -Each flow needs counter to count tokens, - each flow needs timer to determine when to add new tokens to the counter
LB is easy to implement
Multimedia networks use rate-based mechanisms (conventional networks use window-based flow control and FIFO)
Work-conserving schemes Non-work-conserving schemes
Fair Queuing
Jitter Earliest-Due-Date
Virtual Clock
Delay Earliest-Due-Data
Stop-and-Go
Hierarchical Round-Robin
WFQ vs FQ
Both in WFQ and FQ, each data flow has a separate FIFO queue. In FQ, with a link data rate of R, at any given time the N active data flows (the ones with non-empty queues) are serviced simultaneously, each at an average data rate of R / N.
Since each data flow has its own queue, an ill-behaved flow (who has sent larger packets or more packets per second than the others since it became active) will only punish itself and not other sessions.
WFQ allows different sessions to have different service shares. If N data flows currently are active, with weights w1,w2...wN, data flow number i will achieve an average data rate of R * wi/(w1+w2++wn)
CS 414 - Spring 2014
WFQ guarantees packet delay less than a given value D, but as long as delay is within bound it does not guarantee what the delay will be Example: send packet at time t0 over a path whose maximum delay is D (note that each path has some minimal delay d)
WFQ
guarantees that packet arrives no sooner than t0+d, but packets can arrive any time t0+ x between [t0+d, t0+D] . x is jitter
CS 414 - Spring 2014
Class-based WFQ
PQ Priority Queue
Error Detection
Ability to detect the presence of errors caused by noise or other impairments during transmission from sender to receiver
Traditional
Checksum of a message is an arithmetic sum of message code words of a certain word length (e.g., byte) CRC Cyclic Redundancy Check function that takes as input a data stream of any length and produces as output a value (commonly a 32bit integer) can be used as a checksum to detect accidental alteration of data during transmission or storage
Multimedia
sends the data and also an error detection code, which the receiver uses to check for errors, and requests retransmission for erroneous data The receiver sends ACK (acknowledgement of correctly received data)
encodes the data with an error-correcting code (ECC) and sends the coded msg. No ACK exists.
CS 414 - Spring 2014
Error Control
Error Correction
Traditional
mechanisms: retransmission using acknowledgement schemes, window-based flow control Multimedia mechanisms:
Go-back-N Retransmission Selective retransmission Partially reliable streams Forward error correction Priority channel coding Slack Automatic Repeat Request
Go-back-N Retransmission
Conclusion
Establishment Phase
Negotiation,
Transmission Phase
Classification,
Queueing