Alumni Project

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.

•  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.

•  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.

•  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.

•  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

back to project page

 


Home  |  ASCR  |  Contact Us  |  DOE disclaimer