Richard HJ's Web Site

udpmon Home Page


A Tool for Testing Hardware & Network Behaviour

This Page contains information about udpmon which can be used for measuring the performance of 100 Mbit, Gigabit and 10 Gigabit switches, as well as network connections involving LANs, MANs and WANs. There are also links to results of tests made on Gigabit switches for the ATLAS experiment, and some tests made using the LANs, MANs and WANs of NetNorthWest, Manchester Campus and SuperJANET.

There is a simple write-up that describes the programs and the command options. The latest version of the code is available as a tar file and requires the libhj package which is also available as a tar file. The udpmon file also contains some sample command files showing how udpmon may be run; these command scripts produce a set of text files containing the results. There is an Excel spreadsheet file that will accept these files and plot them for you! The spreadsheet contains a macro Load_net_file that reads a text data file into a worksheet and renames the worksheet; and there is also a macro Load_all that reads all the output files from a given test into the respective sheets in the work book. the macros may be found here. The latest versions of the write-up, exel files, udpmon and libhj files may be found in the table below.

The programs use the standard socket interface and do not require root access. They are designed to measure end-to-end performance of the network and its components by using UDP packets. The code has mainly been used on Linux, although some programs have been ported to Suns. To get fine time bins for individual network measurements, the cycle counter on the Pentium chip has been used. The programs are used in pairs to make the following measurements:

Installation of udpmon

From udpmon version 1.0.0 automake was used and the distribution was split into two tarballs: the udpmon tool and the supporting library libhj.

From udpmon version 1.3.3 the udpmon and udpmon_extra tools have been merged into the udpmon tarball.

The udpmon-a.b.c tarball creates directory udpmon-a.b.c and libhj-l.m.n creates directory libhj-l.m.n. For installation and compilation in your home directory having downloaded the corresponding UDPmon and library files start by cd to the library directory then:

./configure --prefix=$HOME
make install

$HOME/include and $HOME/lib are created. Then cd to the directory containing udpmon and do:

./configure --prefix=$HOME --with-hj-location=$HOME
make install

$HOME/sbin is created with the udpmon programs.

Versions of udpmon

Version

Download
udpmon

Download
libhj library

Write-up

Excel plots example

Notes

udpmon-1.4.4 tar file v 1.4.4 libhj-4.5.6    

Use new names of network interfaces - max 16

Printout updated, interrupts removed

Local UDP port may be specified.

udpmon-1.4.3 tar file v 1.4.3 libhj-4.5.2    

Improved support for 64 core systems.
Enabled cmd_*.pl files to use -a set affinity.

udpmon-1.4.1 tar file v 1.4.1 libhj-4.5.0  

Excel spreadsheet lite

Excel spreadsheet full

Excel spreadsheet time series

Excel spreadsheet loss distribution

 
udpmon-1.4.0 tar file v 1.4.0 libhj-4.5.0  

Excel spreadsheet lite

Excel spreadsheet full

Excel spreadsheet time series

Improved Autotools and spec for rpm generation.

Enabled cmd_*.pl files to use system installed or home directory versions of udpmon programs.

udpmon-1.3.3 tar file v 1.3.3 libhj-4.4.0   Excel spreadsheet lite

udpmon and udpmon_extra tools merged into udpmon.

-r for rate added; simple lite output without the -x option

Support for ARMv6 as in Raspberry Pi

udpmon-1.2.6 tar file v 1.2.6 libhj-4.3.2

.doc format

 

.pdf format

   
udpmon-1.2.5 tar file v 1.2.5 libhj-4.2.6   Excel spreadsheet Time calibration does not use wait to avoid power-saving issues
           

udpmon-1.1.2

tar file v 1.1.2

libhj-4.1.3

 

Excel spreadsheet  

udpmon-1.1.1

tar file v 1.1.1 libhj-4.0.4    

-x for if/snmp stats

udpmon-1.0.2

tar file v 1.0.2 libhj-4.0.2   Excel spreadsheet  

udpmon-1.0.1

tar file v 1.0.1 libhj-4.0.1      

udpmon-1.0.0

tar file v 1.0.0

libhj-4.0.0

 

 

 

v 3.2-6

the tar file   pdf format Excel spreadsheet  

v 3.2

the tar file     Excel spreadsheet  

v 3.1D-2

the tar file     Excel spreadsheet  

v 3.1

the tar file        

v 2.5

the tar file   pdf format    

Very early

the tar file   pdf format    

 

Installation of Older Versions of udpmon

Prior to version 1.0.0 the tar file contained both tool and library and when unpacked, created two directories:
udpmon_vxx containing the test programs and "src_vxx" containing library functions. xx is the version number of the kit.

Installation and Versions of udpmon_extra

Since version 1.3.2 udpmon_extra tools have been merged into the udpmon tarball.

udpmon_extra requires two tarballs: the udpmon_extra tool and the supporting library libhj. The udpmon_extra-a.b.c tarball creates directory udpmon_extra-a.b.c; cd to this directory containing udpmon and do:

./configure --prefix=$HOME --with-hj-location=$HOME
make install

$HOME/sbin is created with the udpmon_extra programs.

Version

Download
udpmon

Download
libhj library

Write-up

Excel plots example

Notes

udpmon_extra-1.3.2 tar file v 1.3.2 libhj-4.3.2     CPU Affinity support
udpmon_extra-1.3.2.VLBI tar file v 1.3.2.VLBI libhj-4.3.2     v-1.3.2 for use with iBoB
udpmon_extra-1.3.1 tar file v 1.3.1 libhj-4.3.2   Excel time-series

64 bit packet num

IPv4 & IPv6

udpmon_extra-1.2.5

tar file v 1.2.5 libhj-4.2.6   Excel spreadsheet  
           

 

Enjoy, but the usual disclaimers apply!

Feedback and bug-reports are welcome and I will do my best to fix things!

©2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Richard Hughes-Jones (R.Hughes-Jones@manchester.ac.uk)
22 Jan 2011.

Copyright notice | Disclaimer | Privacy Policy |