10/12/2019 Overview • What is QoS? 15-441/641: Quality of Service • Queuing discipline and scheduling 15-441 Fall 2019 Profs Peter Steenkiste & Justine Sherry • Traffic Enforcement Fall 2019 • Integrated services https://computer-networks.github.io/fa19/ 2 What is QoS? Why Should we Consider QoS? • The Internet supports best effort packet delivery • What is the basic objective of network design? Sufficient for most applications • • Maximize total bandwidth? Minimize latency? But some applications require or can benefit from a “higher” level of service • • Maximize user satisfaction – the total utility given to users • “Higher” quality of service can mean that bounds are provided for one or • Maximize profit? more performance parameters • What does utility vs. bandwidth look like? Bandwidth: fast data transfers, video • Delay, jitter: telephony, interactive video • • Utility: represents how satisfied a user is with the service Packet loss: update services • • Shape depends on application • QoS can also mean that a user gets “better” treatment (than other users) • Must be non-decreasing function But no guarantees are given, e.g., the “10 items or less” line in the grocery store • 4 1
10/12/2019 Performance versus Satisfaction Utility Curve Shapes U Elastic U User Hard real-time Satisfaction No longer Unacceptable Matters BW BW Delay- or Rate-adaptive U Does equal allocation of bandwidth Stay to the right and you maximize total are fine for all curves utility? BW Service Level 6 Utility curve – Elastic traffic Utility Curves – Inelastic traffic Delay-adaptive U U Hard real-time U Elastic BW BW Bandwidth Does equal allocation of bandwidth Does equal allocation of bandwidth maximize total utility? maximize total utility? Does adding users increase utility? Does adding users increase utility? 7 8 2
10/12/2019 Quality of Service versus Fairness Inelastic Applications • Continuous media applications • Traditional definition of fairness: treat all users equally. • Lower and upper limit on acceptable performance. • E.g., share bandwidth on bottleneck link equally • BW below which video and audio are not intelligible • QoS: treat users differently. • Internet telephones, teleconferencing with high delay (200 - 300ms) • For example, some users get a bandwidth guarantee, while others have impair human interaction to use best effort service • Sometimes called “tolerant real-time” since they can adapt to the • The two are not in conflict performance of the network • All else being equal, users are treated equally • Unequal treatment is based on policies, price: • Hard real-time applications • Require hard limits on performance • Administrative policies: rank or position • E.g. control applications • Economics: extra payment for preferential treatment 9 QoS Framework QoS Analogy: Surface Mail Traffic Packet • The defaults is “first class mail”. Enforcement Scheduling • Usually gets there within a few days H J C B • Sufficient for most letters I A • Many “guaranteed” mail delivery services: next day, 2-day delivery, next day am, ….. Admission G • Provide faster and more predictable service at a higher cost Control • Providers differentiate their services: target specific markets with E H specific requirements and budgets F D • Why don’t we do the same thing in networks? Observation: need full control over network to provide QoS Internet versus single domain 3
10/12/2019 How to Provide QoS? What is a flow? • Admission control limits number of flows • Defines the granularity of QoS and fairness You cannot provide guarantees if too many flows share resources (bandwidth) • For example, telephone networks - busy tone • TCP flow • This implies that your request for service can be rejected • • Traffic to or from a device, user, or network • Traffic enforcement limits how much traffic flows can inject based • Bigger aggregates for traffic engineering purposes on predefined limits. • Routers use a classifier to determine what flow a packet belongs to Make sure user respects the traffic contract • • Classifier uses a set of fields in the packet header to generate a Data outside of contract can be dropped or can be sent at a lower priority • flow ID • Scheduling support in the routers guarantee that users get their • Example: (src IP, dest IP, src port, dest port, protocol) share of the bandwidth. • Or: (src prefix, dest prfix), i.e., some fields are wildcards Again based on pre-negotiated bounds • • Analogy: service in a grocery store 14 Admission Control - Elastic Admission Control - Guarantees • If U(bandwidth) is concave U • If U is convex inelastic Elastic elastic applications applications • Incremental utility is decreasing with increasing U(number of flows) is no longer • bandwidth monotonically increasing Delay-adaptive U • It is always advantageous to have more flows Need admission control to maximize BW • with lower bandwidth total utility • Increases total utility of flows served • Admission control deciding when adding more people would • No need of admission control BW reduce overall utility This is why the Internet works! E.g., bandwidth or latency guarantees • • Not so for delay-adaptive and real-time applications Basically avoids overload • 15 16 4
10/12/2019 Overview Queuing Disciplines • Each router must implement some queuing discipline • What is QoS? • Since you have queues you will need a policy • Queuing allocates both bandwidth and buffer space: • Queuing discipline and scheduling • Bandwidth: which packet to serve (transmit) next • Buffer space: which packet to drop next (when required) • Traffic Enforcement • Queuing discipline affects latency, bandwidth, .. • Integrated services 17 18 Alternative Drop Policies Network Queuing Disciplines • Avoid lockout and full queue problems First-in-first-out (FIFO) + drop-tail • • Random drop and drop front policies Simplest choice - used widely in the Internet • • Drop random packet or packet at the head of the queue if the FIFO means all packets treated equally • queue is full and a new packet arrives Drop-tail: new packets gets dropped when queue is • • Solve the lock-out problem but not the full-queues problem Important distinction: • • May trigger congestion response faster FIFO: scheduling discipline • • Random Early Discard (RED) and Explicit Congestion Notification Drop-tail: drop policy • (ECN) slow down receivers before queues are full Alternative is to do Active Queue Management • • RED: drop some packets before queue is full To improve congestion response • • ECN: mark a bit in the headers to notify receiver (who notifies Support fairness in presence of non-TCP flows • the sender) of congestion onset without dropping a packet To give flows different types of service – QoS • 19 20 5
10/12/2019 Problems in Achieving fairness Fairness Goals In Practice • Allocate resources fairly • In the Internet, fairness is only achieved if all flows play by the same rules • Partially achieved by using similar congestion control rules • But it is complicated: fairness is poorly defined for short flows, • Isolate ill-behaved users many versions of TCP co-exist, etc. • This is challenging • In practice: most sources must use TCP or be “TCP friendly” • How about users who start with a large initial congestion window • Most sources are cooperative • Most sources implement homogeneous/compatible control law • How about UDP flows (good news: uncommon) • Compatible does not mean identical • How about users who modify TCP (good news: very hard) • Typically means less aggressive than TCP • Still achieve statistical multiplexing • What if sources do not play by the rule? • One flow can fill entire pipe if no contenders • E.g., TCP versus UDP without congestion control • Work conserving scheduler never idles link if it has a packet 21 22 Max-min Fairness What is Fairness? • Give users with “small” demand what they want, evenly divide unused • At what granularity? resources to “big” users Flows, connections, domains? • • Formally: • What if users have different RTTs/links/etc. • Resources allocated in terms of increasing demand Should it share a link fairly or be TCP fair? • • No source gets resource share larger than its demand • Maximize fairness index? • Sources with unsatisfied demands get equal share of resource Fairness = ( S x i ) 2 /n( S x i2 ) 0<fairness<1 • • Basically a tough question to answer! • Good to separate the design of the mechanisms from definition of a policy User = arbitrary granularity • • One example: max-min fairness 23 24 6
Recommend
More recommend