Congestion Control and Resource Allocation

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Computer Networking Lecture 20 – Queue Management and QoS.
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
CSE331: Introduction to Networks and Security Lecture 13 Fall 2002.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
CS 408 Computer Networks Congestion Control (from Chapter 05)
CS 4700 / CS 5700 Network Fundamentals Lecture 12: Router-Aided Congestion Control (Drop it like it’s hot) Revised 3/18/13.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
Networks: Congestion Control1 Congestion Control.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
Analysis and Simulation of a Fair Queuing Algorithm
Congestion Control and Resource Allocation
CSE 401N Multimedia Networking-2 Lecture-19. Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
Link Scheduling & Queuing COS 461: Computer Networks
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
1 Congestion Control Computer Networks. 2 Where are we?
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Spring 2006CS 3321 Congestion Control and Resource Allocation Outline: Overview Queuing Disciplines TCP Congestion Control Combined Techniques.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Providing QoS in IP Networks
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Other Methods of Dealing with Congestion
Congestion Control in Data Networks and Internets
The Transport Layer Implementation Services Functions Protocols
Instructor Materials Chapter 6: Quality of Service
QoS & Queuing Theory CS352.
Topics discussed in this section:
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Copyright 2010 Cisco Press & Priscilla Oppenheimer.
Congestion Control and
Queue Management Jennifer Rexford COS 461: Computer Networks
Chapter 6 Queuing Disciplines
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 6: Quality of Service Connecting Networks.
TCP, XCP and Fair Queueing
Queuing and Queue Management
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Advance Computer Networking
Other Methods of Dealing with Congestion
The University of Adelaide, School of Computer Science
Congestion Control (from Chapter 05)
COS 461: Computer Networks
CSCD 433/533 Advanced Networks
Congestion Control (from Chapter 05)
Advance Computer Networking
Network Simulation NET441
COMP/ELEC 429 Introduction to Computer Networks
Congestion Control (from Chapter 05)
Congestion Control Reasons:
Congestion Control (from Chapter 05)
Chapter 3 outline 3.1 Transport-layer services
Congestion Control (from Chapter 05)
Transport Layer: Congestion Control
Congestion Control (from Chapter 05)
Introduction to Packet Scheduling
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control and Resource Allocation
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
Introduction to Packet Scheduling
Lecture 6, Computer Networks (198:552)
Presentation transcript:

Congestion Control and Resource Allocation Lecture material taken from “Computer Networks A Systems Approach”, Third Edition,Peterson and Davie, Morgan Kaufmann, 2007.

Congestion Control Outline Flows CC Taxonomy Evaluation Criteria Introduction to Queueing FIFO (FCFS drop tail) Priority FQ (Fair Queueing) WFQ (Weighted Fair Queueing) Computer Networks Congestion Control

Computer Networks Congestion Control Definitions Flow control:: keep a fast sender from overrunning a slow receiver. Congestion control:: the efforts made by network nodes to prevent or respond to overload conditions. Congestion control is intended to keep a fast sender from sending data into the network due to a lack of resources in the network {e.g., available link capacity, router buffers}. Computer Networks Congestion Control

Computer Networks Congestion Control Congestion control is concerned with the bottleneck routers in a packet switched network. Congestion control can be distinguished from routing in that sometimes there is no way to ‘route around’ a congested router. Computer Networks Congestion Control

Congestion 3 6 1 4 8 2 7 5 Copyright ©2000 The McGraw Hill Companies Leon-Garcia & Widjaja: Communication Networks Leon-Garcia & Widjaja: Communication Networks Leon-Garcia & Widjaja: Communication Networks Leon-Garcia & Widjaja: Communication Networks Figure 7.50b Copyright ©2000 The McGraw Hill Companies Computer Networks Congestion Control

Figure 6.1 Congestion in a packet-switched network Computer Networks Congestion Control

Computer Networks Congestion Control Flows flow :: a sequence of packets sent between a source/destination pair and following the same route through the network. Connectionless flows within the TCP/IP model:: The connection-oriented abstraction, TCP, is implemented at the transport layer while IP provides a connectionless datagram delivery service. With connectionless flows, there exists no state at the routers. Computer Networks Congestion Control

Computer Networks Congestion Control Flows Connection-oriented flows (e.g., X.25) – connection-oriented networks maintain hard state at the routers. Soft state :: represents a middle ground where soft state is not always explicitly created and removed by signaling. Correct operation of the network does not depend on the presence of soft state, but soft state can permit the router to better handle packets. Computer Networks Congestion Control

Figure 6.2 Multiple Flows passing through a set of routers Computer Networks Congestion Control

Computer Networks Congestion Control Service Best-effort service :: The hosts are given no opportunity to ask for guarantees on a flow’s service. QoS (Quality of Service) :: is a service model that supports some type of guarantee for a flow’s service. Computer Networks Congestion Control

Lack of Congestion Control Controlled Throughput Uncontrolled Offered load Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies Figure 7.51 Computer Networks Congestion Control

