![]() |
![]() ![]() ![]() |
![]() |
![]() |
|||||
![]() |
||||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
|||||
![]() ![]() ![]() ![]() ![]() |
Web100 Web100 is a program suite for Linux machines that allows in-depth analysis of a TCP connection `on-the-fly'. Through the use of this kernel patch, and referencing some of the supplied APIs which were included with the package, we were able to create intrinsic data sets of each transfer test that were conducted with iperf. Web100 keeps a tab on all TCP variables plus a few of its own which Web100 calls the TCP-Kernel Instruction Set (TCP-KIS). These show the state of the TCP connection with variables such as the cwnd, the ssthresh and RTT variables. More specifically, Web100 includes certain variables which allow the monitoring of the duration, frequency and amount of data that is sent in the sender, receiver and network states.
In order to install Web100, we needed a copy of the source files of the 2.2-14,16 or 18 kernel files\footnote{Available from kernel.org or similar Linux archive source.}. After downloading the kernel source (2.4.16), we untar the file. These files will be placed in ./linux/ by default. Next we have to download the web100 patch files from www.web100.org. Untaring the download should place the files in ./web100. We now need to apply the patch onto the kernel sources. 'cd' into the ./linux directory and type: patch -p3 [path-to-web100]/web100-2.4.xx-<date
stamp>.patch This will apply the web100 patch appropriate patch onto your kernel version (xx). It is then necessary to configure the kernel settings using the commands, make mrproper Load the boston.config file - this should set up all the configurations required for the kernel install... Please note that some in-depth knowledge of your computer system(s) is required to build a kernel for it. However, the most important aspects of the configuration are listed below. In order to make web100 work, we must set the following options, Code maturity level options ---> It is important to add that certain network cards may not be supported on the version of the 2.2 kernel that you select. As such, it may be necessary to contact your network card vendor to obtain compatible drivers. In our case, we had to download and install drivers for our 3Com 3x09x card. Now we have to make dependencies for the kernel with the command: make dep Then the modules for the kernel to use (sound cards, ethernet cards etc)... make modules Now we can compile the kernel image by using the command, make bzImage This will create a file called bzImage which should be copied to your /boot directory and linked with either lilo or grub (depending on your installation). As this is quite a dangerous operation, we need to become root first. In this case, the file bzImage should be in ./arch/i386/boot/bzImage. So we need to copy the file over to the /boot directory. cp arch/i386/boot/bzImage /bootvmlinuz-2.4.16web100smp We also need to install the modules that we compiled earlier. This is done through the command: make modules_install Now configure grub (redhat 7.2) to use this boot image by editing /etc/grub/menu.lst emacs /etc/grub/menu.lst ... Once this is all set up, it should be possible to reboot with the web100 kernel you have just produced!\footnote{Or maybe not like in our case! - no one said it was going to be easy! Some fiddling around with the options may be required.}
readvars - a program
that outputs user definable variables from the web100 TCP-KIS to stdout.
Click here for a live demostration of the web100 API using an iperf transfer from London.
slac
involvement
Current
Web100 Statement of Work
|
|||||||
![]() |
![]() |
![]() |
||||||
![]() |
![]() |
![]() |
||||||
© 2001-2003, Yee-Ting Li, email: ytl@hep.ucl.ac.uk,
Tel: +44 (0) 20 7679 1376, Fax: +44 (0) 20 7679 7145 Room D14, High Energy Particle Physics, Dept. of Physics & Astronomy, UCL, Gower St, London, WC1E 6BT |
||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |