Section 6.1: Resource Allocation Issues Chapter 6: Congestion Control and Resource Allocation CS/ECPE 5516: Comm. Network Prof. Abrams Spring 2000 CS/ECPE5516 1 2 CS/ECPE5516 What’s wrong with doing How to prevent traffic jams ONLY… • Traffic lights on freeway entrance during rush hour • Resource Allocation? n Controls and reduces congestion after it develops n Congestion Control • Congestion control? • Schedule each car’s trip on highway so congestion never develops n Resource allocation • Carpool Lane w/ traffic lights n Gives higher priority to carpool vehicles n Congestion could still develop n Combination of Resource allocation & Congestion Control 3 CS/ECPE5516 4 CS/ECPE5516 Is routing a congestion control mechanism? How do these differ… • Congestion control vs. • Flow control 5 CS/ECPE5516 6 CS/ECPE5516 1
Another term… Objectives of Congestion Control • Fairness: • Two main objectives of congestion control n Attempt to allocate resources to customers in way n Delay … Achieve balance between rejecting traffic that some property is maintained… (which decreases throughput) and keeping delay low n Perhaps equal resource use n Fairness n Perhaps a guaranteed fraction of resource use • Secondary objective of congestion control n Perhaps a guarantee that eventually each customer will be n Buffer overflow … Prevent buffer overflow that can served lead to deadlock or extreme throughput degradation n Related to delay and fairness 7 CS/ECPE5516 8 CS/ECPE5516 Which One does the Telephone Ways to Impose Congestion Network Do? Control (1) • Call blocking • Congestion control? n A “session” is blocked from entering the network • Resource allocation? n Traditionally used in circuit-switched networks n “Busy signal” n Used in ATM n CBR, VBR, or ABR session requests connection with guaranteed bandwidth and/or maximum latency -- quality of service (QoS) n Network will accept or block connection n Network could offer a “degraded” connection that may be acceptable to application 9 CS/ECPE5516 10 CS/ECPE5516 Ways to Impose Congestion Ways to Impose Congestion Control (2) Control (3) • Packet (cell) discarding • Packet blocking n Packets discarded when buffers are (nearly) full n Individual packets can be prevented from entering network n Discarding can be selective n Buffer for later transmission (high priority) n Packets from low priority sessions n Discard (low priority) n Packets from sessions exceeding their allotted bandwidth n It’s better to prevent packet from entering network n Packets likely to be discarded elsewhere than to enter, user resources, and be discarded 11 CS/ECPE5516 12 CS/ECPE5516 2
Ways to Impose Congestion How easy is it to do congestion control/resource allocation on… Control (4) • Packet scheduling • Connection-oriented n Network nodes may selectively expedite or delay • Connection-less packet transmission • Flow-based (see next slide…) n Selection criteria n Delay low priority traffic in favor of high priority traffic n Use round-robin schedule to ensure fairness n Delay packets that will use congested resources elsewhere in network 13 CS/ECPE5516 14 CS/ECPE5516 6.2: Example of Flows Vs. Datagrams Resource Allocation with Flows • Datagram->packets can all take different routes • Fair Queuing (FQ) • Flows->packets follow same route, even without n One flow per queue connection setup n Packets vary in size; service flows with small packets • Routers recognize flow more often n perhaps via flow-identifier in packet headers (IPv6) n perhaps by flow set-up message Round- Robin n perhaps by seeing same source/dest layer3 addresses … Service • Routers maintain soft state n created/deleted by router, not by signaling 15 CS/ECPE5516 16 CS/ECPE5516 6.1.2: Taxonomy of Approaches to Resource Alloc. & Congestion Taxonomy of Approaches (2) Router Centric • Router-centric versus host-centric: Where is the main Rate-Based functionality of congestion control? n Hosts -- at the edge of the network n Routers -- inside the network Feedback-Based • Reservation-based versus feedback-based n Hosts can reserve capacity Reservation-Based n Network accepts or rejects (blocks) n Network can provide feedback to hosts Window-Based n Explicit – bit in header indicating congestion n Implicit – dropped packet Host Centric 17 CS/ECPE5516 18 CS/ECPE5516 3
Taxonomy of Approaches (3) Where is TCP? Router Centric • Window-based versus rate-based Rate-Based n Window-based: hosts are controlled by limiting their send window size n Messages update the size of the window Feedback-Based n Rate-based: hosts transmit at some rate Reservation-Based n Example: video stream needs 1.5 Mbps Window-Based Host Centric 19 CS/ECPE5516 20 CS/ECPE5516 Congestion Avoidance Example: 6.4: Alternatives to TCP… DECbit • Congestion Control • Add one bit (congestion bit) to packet header n What TCP uses • Router measures ave. queue length n Slow start creates congestion to detect it! • Router sets bit=1 if queue length >1 n Why? Tries to solve problem at end hosts only • Receiver returns congestion bit in ack header • Congestion Avoidance • Sender: n Routers + end hosts cooperate n if <50% of acks in window have bit=1, n Routers signal developing problems CWND=CWND*7/8 vs. TCP’s 1/2 n End hosts can throttle back before congestion occurs n else CWND = CWND+1 21 CS/ECPE5516 22 CS/ECPE5516 Congestion Avoidance Example: More on Random Early Detection (RED) Random Early Detection (RED) • Due to Sally Floyd and Van Jacobson • Router computes ave q length: n AveLen = (1- λ )AveLen + λ LenSample • No explicit congestion bit like DECbit (Look familiar?) • Instead, router intentionally drops packet to signal end host to slow down! Pr(drop) • So router drops packets sooner than it would 1.0 have to • “Random” in name means packets from random AveLen flows are dropped, to be fair Min Max 23 CS/ECPE5516 24 CS/ECPE5516 4
Miscellaneous facts on RED 6.5: Quality of Service • Factor λ is based on RTT for typical connections: • Certain traffic has performance requirements If router drops packet, takes as much as RTT for n Real-time (e.g., max packet latency for voice call) end host to slow down. So router shouldn’t adapt n Multimedia (e.g., frame rate for video) faster than RTT. • IETF’s 2 service classes (“Integrated Services”) • With random drops, flows using most bandwidth n Guaranteed Service have most drops – a notion of fairness n Voice calls cannot tolerate packets late by a certain amount • In ATM, packet requires multiple cells. If RED n Controlled Load drops one cell, drop all cells. n Streaming media player can slowly adjust its buffer size to fit performance of channel. 25 CS/ECPE5516 26 CS/ECPE5516 Some QoS parameters QoS Terminology… • Flowspec: • Data rate n “I want controlled load” or “jitter<125µs” or • Average latency (delay) “my ave. sending rate is 1Mbps, with bursts up to 10Kb long” • Variance in delay or jitter • Admission control: n Jitter is the instantaneous difference in two n We’ve got six 1Mbps connections; we cannot admit a seventh synchronized events or streams • Resource reservation: • Error rate n Allocate resources based on QoS needs • Packet scheduling: n Bit error rate (BER) n Determine when to transmit a packet at hosts & routers n Packet error rate (PER) – entire packet is lost 27 CS/ECPE5516 28 CS/ECPE5516 Resource Reservation Protocol -- Resource Reservation Protocol -- RSVP (1) RSVP (2) • For unicast or multicast RESV Src 1 • Step 1: senders send PATH message requesting Rcvr A PATH service I’ll listen to Joe on • Step 2: receivers decide what to give senders, and RESV flowID 97 at 5fps make reservation with RESV message PATH RESV Src 2 n Receiver decision is opposite of a traditional phone call Rcvr B • Routers use “soft state” Joe is sending video at 10 fps with flowID 97 n Reservation state is cached in routers n Periodically refreshed when receivers send RESV 29 CS/ECPE5516 30 CS/ECPE5516 5
Differentiated Services • You just saw Integrated Services: n Allocate resources to individual flows n RSVP run for every “call”, and routers must keep track of many flows. • Differentiated services: n Just two service classes, period: normal & premium n Packets identify which they belong to with a bit • Rationale: Internet has trouble with 1 class today, so just increase number classes to 2! 31 CS/ECPE5516 6
Recommend
More recommend