Congestion Control Taxonomy Router-Centric The internal network routers take responsibility for: Which packets to forward Which packets to drop or mark The nature of congestion notification to the hosts. This includes the Queuing Algorithm to manage the buffers at the router. Host-Centric The end hosts adjust their behavior based on observations of network conditions. (e.g., TCP Congestion Control Mechanisms) Computer Networks Congestion Control

Congestion Control Taxonomy Reservation-Based – the hosts attempt to reserve network capacity when the flow is established. The routers allocate resources to satisfy reservations or the flow is rejected. The reservation can be receiver-based (e.g., RSVP) or sender-based. Computer Networks Congestion Control

Congestion Control Taxonomy Feedback-Based - The transmission rate is adjusted (via window size) according to feedback received from the sub network. Explicit feedback – FECN, BECN, ECN Implicit feedback – router packet drops. Window-Based - The receiver sends an advertised window to the sender or a window advertisement can be used to reserve buffer space in routers. Rate-Based – The sender’s rate is controlled by the receiver indicating the bits per second it can absorb. Computer Networks Congestion Control

Computer Networks Congestion Control Evaluation Criteria Evaluation criteria are needed to decide how well a network effectively and fairly allocates resources. Effective measures – throughput, utilization, efficiency, delay, queue length, goodput and power. throughputα Power = -------------- delay Computer Networks Congestion Control

Computer Networks Congestion Control Fairness Jain’s fairness index For any given set of user throughputs (x1, x2,…xn ), the fairness index to the set is defined: f(x1, x2, …, xn) = Max-min fairness Essentially ‘borrow’ from the rich-in-performance to help the poor-in-performance. For example, CSFQ (Core Stateless Fair Queueing) Computer Networks Congestion Control

Congestion Control (at the router) Queuing algorithms determine: How packets are buffered. Which packets get transmitted. Which packets get marked or dropped. Indirectly determine the delay at the router. Queues at outgoing links drop/mark packets to implicitly signal congestion to TCP sources. Remember to separate queuing policy from queuing mechanism. Computer Networks Congestion Control

Congestion Control (at the router) Some of the possible choices in queuing algorithms: FIFO (FCFS) also called Drop-Tail Fair Queuing (FQ) Weighted Fair Queuing (WFQ) Random Early Detection (RED) Explicit Congestion Notification (ECN). Computer Networks Congestion Control

Drop Tail Router [FIFO] First packet to arrive is first to be transmitted. FIFO queuing mechanism that drops packets from the tail of the queue when the queue overflows. Introduces global synchronization when packets are dropped from several connections. FIFO is the scheduling mechanism, Drop Tail is the policy Computer Networks Congestion Control

Computer Networks Congestion Control Priority Queuing Mark each packet with a priority (e.g., in TOS (Type of Service field in IP) Implement multiple FIFO queues, one for each priority class. Always transmit out of the highest priority non-empty queue. Still no guarantees for a given priority class. Computer Networks Congestion Control

Computer Networks Congestion Control Priority Queuing Problem:: high priority packets can ‘starve’ lower priority class packets. Priority queuing is a simple case of “differentiated services” [DiffServ]. One practical use in the Internet is to protect routing update packets by giving them a higher priority and a special queue at the router. Computer Networks Congestion Control

Computer Networks Congestion Control Fair Queuing [FQ] The basic problem with FIFO is that it does not separate packets by flow. Another problem with FIFO is an “ill-behaved” flow can capture an arbitrarily large share of the network’s capacity. Idea:: maintain a separate queue for each flow, and Fair Queuing (FQ) services these queues in a round-robin fashion. Computer Networks Congestion Control

Computer Networks Congestion Control Figure 6.6 Fair Queuing Computer Networks Congestion Control

Computer Networks Congestion Control Fair Queuing [FQ] “Ill-behaved” flows are segregated into their own queue. There are many implementation details for FQ, but the main problem is that packets are of different lengths  simple FQ is not fair!! Ideal FQ:: do bit-by-bit round-robin. Computer Networks Congestion Control

Computer Networks Congestion Control Fair Queuing [FQ] FQ simulates bit-by-bit behavior by using timestamps (too many details for here!). One can think of FQ as providing a guaranteed minimum share of bandwidth to each flow. FQ is work-conserving in that the server is never idle as long as there is a customer in the queue. Note: The per-flow state information kept at the router is expensive (it does not scale). Computer Networks Congestion Control

Weighted Fair Queuing [WFQ] WFQ idea:: Assign a weight to each flow (queue) such that the weight logically specifies the number of bits to transmit each time the router services that queue. This controls the percentage of the link capacity that the flow will receive. The queues can represent “classes” of service and this becomes DiffServ. An issue – how does the router learn of the weight assignments? Manual configuration Signaling from sources or receivers. Computer Networks Congestion Control

Congestion Control Summary Congestion Control (definition) Flows CC Taxonomy Evaluation Criteria Jain’s fairness Introduction to Queueing FIFO (FCFS drop tail) Priority FQ (Fair Queueing) WFQ (Weighted Fair Queueing) Computer Networks Congestion Control