220 likes | 381 Views
Design Principle: Multiplexing. Goals: identify, study common architectural components, protocol mechanisms what approaches do we find in network architectures? synthesis: big picture. design principles: separation of data, control hard state versus soft state randomization indirection
E N D
Design Principle: Multiplexing Goals: • identify, study common architectural components, protocol mechanisms • what approaches do we find in network architectures? • synthesis: big picture design principles: • separation of data, control • hard state versus soft state • randomization • indirection • multiplexing • network virtualization: overlays • design for scale Multiplexing: sharing resource(s) among users of the resource. Based on slides by Don Towsley
Many dimensions of multiplexing resource unavailability Other dimensions? • time granularity block, drop queue user granularity call burst packet on demand statistical reservations guaranteed shared among class per user
Packet-level multiplexing resource unavailability Other dimensions? • time granularity block, drop queue user granularity call burst packet on demand statistical reservations guaranteed shared among class per user
Scheduling And Policing Packets • scheduling: choose next packet to send on link • FIFO (first in first out) scheduling: send in order of arrival to queue • real-world example: stop sign • discard policy: • Tail drop: drop arriving packet • RED
2 3 1 3 4 5 1 4 3 1 5 4 2 5 2 Scheduling Policies: more Strict Priority scheduling: transmit highest priority queued packet • multiple classes, with different priorities • class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc.. • real world example: reservations versus walk-ins arrivals time packet service time departures
Scheduling Policies: still more round robin scheduling: • multiple classes • cyclically scan class queues, serving one from each class (if available) • real world example: 4-way stop (distributed scheduling)
Scheduling Policies: still more Weighted Fair Queuing: • generalized Round Robin • each class gets weighted amount of service in each cycle
Policing Mechanisms Goal: limit traffic to not exceed declared parameters Three commonly-used criteria: • (Long term) Average Rate:how many pkts can be sent per unit time (in the long run) • crucial question: what is interval length: 100 packets per sec or 6000 packets per min have same average! • Peak Rate: e.g., 6000 pkts per min. (ppm) avg.; 15000 ppm peak rate • (Max.) Burst Size: max. number of pkts sent consecutively (with no intervening idle)
Policing Mechanisms Token Bucket: limit input to specified Burst Size and Average Rate. • bucket can hold b tokens • tokens generated at rate r token/sec unless bucket full • over interval of length t: number of packets admitted less than or equal to (r t + b).
token rate, r arriving traffic bucket size, b per-flow rate, R WFQ D = b/R max Policing Mechanisms (more) • token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee!
General Model of Class-based Link Scheduling estimator class 1 class 2 class 3 classifier scheduler class 4
Link sharing among classes The question: sharing link among classes of packets in times of overload • isolation among classes • sharing between classes when link not fully used link link NSF ARPA DOE flow1 flow2 flow3
Link Scheduling Framework • each class guaranteed some share (fraction) of bandwidth (over suitable time interval) if needed • Use it or lose it: unused bandwidth should be used by others who can use it Under-limit class: used less than guaranteed share Over-limit class: used more than guaranteed share. Not a bad thing if not needed by others! At-limit class Unsatisfied class: has a persistent backlog and is under limit (persistent backlog intentionally not defined) Satisfied: not unsatisfied
Agency A Agency B Agency C Link Scheduling Hierarchies link Classes may be divided into subclasses, which can then further divide class bandwidth according to link scheduling guidelines 10% 40% 50% ftp http IP ATM rt nrt smtp 1% 9% 15% 25% 30% 10% 10%
link Agency B Agency C Agency A ftp http IP ATM rt nrt smtp Link Scheduling Guidelines A class can continue unregulated if one of the following hold: • the class is not overlimit • the class has a not-overlimit ancestor at level i, and there are no unsatisfied classes in link sharing structure at levels lower than i
link Example 1 legend A under limit B at limit over limit satisfied A2 A1 B2 B1 unsatisfied backlog Q; which classes need to be regulated?
link legend under limit at limit over limit satisfied unsatisfied backlog Example 2 A B A2 A1 B2 B1 Q; which classes need to be regulated?
link legend under limit at limit over limit satisfied unsatisfied backlog Example 3 A2 A1 B2 B1 Q; which classes need to be regulated?
link legend under limit at limit over limit satisfied unsatisfied backlog Example 4 A2 A1 B2 B1 Q; which classes need to be regulated?
Link Sharing Summary • timescales over which persistent backlog and under/over limit defined are crucial • provide “rationale” basis for determining who is available to be scheduled in a multi-class, multi-objective system (elegantly) • devil is in the details
Burst-level multiplexing • we’ve seen packet, call as unit of multiplexing • burst: yet another unit of multiplexing source- transmitted traffic time “burst” TASI: time assigned speech interpolation (AT&T mid 50’s) • detect silence periods in voice conversation • only send traffic during periods of speech activity (“talkspurts”) Optical Burst Switching: bufferless multiplexing of optical networks
Multiplexing: what have we learned? • Many dimensions • Essential to accommodate users with diverse demands with limited resources (space, memory, time, …). • lots of mechanism • particularly for packet-level sharing • mechanisms: for implementing policy