Generalizing The Network Performance Interference Problem

Slides:



Advertisements
Similar presentations
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
Advertisements

1 TCP Vegas: New Techniques for Congestion Detection and Avoidance Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science.
TCP Vegas: New Techniques for Congestion Detection and Control.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
EE 122: Congestion Control The Sequel October 1, 2003.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
TCP Enhancement for Random Loss Jiang Wu Computer Science Lakehead University.
A Simulation of Adaptive Packet Size in TCP Congestion Control Zohreh Jabbari.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Lecture 9 – More TCP & Congestion Control
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
We used ns-2 network simulator [5] to evaluate RED-DT and compare its performance to RED [1], FRED [2], LQD [3], and CHOKe [4]. All simulation scenarios.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Window Control Adjust transmission rate by changing Window Size
DMET 602: Networks and Media Lab
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
By, Nirnimesh Ghose, Master of Science,
Topics discussed in this section:
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
CUBIC Marcos Vieira.
The Transport Layer (TCP)
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
TCP Vegas: New Techniques for Congestion Detection and Avoidance
Transmission Control Protocol (TCP)
TCP-LP Distributed Algorithm for Low-Priority Data Transfer
TCP-LP: A Distributed Algorithm for Low Priority Data Transfer
CONGESTION CONTROL.
Hojun Lee TCP enhancements Hojun Lee 11/8/2018.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP.
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Random Early Detection Gateways for Congestion Avoidance
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
Jiyong Park Seoul National University, Korea
CS640: Introduction to Computer Networks
COMP/ELEC 429/556 Fall 2017 Homework #2
CS4470 Computer Networking Protocols
Project-2 (20%) – DiffServ and TCP Congestion Control
TCP Congestion Control
EE 122: Lecture 10 (Congestion Control)
CSE 4213: Computer Networks II
EE 122: Congestion Control The Sequel
Computer Science Division
Transport Layer: Congestion Control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Designing a Relative Delay Estimator for Multipath Transport
Presentation transcript:

Generalizing The Network Performance Interference Problem Jiyong Park Real-Time Operating Systems Laboratory, Seoul National University, Korea 12, Dec. 2005

Contents Overview Background Knowledge Network Model Analysis of The Model Solution Mechanism Future Work Conclusion

Overview (1/3) Goal JEC paper Generalizing the network performance interference problem. Proposing a universal solution mechanism for the problem. JEC paper Submitted at Aug. 2005 Analysis and solution only for a specific network configuration Queue size = 100, upload speed = 800 Kbps, ...

Number of ACK packets for opposite direction Overview (2/3) Result of Analysis Factors that affects the throughput Delay of ACK should be as short as possible. Number of ACK in the queue should be minimized. Number of ACK packets for opposite direction in the queue delay of ACK packet

Overview (3/3) Basic Idea Solution Mechanism Delay of ACK should be as short as possible. Solution: Priority of ACK > priority of data Number of ACK in the queue should be minimized. Solution: Drop probability of ACK > drop probability of data Solution Mechanism Idea from RED (Random Early Detection) queue Separate queues for ACK and non-ACK packets

Background Knowledge

Bandwidth-Delay Product Bandwidth-delay product is the number of packets that are in-flight in a link. Example of a conveyor belt. For a network link Number of people in a conveyor belt = 2 * 2 = 4 peoples 2 peoples/minute It takes 2 minute. Maximum number of packets = μ t / L Transmission speed = μ (bytes/second) Number of packets = λ t / L Packet size = L(byte) Propagation delay = t (seconds) Packet speed = λ (byte/second) (λ ≤μ)

Capacity of a Path Capacity of a Path (C) Maximum number of packets (of bytes) that can be in-flight in the path. Sum of bandwidth-delay product of all links and capacity of buffers If we send more packets than C, excessive packets will be dropped at the queue. B2 λc tc λa ta λb tb B1

