This is the official distribution site for DRS.
Dynamic Right-Sizing provides automatic tuning of TCP flow control windows to support high bandwidth over high-latency (WAN) links. It improves TCP throughput by orders of magnitude over high delay-bandwidth links. It also keeps windows small for low-bandwidth and low-latency connections so they don't consume unnecessary amounts of memory.
There are two versions of DRS. The first is implemented in the Linux kernel and the second is implemented in user-space applications.
The modifications to the Linux kernel are being distributed as a patch file under the GNU General Public License. If the GPL is too restrictive, please contact us.
Once you have the source for correct version of the Linux kernel, download and apply the appropriate DRS patch file for your kernel. (The patch may also be applied against a different version of the kernel, but you may have to patch some of the kernel files by hand.) For a synopsis of how to install the DRS kernel patch and rebuild you kernel, see the DRS Installation Instructions for help. We regret that we are unable to assist with DRS installation questions. However, we would like to know if you find (and fix) a bug or make enhancements so they can be incorporated into future releases.
For some, installing DRS in the kernel can be a little daunting. As an interim solution until vendors install DRS by default, we are also providing DRS in user-space applications.
Unlike the kernel version of DRS, the information necessary to implement DRS is not directly available to user-space applications and hence must be synthesized. As a result, DRS in kernel-space performs better than DRS in user-space. Even so, DRS in user-space provides dramatic performance improvement over traditional applications.
The next disadvantage of DRS in user-space is that each application (or set of related applications) require modification to implement the DRS algorithm. The following applications have been modified to support DRS.
Besides the applications themselves, the maximum buffer space Linux allows will need to be increased so DRS has room to work.
patch -p1 < [path to DRS patch].
Besides installing DRS, you'll want to tune the maximum buffer sizes. (Do not change the minimum and default sizes.) This is done by writing to the /proc file system as root:
echo 6553500 > /proc/sys/net/core/wmem_max echo 6553500 > /proc/sys/net/core/rmem_max echo 4096 16384 6553500 > /proc/sys/net/ipv4/tcp_wmem echo 8192 87380 6553500 > /proc/sys/net/ipv4/tcp_rmem echo 6553500 6653500 6753500 > /proc/sys/net/ipv4/tcp_mem
Operated by the
University of California
for the National Nuclear Security Administration,
of the US Department of Energy.
Copyright © 2001 UC | Disclaimer/Privacy
|NOTICE: Information from this server resides on a computer system funded by the U.S. Department of Energy. Anyone using this system consents to monitoring of this use by system or security personnel. For complete conditions of use see Disclaimer/Privacy.|