CONGESTION CONTROL and RESOURCE ALLOCATION Definition Resource Allocation

  • Slides: 19
Download presentation
CONGESTION CONTROL and RESOURCE ALLOCATION

CONGESTION CONTROL and RESOURCE ALLOCATION

Definition • Resource Allocation : Process by which network elements try to meet the

Definition • Resource Allocation : Process by which network elements try to meet the competing demands that applications have for network resources –primarily link bandwidth and buffer space in routers • Congestion control : Efforts made by network nodes to prevent or respond to overload conditions

Definition • Involve both host and network elements such as routers • In network

Definition • Involve both host and network elements such as routers • In network elements, queuing disciplines can be used to control the order in which packets get transmitted and which packets get dropped • At the end host, the congestion-control mechanism paces how fast sources are allowed to send packets flow control

Issues in Resource Allocation A. Network Model • Packet-switched network Congestion in a packet-switched

Issues in Resource Allocation A. Network Model • Packet-switched network Congestion in a packet-switched network Contrast with circuit-switched network, were links are reserved for certain transmission

A. Network Model • Connectionless Flow – All datagrams are certainly switched independently, but

A. Network Model • Connectionless Flow – All datagrams are certainly switched independently, but it is usually the case that a stream of datagrams between a particular pair of host flows through a particular set of routers – Soft state : state of information for each flow, information that can be used to make resource allocation decisions about the packets belong to the flow – Flow explicit implicit

Network Model • Service Model – Best-effort service no guarantees for packet delivery, order

Network Model • Service Model – Best-effort service no guarantees for packet delivery, order delivery, and the integrity of data unreliable service – Quantitative guarantees of Qo. S example : bandwidth needed for video streaming • We will use best-effort service model for the rest of discussion

B. Taxonomy 1. Router-centric versus Host-centric – Router centric : each router makes responsibilities

B. Taxonomy 1. Router-centric versus Host-centric – Router centric : each router makes responsibilities for deciding (forward or drop packets) as well as informs end host how many packets which is allowed to send – Host centric : end hosts observe the network conditions & adjust their behavior accordingly

B. Taxonomy 2. Reservation-based vs Feedback-based – Reservation-based system end host asks the network

B. Taxonomy 2. Reservation-based vs Feedback-based – Reservation-based system end host asks the network for a certain amount of capacity at the time a flow is established – Feedback-based system end hosts begin sending data without first reserving any capacity, then their sending rate according to the feedback they receive • Explicit i. e. congested router sends a “please slow down” message to the host • Implicit i. e. end host adjusts its sending rate accordingly to externally observable behavior of the network such as packet losses

B. Taxonomy 3. Window-based versus Rate-based – Window-based system receiver advertises a window to

B. Taxonomy 3. Window-based versus Rate-based – Window-based system receiver advertises a window to the sender (window advertisement) – Rate-based system how many bit per second the receiver or the network is able to absorb Ex. : multimedia streaming application

C. Evaluation Criteria • Effective Resource Allocation – Two principal metrics of networking: throughput

C. Evaluation Criteria • Effective Resource Allocation – Two principal metrics of networking: throughput and delay – As much throughput and as little delay as possible Ratio : – The objective is to maximize the ratio, which is a function of how much load placed on the network

Effective Resource Allocation Ratio of throughput to delay as a function of load

Effective Resource Allocation Ratio of throughput to delay as a function of load

Fair Resource Allocation – Fair means equal ? – Raj Jain’s fairness index :

Fair Resource Allocation – Fair means equal ? – Raj Jain’s fairness index : Flow throughput = (x 1 , x 2, …, xn) in bps

Exercise Suppose a congestion-control scheme results a collection of competing flows that achieve the

Exercise Suppose a congestion-control scheme results a collection of competing flows that achieve the following throughput rates: 100 KBps, 60 KBps, 110 KBps, 95 KBps, and 150 KBps. Calculate the fairness index for this scheme!

Queuing Disciplines 1. FIFO or FCFS – – First packet that arrives at a

Queuing Disciplines 1. FIFO or FCFS – – First packet that arrives at a router is the first packet to be transmitted Combined with tail drop policy FIFO Queuing Tail drop at a FIFO Queue

Queuing Disciplines • Priority queuing : a variation of basic FIFO queuing • Idea

Queuing Disciplines • Priority queuing : a variation of basic FIFO queuing • Idea : mark each packet with a priority, usually in To. S (Type of Service) • Routers implement multiple FIFO queues, one for each priority class • The network charge more to deliver high-priority packets than low-priority packets economic reason

2. Fair Queuing • Solve main problem in FIFO queuing : discriminate different traffic

2. Fair Queuing • Solve main problem in FIFO queuing : discriminate different traffic sources • Idea : maintain separate queue for each flow currently being handled by the router and services these queues in a round-robin manner

2. Fair Queuing • If Fi denotes time when router finishes transmitting packets i

2. Fair Queuing • If Fi denotes time when router finishes transmitting packets i (called timestamps) then the next packet to transmit is always one with the lowest timestamp • 2 important things about FQ: – Link is never left idle as long as there is at least one packet in queue, known as work-conserving – If link is fully loaded & there are n flows sending data, we can’t use more than 1/nth of the link bandwidth

2. Fair Queuing • Example of fair queuing (bit-by-bit RR) in action :

2. Fair Queuing • Example of fair queuing (bit-by-bit RR) in action :

2. Fair Queuing • A variation of FQ, is Weighted Fair Queuing (WFQ) •

2. Fair Queuing • A variation of FQ, is Weighted Fair Queuing (WFQ) • Idea: allows a weight to be assigned to each flow • The weight logically specifies how many bits to transmit, effectively controls the percentage of link’s bandwidth of the flow