TCP Overview – 1. Flow Control (1/3) Window Number of data packets that can be sent without being acknowledged. Represented as variable wnd. Sliding window Upon receiving ACK, window slides.

TCP Overview – 1. Flow Control (2/3) Operation on Sender’s Side If an ACK is received, Transmit k data packets immediately (slide the window by k). k = seq. number of current ACK – seq. number of previous ACK Sent & ACKed Sent & Not ACKed Not sent window (wnd = 5) λ data packets/sec Sender user data (infinite) 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 12 13 14 λa ACK packets/sec ACK received: 5 6 9 Data sent: 11 12 13 14

TCP Overview – 1. Flow Control (3/3) Operation on Receiver’s Side If a data packet is received, Send one ACK packet immediately. Seq. number of the ACK := seq. number of last data packet that has been received in-order λ data packets/sec Receiver Data received 1 2 3 4 5 6 7 8 9 10 11 ACK sent: 6 7 7 7 7 11 λ ACK packets/sec Rate of incoming ACK packets = Rate of outgoing data packets (packets/sec)

TCP Overview – 2. Congestion Avoidance (1/2) Window size (wnd) can be vary. wnd = min(cwnd, maxwnd) maxwnd: buffer size of the receiver (determined when establishing a connection) cwnd: size of the congestion window (variable) cwnd is updated as follows. If an ACK is received, cwnd is increased.  Network is not congested. Put more packets in the link. If data loss is detected, cwnd is decreased.  Network is congested. Put less packets in the link.

TCP Overview – 2. Congestion Avoidance (2/2) cwnd increment algorithm has two phases. Slow start phase (aggressive phase) when cwnd < ssthresh cwnd += 1 (upon receiving 1 ACK) Congestion avoid phase (cautious phase) when cwnd > ssthresh cwnd += 1/cwnd (upon receiving 1 ACK) cwnd ssthresh logarithmic increment exponential increment time slow start congestion avoid

TCP Overview – 3. Loss Recovery (1/2) Loss of a data packet can be detected by Timer expiration, Three duplicated ACKs, or Selective ACK. If packet loss is detected, cwnd is decreased. ssthresh is updated. ... Exact mechanisms are different among various TCP implementations. TCP tahoe, TCP reno, TCP new-reno, TCP-SACK, ... Good mechanisms are less affected by the data packet loss.

TCP Overview – 3. Loss Recovery (2/2) Figure taken from Anurag Kumar, “Comparative Performance Analysis of Versions of TCP in a Local Network with a Lossy Link”, In IEEE Transactions on Network, 1998

Performance of TCP (1/2) Assumption Data packet is not lost. If you want to calculate the throughput with data packet loss, refer to the previous slide. Throughput (λ) (unit: bytes per second) Average number of bytes sent during a certain period of time. A certain period of time: RTT (round-trip-time) During RTT, TCP sender transmits wnd data packets.

wnd = number of data packets + number of ACK packets Performance of TCP (2/2) During RTT, TCP sender transmits wnd data packets. data packet Sender Receiver 1st 2nd RTT wnd-th ACK packet wnd = number of data packets + number of ACK packets The sender has been just transmitted a data packet. That packet is wnd-th packet currently in the link. It takes RTT for the sender to receive ACK packet for the data packet. (by the definition of RTT) If the sender receives the ACK packet, it is the wnd-th ACK packet since 1. The sender need wnd ACK packets to transmit wnd data packets. So, the sender should have been transmitted wnd data packets during RTT.

Network Model

Network Model (1/2) BU Node A Node B uplink μU tU downlink WU μD WD tD BD Subscript D and U mean downlink and uplink respectively. B: queue capacity (in packets) μ: link speed (in byte per seconds) t: link delay (in seconds) D: size of a TCP data packet (in byte) A: size of a TCP ACK packet (in byte) W: maximum window size Links are loss free. Constraints μD > μU (downlink is faster than uplink) D > A

