Notes for Lecture dated Nov 2, 1999
Papers Covered
1) Fundamental Design Issues for the Future Internet (Shenker)
2) Supporting Real-Time Applications in an Integrated Services Packet
Network: Architecture and Mechanism (Clark, Shenker and Zhang)
1st paper
Why we need different levels of service?
Concreteness
What is the goal?
The goal is to maximize benefits with utility functions.
Allocation among n users:
Vector S = { s1, s2 , ., sn}
Ui utility function of client i
Ui = f(si)
Max V = S Ui(si)
Some points about this scheme:
This scheme does not achieve fairness.
Pricing incentives are missing.
Different traffic types have different utility functions.
Bulk: ftp, telnet
utility
bandwidth
Real Time(completely rigid)
bandwidth
Completely rigid real-time applications dont benefit until you reach a certain bandwidth.
Delay Adaptive
bandwidth
You need a certain B/W to be happy.
Rate-Adaptive
utility
bandwidth
Question of admission control?
Should we stop admitting flows at some point?
Max V = S Ui(si)
Is there a local maxima of V as flow increases?
Model
1 link: capacity B
n users
fair share: B/n
same utility function
V = n * U(B/n)
V(n) concave
n
For bulk, if we keep increasing users with concave utility function, then V keeps increasing.
V(n) Adaptive
n
Admission control makes sense for adaptive applications and not for bulk applications.
Example
Link M/M/1
2 users
U1 = 4 - 2d1
U2 = 4 d2
V = U1 + U2 d1 + d2 = 2
If d1 = d2 = 1
Then U1=2 and U2=3 and V=5
So the idea is to prioritize d1 over d2 to maximize V. (FIFO is no good)
Who should specify the service requirements?
+ application simplicity
2nd Paper
1) Guaranteed Services Vs Predicted Services
2) Service Interface
3) Scheduling Discipline (FIFO, WFQ, FIFO+)
4)Admission Control
Packet Scheduling
FIFO: complete sharing
WFQ: complete isolation
WFQ has this problem that when there are many bulk flows and a delay inelastic busty flow, then that round robin would be bad on that flow.
Scheduling Mean 99.9 %ile
WFQ 3.16 53.86
FIFO 3.17 34.72
FIFO+ : keep jitter low for packets in the same class
Idea: If the jitter of a packet is high at a switch compared to its class avg., then the next switch inserts the packet in the queue in the order as if it arrived at the expected time and not according to the actual arrival time.