User:Derianto/cs244 scribe 3 4a

(Paper title and reference)

(scribed by Derianto Kusuma)

Paper Summary
This paper proposes to improve TCP throughput over satellite link by mostly eliminating loss events due to buffer overflow in the router connected to the satellite link. This is done by delaying (shaping) the ACKs traveling through the node in which the forward connection is congested. The delayed ACKs are meant to slow down the sender's transmission rate, which will keep the router buffer from being overflowed, thus effectively eliminating dropping packets. The basic idea is that forward buffer requirement is can be greatly reduced at the cost of small increase in backward buffer.

This paper calls its mechanism "Fast TCP". Three main features of Fast TCP are congestion detection based on queue length monitoring in the router, ACK identification involving separation of piggybacked ACK from its data packet, and delaying ACK using separate buffer in the backward direction to separate ACKs from backward-direction data packets.

Some challenges that the Fast TCP implementation faces are asymmetric routes between a data packet and its ACK (data packet and its ACK not going through the same router), disturbing estimated RTT in the sender, and controlling ACK delay on multiple TCP connections.

Fast ACK implementation was simulated and tested on the internet, using a very specific network topology (linear topology with two earth-based end-hosts and one satellite node with some other earth-based routers). Fast TCP consistently yields 20-30% more throughput compared to standard TCP implementation (TCP implementation not specified). Furthermore, Fast TCP also yields less jitter (smoother transmission) since loss events are greatly reduced, thus minimizing backoff to slow start and multiplicative decrease.

Class Discussion
Why delaying ACKs instead of delaying data packets?

Data packets take much more buffer space than ACKs (1500 bytes to 40 bytes). Delaying ACKs as a substitute of delaying data packets saves a much buffer.

How likely is asymmetric route between the data packets and their ACKs (how likely is it that data packets and their ACKs do not go through the same node)?

It is more likely in backbone network with complex transit / peering arrangement. However, backbone network usually has high capacity and the utilization is fairly low (~3%) except in the border (gateway) routers, thus congestion is usually not a big concern.

How to ensure fairness in delaying ACKs with multiple flows through a router?

We can introduce states per flow to limit the throughput of one flow to not exceed its fair share. It can include keeping track of the number of forward-direction data packets of each flow.

In general, routers do not keep track of flow because there can be numerous number of flows going through a router (in the order of 100,000 or more).

Is the mechanism of delaying ACKs used somewhere else?

Yes. It is pretty common for routers to drop ACKs as a means of traffic shaping. Stanford might be doing it to.

Personal Comments

 * I would like to see the idea of delaying ACKs implemented in settings other than satellite communication. Will we see the same throughput improvement in the general case, in networks with bursty traffic condition, or in some other settings?


 * For Fast TCP, I would like to see an analytical model that tries to study TCP throughput as a function of buffer size in the router and buffer size threshold for delaying ACK. The paper does its experiments only with a fixed buffer size threshold.

Sandbox
This page is for experiment purpose only. All text up to this Sandbox is serious -- will be used for scribed notes for CS 244 at Stanford.

Confused? See Wiki markup example and cheatsheet

Wiki markup
indent
 * indent
 * indent
 * indent

italic bold bold and italic


 * bullet
 * bullet
 * bullet
 * sub bullet
 * sub bullet
 * bullet


 * 1) numbered
 * 2) numbered
 * 3) numbered
 * 4) sub numbered
 * 5) sub numbered
 * 6) numbered

LaTeX
$$\pi x_{i}^{2}$$

$$\sum_{i = 0}^{i = j} \frac{1}{{(n + 1)}^{2}}$$

To force a math text to be displaymath, use  in the end before.

HTML
red blue

This is a sentence followed by a  tag

so it changes line.

Trash
Given:
 * $$r$$
 * $$p$$
 * $$b$$

Solve for:
 * $$B$$

Model equations:
 * $$E[\alpha] = \frac{1}{p} \!$$
 * $$E[A] = (E[X] + 1) E[r] \!$$
 * $$E[W] = \frac{2}{b} E[X] \!$$
 * $$E[Y] = E[\alpha] + E[W] - 1 \!$$
 * $$E[\beta] = E[W] / 2 \!$$
 * $$B = \frac{E[Y]}{E[A]} \!$$
 * $$B = \frac{E[Y]}{E[A]} \!$$
 * $$B = \frac{E[Y]}{E[A]} \!$$
 * $$B = \frac{E[Y]}{E[A]} \!$$
 * $$B = \frac{E[Y]}{E[A]} \!$$
 * $$B = \frac{E[Y]}{E[A]} \!$$