Network Model (2/2) Data is sent and received greedily. There are always packets to send. There are always rooms to receive packets. Two simultaneous TCP connections Connection d: node B  node A (download) Connection u: node A  node B (upload)

Generality of the Model Chain of links can be simplified as a single link. bottleneck link μ B total delay = t t μ B

Analysis of The Model

Throughput To calculate throughput, we need Average window size: wnd Round-trip-time: RTT

Calculation of Average Window Size (1/2) Assumption maxwnd should be larger than P = C-BU-BD If not, link is always underutilized. Average window size can be calculated. wnd wnd maxwnd C C average wnd maxwnd average wnd P P time time Case 1: maxwnd > C Case 2: P < maxwnd < C

Calculation of Average Window Size (2/2) From now on, let wndD: average window size for download traffic wndU: average window size for upload traffic

Calculation of RTT RTT = dD+dU dU : delay on downlink BU Node A Node B uplink μU tU downlink WU μD WD tD BD dD : delay on downlink

Calculation of RTT - Delay on Downlink dD = tD + queuing delay downlink μD tD BD dD : delay on downlink tD queuing delay

Calculation of RTT – Queuing Delay (1/5) Queuing delay consists of Transmission time of ACK packets in the queue. Transmission time of data packets in the queue. μD DDQ: number of data packets in this queue AUQ: number of ACK packets in this queue

Calculation of RTT – Queuing Delay (2/5) There are total wndD packets (ACK+data) in the path. Data packets on downlink (DDL) Data packets on downlink queue (DDQ) ACK packets on uplink (ADL) ACK packets on uplink queue (ADQ) ADQ ADL Node A Node B μU WU μD WD DDL DDQ

Calculation of RTT – Queuing Delay (3/5) DDL: number of data packets on downlink Use bandwidth-delay product Let λD as download throughput λD/D data packets per second tD

Calculation of RTT – Queuing Delay (4/5) ADL + ADQ = number of ACK packets for download traffic For the node B, uplink is seen as a queue-less link with delay dU Use bandwidth-delay product again λD/D ACK packets per second dD

Calculation of RTT – Queuing Delay (5/5) ADQ ADL Node A Node B μU WU μD WD DDL DDQ

Calculation of RTT

Calculation of Throughput Non-zero Delay of ACK Number of ACK packets in queue (from opposite direction)

Factors That Effects The Throughput Delay of ACK in reverse link Number of ACK packets from opposite direction in queue in forward link We should minimize these two values!

Solution Mechanism

Basic Idea Minimize delay of ACK packets. Give high priority to ACK packets. (ACK packets are processed prior to data packets) Minimize number of ACK packets in queue. Drop ACK packets more than data packets. This does not affect to the performance since ACK is cumulative.

Solution Mechanism (1/2) Minimize delay of ACK packets Give high priority to ACK packets (ACK packets are processed prior to data packets)  ACK-separation queuing mechanism Output queue for data packets (100 packets) low data Priority- based Packet Scheduler Packet Classifier ACK high Output queue for ACK packets (100 packets)

Solution Mechanism (2/2) Minimize number of ACK packets in queue Drop ACK packets more than data packets. This does not affect to the performance since ACK is cumulative. Use modified RED queue (Random Early Detection)

time-averaged queue size RED Queue S. Floyd and V. Jacobson, “Random early detection gateways for TCP congestion avoidance,” IEEE/ACM Transactions on Networking vol. 1, no. 4, pp. 397-413, August 1993. When queue is almost full: drop many packets When queue is almost empty: don’t drop packets time-averaged queue size incoming packet queue S drop probability drop probability drop S

Modified RED Queue for Our Problem Give high drop probability (Pa) to ACK packets Give low drop probability (Pd) to data packets Sa = time-averaged queue size of ACK queue Sd = time-averaged queue size of data queue Pa Pd 1 Sd

Future Work Devise better drop probability equations. Summarize related work. Verify the proposed solution using Simulator (NS-2) Modification of NS-2 is required. It is a very time-consuming job.

Thank You!!!