Title: Experiment And Analysis of Dynamic TCP Acknowledgement
1Experiment And Analysis ofDynamic TCP
Acknowledgement
- Daeseob Lim
- Sam Lai
- Wing-Ho Gordon Wong
2What is the main problem of dynamic TCP
acknowledgment?
- To ACK, or not to ACK that is the
question. - When a packet arrives to the receiver,
there are two choices - ACK immediately.
- Wait and ACK later, such that you may have the
chance to acknowledge multiple packets with just
one ACK.
3Whats the difference?
- ACK immediately
- low latency time elapses between the packet
arrival and the ACK for this packet is send. - No. of ACK packet increase.
- Wait and ACK later
- High latency
- Small amount of ACK packet generated
4What consider to be the best solution?
- Low no. of acknowledge
- Low aggregate acknowledgement latency for all
packets
5Aggregate latency example
Packet A Arrive
Packet B Arrive
Send single ACK for both A and B
10ms
10ms
10ms
ACK latency for B is 10ms
ACK latency for A is 20ms
- The total ACK latency is 30ms in this case.
6Naïve Solutions
- Send ACK immediately for each packet?
- Low or even no ACK latency, but this will
generate too much ACK packets - Send one ACK for all the end of all
transmits? - Only one ACK is needed
- However, high latency
- Dont know which one is the last packet
- What if the link is unreliable?
7An Online Randomized Algorithm
- Dynamic TCP acknowledgement and other
stories about e/(e-1) - By Anna R. Kalin, Claire Kenyon, Dana
Randall - Able to achieve a competitive ratio of 1.58
compare to the optimal solution - Competitive ratio performance of the
algorithm / performance of the optimal
solution
8Detail about this algorithm
- P(t, t) be the set of packets arrive between
time t and t - There exists z such that z is between 0 and 1
inclusively - Distributed function to produced z. (randomized
factor) - Suppose that ith acknowledgement happens at
time i and the next one happen at time ti1 - (cont)
9Detail about the algorithm
- By the algorithm, we should locate Ti1 such
that ti lt Ti1 lt ti1 and
P(ti, Ti1)(Ti1 - ti1) z - If we do that, z unit of latency cost will be
saved by sending a single additional ACK at Ti1.
10Before applying the algorithm
11After the algorithm
12Why this works?
- The rectangle is guarantee to have area of at
least 1 - By sending 1 additional ACK, the
acknowledgement cost increase by 1, but the
latency cost decreases by at least 1. - The new sequence is at least as good as the
original one. - More detail proof in the paper.
- Dynamic TCP acknowledgement and other stories
about e/(e-1)
13Contribution of this research
- Implement a randomized online algorithm about
delayed ACK into Linux kernel - Compare real performance of the randomized
algorithm and the current TCP implementation - Observe its superiority in terms of cost
- Analyze its inability in terms of throughput
14ACK for data packet
15Interval of Delayed-ACK Timer
- Determined by some factors
- Minimum/maximum interval by kernel constants
- Estimated RTT
- Restrictions by RFC 2581
- The maximum is 500ms.
- Acknowledge at least every second segment.
- Acknowledge out-of-order data immediately.
- In most cases, 40ms ( 200ms)
16Implementation of TCP on Linux
17Hacking protocol stack
18Generating random number
- Generate random numbers in advance, store them
into kernel codes, and select a number
sequentially
19Test Environment
NetworkEmulator(ns2)
ModifiedKernelNetworkSniffer(Ethereal)
Router
Client
Server
20Competitive Ratio Experiment
- The server sends out 100 packets to the client at
random time spacing at most 70ms apart. - The competitive ratio is calculated for each cost
ratio starting from 0.05 to 0.95 stepping by
0.05, then 0.900 to 0.995 stepping by 0.005. - Run on simulated networks having bandwidth of
100Mbps and RTT of 2ms and 100ms for both
versions of TCP.
21Overall Competitive Ratioon 2ms Network
22Overall Competitive Ratioon 100ms Network
23Blowup Competitive Ratioon 2ms Network
24Blowup Competitive Ratioon 100ms Network
25Analysis
- For new TCP, overall the competitive ratio is
within 1.58 except for borderline cases. - Small cost ratio
- Expensive latency cost
- Overhead from network sniffer
- Overhead from new TCP
- Large cost ratio
- Expensive acknowledgement cost
- Original TCP acknowledgements
- Possibility of additional acknowledgement
26Analysis
- For original TCP, the competitive ratio starts
out extremely high, then converges rapidly with
the new TCP. Eventually, it starts to increase,
but at a slower rate. - Favors delay acknowledgement even when latency
cost is high. - Always acknowledge within 200ms or every 2 packet
full of data even when acknowledgement cost is
high.
27Streaming Data Experiment
- The client sends out a request to the server
asking for data of a certain size to be sent. - The server replies with the data.
- The client measures the total duration to
determine throughput. - Run on simulated networks having bandwidth of
100Mbps and RTT of 2ms and 100ms for both
versions of TCP.
28Streaming Data Result
29Analysis
- The new TCP can not outperform the original TCP
in terms of throughput. - Intuitively, you can imagine, if the incoming
traffic is regular and data keeps pouring in, to
optimize throughput, youd want to delay ack as
long as possible. - The new TCP can not do delay ack longer than the
original TCP. - Random scale down of the threshold for sending an
additional acknowledgement. - Our implementation induces little overhead.
30Conclusion
- Prove the randomized algorithm can achieve the
competitive ratio of 1.58 in most cases. - Our implementation achieves better competitive
ratio comparing to the original TCP in most
cases. - Low overhead implementation.
- Can not improve network performance in terms of
throughput.