Techniques for Improving Performance of Web Access and Asymmetric Networks

This distribution includes BSD/OS 3.0 source code corresponding to various techniques for improving the performance in the context of Web access, and separately, asymmetric networks. These techniques include:
  1. TCP session: Performs integrated congestion control and loss recovery for a set of TCP connections between a pair of hosts. This cuts down packet loss rate, improves the chances of data-driven loss recovery, and on the whole makes the performance of each connection more consistent.
  2. TCP fast start: Re-starts an idle TCP connection using congestion window, RTT, and other TCP state variables cached in the recent past. This improves the effectiveness of techniques such as P-HTTP. However, to guard against performance degradation in case the cached information is stale, packets sent during the fast start phase are assigned a high drop priority and are subject to special loss recovery procedures.
  3. TCP asym: Performs ack congestion control to avoid congesting a bandwidth-constrained ack path, as in common in asymmetric-bandwidth networks (e.g., cable modem networks). Also, the IPTOS_LOWDELAY flag is set for ack-only packets (acks-first scheduling), which is useful in the presence of bidirectional traffic in the asymmetric network.
This distribution includes the following:
  1. allsrc.zip: all .c and .h files from the netinet, net, kern and sys directories. In addition to the three techniques listed above, this includes source code for many other orthogonal optimizations developed by the Daedalus Research Group at UC Berkeley.
  2. A separate distribution for each of the techniques containing only the relevant files. For each, we include links to both the zipped version and the unzipped files.
For questions/comments, please contact: Venkata N. Padmanabhan (padmanab@cs.berkeley.edu)