Richard HJ's Web Site

Software and Tools


UDPmon is a network testing tool that uses UDP packets to make the following measurements between end hosts:

  • Latency as a function of packet size - using Request-Response UDP packets.
  • Histograms of the UDP Request-Response Latency.
  • Estimation of the "on-the-wire" Bandwidth, packet loss, and out of order packets as a function of packet size and packet spacing using UDP packets.
  • Histograms (and analysis) of the packet jitter between the two nodes.
  • Measurement of arrival times of received packets
  • Estimation of the relative 1-way delay between the two nodes on a packet by packet basis.
  • Measurement of the user mode and kernel mode load on all CPUs for both sending and receiving hosts.
  • Measurement of the number of interrupts given by the NICs
  • Mesasurment of the number of packets seen by the interfaces and UDP/IP stack

The code, the write up and example command and Excel files for analysis and plotting are available.

tcpmon uses Request-Response TCP messages and can make the following measurements of the round trip times between end hosts:

  • The Round trip latency as a function of response size .
  • Histograms of the TCP Request-Response latency
  • A time series of the round trip latency for each Request-Response.

dccpmon is a network testing tool that uses DCCP frames to make the following measurements between end hosts:

 

ethmon uses raw Ethernet frames to test the network performace between two end systems - similar functionality to UDPmon.

tcpdelay measures the arrival times of a series of message blocks sent as a continuous TCP/IP stream between two end hosts. By comparing the calculated time of arrival with the measured arrival time, the 1-way delay of each message block is estimated. The aim is to examine what happens to the arrival times when there is packet loss. (Experimental)

The disk_test programs read_file and write_file read or write blocks of data between memory and the RAID or disk sub-system, they measure:

  • Data transfer rate between memory and the disk sub-system.
  • Histograms of the individual read() or write() Latency.
  • Measurement of the user mode and kernel mode load on all CPUs.
  • Measurement of the number of interrupts

 

read_sstor and write_sstor read or write blocks of data between memory and the VLBI Mark5 disk sub-system, they measure:

  • Data transfer rate between memory and the disk sub-system.
  • Histograms of the individual read() or write() Latency.
  • Measurement of the user mode and kernel mode load on all CPUs.
  • Measurement of the number of interrupts

vlbi_send and vlbi_recv programs use UDP packets to send VLBI data between pairs of end systems. These programs are controlled by the vlbi_control program and can make time-series measurements:

  • Measurement of the Bandwidth used by the VLBI data.
  • Estimation of the "on-the-wire" Bandwidth.
  • Measurement of the packet loss, and out of order packets.
  • Estimation of the relative 1-way delay between the two nodes.

Memory Bandwidth test program - quite dependant on compiler sophistication! Uses the CPU to read or write areas of memory. The size and number of reads or writes can be set.

 

 

Enjoy, but the usual disclaimers apply!

Feedback is welcome!

©2003, 2004, 2005 Richard Hughes-Jones (R.Hughes-Jones@manchester.ac.uk)
3 Apr 2005.

Copyright notice | Disclaimer | Privacy Policy |