DOC PREVIEW
U of I CS 498 - End-host Congestion Management

This preview shows page 1-2-3-4 out of 13 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 498 Lecture 15 COCOON: End-host Congestion ManagementCOCOON OverviewCocoon in Internet Protocol (IP) StackInformation Sharing in a GroupCongestion Control in a GroupUDP Connections in a GroupSlide 7Slide 8Window Setup for a New ConnectionGroup ManagementImplementation and EvaluationPerformanceSlide 13CS 498 Lecture 15 COCOON: End-host Congestion ManagementJennifer HouDepartment of Computer Science University of Illinois at Urbana-ChampaignReading: Yuan Gao, Guanghui He, and Jennifer Hou, “COCOON: an end-host approach to end-point congestion management”COCOON OverviewProvides a unified congestion control mechanism for subsets of active unicast connections at a host. Resides at end-hosts and requires no router support.Groups connections (TCP, UDP) destined to the same subnet. Adjusts group dynamically.Prevents blindly competition by sharing information and coordinating congestion control actions in a group.Allows a new connection to start with a large congestion window.Cocoon in Internet Protocol (IP) StackRound-trip time (RTT) and its variance for the group are estimated and used by all group members to set their retransmission timers.When a connection Ci detects congestion: Ci reduces its congestion window size (cwndi) to half of its outstanding data size (FlightSizei) Ci sets it slow-start threshold (ssthreshi) to half of its outstanding data size (FlightSizei );Information Sharing in a GroupCongestion Control in a GroupFor connection in this groupif ( ) {} else if ( ) {} elsejC),max(21ijjFlightSizeFlightSizecwndijFlightSizeFlightSizejjcwndssthreshijFlight SizeFlight Size21jjFlightSizecwndijFlightSizessthresh21),21min(jijssthreshFlightSizessthreshUDP Connections in a GroupAll UDP connections in a group are grouped together and treated as a virtual connection which is then regulated by a virtual congestion window. cwndv is set to the average TCP congestion window size times #UDP connections. The outstanding data size, , of the virtual connection is initialized to 0.vFlightSizeUDP Connections in a GroupData can be sent only when ; When a packet is sent, is increased by the packet size;When a non-duplicate acknowledgement is received by a TCP connection in the group, then is updated and is reduced by the amount of data bytes acknowledged.vvcwndFlightSizevFlightSizevFlightSizevcwndUDP Connections in a GroupWhen a TCP connection times out, the virtual connection immediately freezes its transmission, no matter if ; it only resumes transmission when a new acknowledgement is received by timeout TCP connection. If all TCP connections are inactive, and are unchanged. The virtual connection is allowed to send at rate cwndFlightSizevFlightSizevcwndvRTTgroupcwndv_/Window Setup for a New ConnectionWhen a new TCP connection is established and added into a group, it chooses the connection with the smallest congestion window.New connection’s congestion window and slow-start threshold are set as:kCrCrkcwndcwnd21=),min(rrkssthreshcwndssthreshGroup ManagementGroup size is dynamically adjusted.When a group is too large, it is split into two smaller groups.When number of groups is too large, some groups are merged into one larger group. Group adjustment is according to connections RTTs. A discrete-time Markovian analysis shows that the overhead is less than 5% of the CPU time.Implementation and EvaluationYou are required to implement the mechanisms in slides 4, 5, and 9 in Linux Kernel 2.4.22.You need to trace code in net/ipv4/tcp_v4.c, tcp.c, tcp_input.c, tcp_output.cThree major parts in TCP codestate machine implementation (connect, listen, accept). How packets traverse from the socket layer down to the device and how packets traverse upward from the device to the socket layer.Window congestion control mechanism.Pay attention to the code when a TCP connection is established/terminated, when a packet is received, when a timeout


View Full Document

U of I CS 498 - End-host Congestion Management

Documents in this Course
Lecture 5

Lecture 5

13 pages

LECTURE

LECTURE

39 pages

Assurance

Assurance

44 pages

LECTURE

LECTURE

36 pages

Pthreads

Pthreads

29 pages

Load more
Download End-host Congestion Management
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view End-host Congestion Management and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view End-host Congestion Management 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?