UCAR > Communications > Staff Notes Monthly > April 2001 Search

April 2001

Web100: How to have it all

Basil Irwin and Marla Meehl. (Photo by Carlye Calvin.)

Today's Internet has the potential to offer gigabit-per-second bandwidth. But few users get even a small fraction of that unless they have networking wizards hand tuning the network at both ends of the application. To help ordinary users exploit 100% of the available bandwidth, SCD researchers and their partners at Pittsburgh Supercomputing Center (PSC) and the National Center for Supercomputing Applications are embarking on an NSF-funded proect called Web100.

Providing end-to-end performance

The main way data are transferred from one networked computer to another is via the venerable Transmission Control Protocol/Internet Protocol (TCP/IP). IP is implemented in all of the routers and end systems and acts as a relay to move packets of data from one host, through one or more routers, to another host. TCP keeps track of the packets of data to assure that all are delivered reliably and in the right order to the appropriate hosts. Unfortunately, the default TCP configurations used by most end systems may not be appropriate for the available network bandwidth. Furthermore, a message may traverse multiple heterogeneous local- and wide-area networks to reach its destination, so it is difficult for a user to manually optimize TCP for such complex networks.

SCD co-principal investigators Basil Irwin and Marla Meehl, report that a primary goal of Web100 is to develop software that interacts with the operating system and user applications to automatically optimize performance for all TCP transfers.

Tuning up TCP

"Most TCP applications blindly use the default TCP buffer size," Basil explains. "If the TCP buffer is too small to hold enough packets to fill a high-bandwidth, large-latency network pipe, then transmission of packets is forced to prematurely halt until some of the packets in the filled buffer are acknowledged by the receiver as having correctly arrived." When that happens, the full bandwidth of a pipe isn't being used. "While a network administrator can alter the TCP buffer size manually, it's not a trivial task," Basil says.

The Web100 project will seek to develop a mechanism to allow the operating system to change the TCP buffer size dynamically, transparently, and automatically for all TCP sessions. The first step is to give TCP implementations better instrumentation so they can detect undersized buffer conditions and better see where there are bottlenecks in the path, or other TCP bugs.

Once the operating system's TCP implementation has been beefed up with real-time TCP metrics, it will also be possible to gather more statistics about individual TCP sessions. The investigators envision developing an "autotuner" that will monitor session performance and respond with needed adjustments. Autotuning, the ability to automatically tune TCP to simultaneously achieve maximum throughput across all connections for all applications within the resource limits of the host, has already been successfully demonstrated by PSC in the FreeBSD operating system. The tuning process can be quite complicated, so autotuning will be partitioned: the operating system kernel will simply accept certain basic tuning adjustments, while the complex tuning algorithms that determine the adjustments will run in user mode, where network researchers can easily extend, replace, or disable them.

Will fixing TCP buffer sizes end most data-transfer bottlenecks on the Internet? That depends on whether a given bottleneck is caused by incorrect buffer size or some other problem. Other bottlenecks can be caused by TCP packets being dropped by the network or the applications themselves. Conversely, will ubiquitous well-tuned TCP crush the net? If so, then maybe the network capacity needs to be increased as users become able for the first time to effectively and conveniently use large amounts of bandwidth.

Web tools for the desktop

A second Web100 goal is to develop diagnostic and performance- monitoring tools for tracking the status of data transfers. Ideally, at least some of the tools for end users should pass the "newbie"—that is, be simple enough for anyone with little network experience to use and understand. For instance, a simple display that shows bytes per second and lost packets per second should be understandable to most people.

The initial Web100 products will be based on kernel modifications to the Linux operating system to allow TCP autotuning. Linux is widely used at research universities, and its source code is freely available. Since Linux is popular on Intel systems, the Web100 group will be testing their new tools primarily on Intel- based computers.

Alpha release available soon

A pre-alpha Web100 code release was made in November 2000; it is being tested by the Stanford Linear Accelerator Center and the Oak Ridge National Laboratory. A new alpha0 version, released in late March, includes many new instruments, some simple diagnostic tools, some library functions, and a simple autotuning daemon. Additional testers for alpha0 include the Argonne and Lawrence Berkeley National Laboratories, Globus, and Internet2.

The future: Spreading the word

Basil cautions that the goal of universal tuned access may not be reachable soon since the Internet is such an amorphous, distributed network. Individuals and institutions choose and install their own computers and most are not Linux systems. To achieve universal, 100% throughput would require all commercial vendors of operating systems to adopt autotuning. Thus, although the Web100 group will be making its Linux-based codes freely available, experience suggests that convincing vendors to incorporate the code in their systems will take awhile.

Marla says, "We are excited that Web100 will finally help deliver the speed that these networks are capable of." Then, she adds, "Even if everyone doesn't achieve optimal speed, at least it'll help us to diagnose and correct fundamental network problems, such as packet loss and routing problems."

For more information

As the Web100 code matures, it will eventually be downloadable from the site. Web100 is looking for active co-developers. The group plans to set up a special Web site, known as a portal, that will allow its members to contribute to the project and its products.

• Juli Rew (SCD)

On the Web:
Web100 materials

In this issue... Other issues of Staff Notes Monthly

UCAR > Communications > Staff Notes Monthly > April 2001 Search

Edited by Bob Henson, bhenson@ucar.edu
Prepared for the Web by Jacque Marshall
Last revised: Thu Apr 19 15:33:03 MDT 2001