**Bandwidth Estimation and Its Applications**

## Guojun Jin, Lawrence Berkeley National Lab

*Summary*

***The goal of this project is to build a comprehensive tool that
measures a number of useful network characteristics, including available
bandwidth, achievable throughput, maximum burst size, system capability,
bottleneck, and so on. To achieve this, we create a network model and
then develop new algorithms based on this model to measure available
bandwidth accurately in a non-intrusive way. These algorithms are not
only suitable for measuring network bandwidth, but also may be used in
the creation of a new network transmission protocol that can avoid
packet loss. This protocol will also utilize all the available bandwidth
in order to maximize the network applications throughput on high-speed
networks.***

1.  **Introduction**

Bandwidth is an important network characteristic, but there are often
factors that can adversely affect network performance that are not
network characteristics, but characteristics of the end hosts, such as
memory bandwidth, I/O (input/output) bandwidth, the operating systems
and applications (software). Because network bandwidth has doubled every
year, network bandwidth is no longer the bottleneck that hinders the
network applications\' performance, especially over high bandwidth delay
product paths. A key issue in maximizing the network performance is to
have a set of information that can be used to develop new network
transmission protocol to innovate or to replace the transmission control
protocol (TCP). Also we need to provide information to help application
developers understand what could be the bottleneck in end host systems
that affect throughput, so the designer will make their software avoid
the bottleneck in order to increase throughput.

2.  **Methodology**

Based on user experience on current network measurement tools, providing
results of just the network bandwidth is not enough information for
users and applications to improve their throughput. This is because the
available bandwidth and achievable throughput are not directly related,
especially on high-speed networks. Several issues get mixed together
that confuse bandwidth and throughput. That is, a high bandwidth network
is an essential condition, but not the only condition for high
throughput. Therefore, besides giving current available network
bandwidth, our network measurement tool needs to tell how to maximize
throughput to utilize this available bandwidth. If the current system
configuration cannot achieve this goal, the tool needs to explain why
and how to improve it.

3.  **Accomplishments**

This project has developed algorithms -- FAC^2^ (Feedback Adaptive
Control and Feedback Asymptotic Convergence) to measure network
bandwidth in timely manner. Based on these algorithms, a tool, called
*netest*, has been developed to measure path available bandwidth,
end-to-end achievable throughput, and provide information on the
bottleneck that restricts the network throughput. The accuracy of
available bandwidth measurement is above 97.5%, and can be as high as
99.75%. Results were generated from a set of tests (50 to 100 tests)
during 300 seconds for each utilization point, and test deviations and
duration. Detailed information and emulation results can be found at

<http://dsd.lbl.gov/NCS/netest>

This tool can be deployed and operated in a production environment. This
means that the installation and operation is simple, and the tool is
available to commonly used hardware and UNIX operating systems. That is,
it can be run on generic hardware without specific modification. It does
not require any network expertise, and its result is easy to interpret.
Users can just download it and run.

Besides measuring bandwidths, netest also can measure entire end-to-end
path characteristics including end hosts. It can tell where is the
bottleneck that limits the network application throughput. For example,
following message may be reported:

Kernel may need patch

Please rerun test with -FullD or -win 524288

Peak throughput is around 271.345 Mb/s limited by local kernel

or

Peak throughput is around 266.796 Mb/s limited by local memory

This allows users to know where the problem is and what to fix in order
to improve the performance.

4.  **Concluding Remarks**

A specific feature of FAC^2^ is that FAC^2^ does not necessarily need to
inject measurement traffic to measure bandwidth when it is embedded into
applications or network protocols. Under these scenarios, the algorithms
use traffic generated from applications to measure network bandwidth.
That is, measurement is completely non-intrusive. This is a very
important feature for network transmission protocol design. It ensures
that network transmission protocol can obtain timely bandwidth
information to adjust its pacing without causing packet loss. Since this
project was funded for only 19 months (transferred from another
project), we had only a very short period of time to experiment with
FAC^2^ in a new network transmission protocol. However, we have very
promising results that a FAC^2^ based network transmission protocol can
utilize about 70% of bandwidth on high-bandwidth delay product network
path, where current TCP implementation can only achieve 1\~7%
utilization on the same path. For example, from LBNL to PSC (83.7 ms
RTT), standard TCP only achieved 2.9 Mb/s whereas FAC^2^-based
transmission protocol achieved 328 Mb/s. Another example is between LBNL
and BNL (75 ms RTT). Standard TCP achieved 2.7 Mb/s. The FAC^2^-based
transmission protocol achieved 377 Mb/s on the same path. Once
FAC^2^-based transmission protocol is deployed in standard network
stacks, all scientific applications can benefit from it.

**For further information on this subject contact:**

Guojun Jin

Distributed System Department

Lawrence Berkeley National Laboratory

Berkeley, CA 94720

g_jin@lbl.gov