Presentation is loading. Please wait.

Presentation is loading. Please wait.

Generalizing The Network Performance Interference Problem

Similar presentations


Presentation on theme: "Generalizing The Network Performance Interference Problem"— Presentation transcript:

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

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

3 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, ...

4 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

5 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

6 Background Knowledge

7 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) (λ ≤μ)

8 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

9 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.

10 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

11 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)

12 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.

13 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

14 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.

15 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

16 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.

17 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.

18 Network Model

19 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

20 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)

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

22 Analysis of The Model

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

24 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

25 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

26 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

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

28 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

29 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

30 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

31 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

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

33 Calculation of RTT

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

35 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!

36 Solution Mechanism

37 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.

38 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)

39 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)

40 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 , 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

41 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

42 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.

43 Thank You!!!


Download ppt "Generalizing The Network Performance Interference Problem"

Similar presentations


Ads by Google